/* Casave Help Center v9 — CSS limpio, sin conflictos */
/* La fuente se carga como <link> con preconnect desde class-shortcode.php
   (el @import creaba una cadena render-blocking de 3 saltos) */

/* ── Variables ───────────────────────────────────────────────────── */
.cvh {
  --brand:       #feec07;
  --brand-dk:    #e8ce00;
  --brand-lt:    #fef7c0;
  --bg:          #f0f4f8;
  --surface:     #ffffff;
  --surface-2:   #fafafa;
  --surface-3:   #f5f5f5;
  --surface-inv: #141414;
  --border:      #e5e5e5;
  --border-lt:   #eeeeee;
  --text:        #141414;
  --text-inv:    #ffffff;
  --muted:       #555555;
  --subtle:      #6b6b6b; /* 4.6:1 sobre blanco (el #888 fallaba WCAG AA) */
  --ai-grad:     linear-gradient(270deg, #feec07, #ffd45e, #e8ce00, #fff3a0, #feec07);
  --font:        'Inter', -apple-system, sans-serif;
  --ease:        cubic-bezier(.16,1,.3,1);
  --hh:          64px;
  color-scheme:  light dark;
}

/* ── Modo oscuro automático (sistema) ───────────────────────── */
@media (prefers-color-scheme: dark) {
  .cvh {
    --brand:       #feec07;
    --brand-dk:    #e8ce00;
    --brand-lt:    #3a2e08;
    --bg:          #0f1117;
    --surface:     #1a1d27;
    --surface-2:   #20232f;
    --surface-3:   #252837;
    --surface-inv: #e8eaf0;
    --border:      #2e3144;
    --border-lt:   #252837;
    --text:        #e8eaf0;
    --text-inv:    #0f1117;
    --muted:       #9499b0;
    --subtle:      #8a90a8; /* 4.5:1 sobre el fondo oscuro (el #5c617a daba 2.8:1) */
  }
}
.cvh *,.cvh *::before,.cvh *::after { box-sizing: border-box; }
.cvh {
  font-family: var(--font);
  color: var(--text);
  /* Gradient fondo Netflix-style */
  background: linear-gradient(180deg, #e8edf5 0%, #f0f4f8 30%, #f5f5f5 100%);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* ══ BANNER ══════════════════════════════════════════════════════════ */
.cvh-banner { width: 100%; font-size: 13px; font-weight: 500; }
.cvh-banner__inner { max-width: 1080px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 10px; }
.cvh-banner--info    { background: #dbeafe; color: #1e40af; border-bottom: 1px solid #bfdbfe; }
.cvh-banner--warning { background: #fef3c7; color: #92400e; border-bottom: 1px solid #fde68a; }
.cvh-banner--success { background: #d1fae5; color: #065f46; border-bottom: 1px solid #a7f3d0; }
.cvh-banner--promo   { background: linear-gradient(90deg,#feec07,#e8ce00,#fff3a0); color: #fff; }
.cvh-banner__text    { flex: 1; }
.cvh-banner__link    { font-weight: 700; text-decoration: underline; color: inherit; margin-left: 8px; }
.cvh-banner__close   { background: none; border: none; cursor: pointer; color: inherit; opacity: .7; padding: 0; display: flex; align-items: center; }
.cvh-banner__close:hover { opacity: 1; }

/* ══ HEADER ══════════════════════════════════════════════════════════ */
.cvh-header { background: var(--surface); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 500; transition: box-shadow .2s; }
.cvh-header.is-scrolled { box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.cvh-header__inner { max-width: 1080px; margin: 0 auto; padding: 0 24px; height: var(--hh); display: flex; align-items: center; gap: 16px; }
.cvh-header__brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.cvh-header__brand-link { display: flex; align-items: center; text-decoration: none; }
.cvh-logo-img { height: 30px; width: auto; display: block; object-fit: contain; border-radius: 8px; }
.cvh-logo-svg { height: 22px; width: auto; display: block; }
.cvh-header__sep { font-size: 18px; font-weight: 200; color: #ccc; user-select: none; }
.cvh-header__label { font-size: 14px; font-weight: 500; color: var(--muted); white-space: nowrap; }

/* Buscador sticky en header */
/* visibility:hidden además de opacity: con aria-hidden el input seguía en el
   orden de tabulación (el foco caía en un campo invisible — WCAG) */
.cvh-header__sw { flex: 1; max-width: 420px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-4px); transition: opacity .2s, transform .2s, visibility .2s; }
.cvh-header__sw.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.cvh-header__sgrad { background: var(--ai-grad); background-size: 300% 300%; animation: cvh-grad 5s ease infinite; padding: 1.5px; border-radius: 99px; }
.cvh-header__sbox { background: var(--surface); border-radius: 99px; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 14px; }
.cvh-header__sbox svg { color: var(--subtle); flex-shrink: 0; }
.cvh-header__sinput { flex: 1; border: none; outline: none; background: transparent; font-family: var(--font); font-size: 16px; color: var(--text); -webkit-appearance: none; }
.cvh-header__sinput::placeholder { color: var(--subtle); }

/* Nav */
.cvh-header__nav { display: flex; align-items: center; gap: 10px; margin-left: auto; flex-shrink: 0; }
.cvh-header__nav-link { font-size: 13.5px; font-weight: 500; color: var(--text); text-decoration: none; padding: 7px 16px; border: 1.5px solid var(--border); border-radius: 99px; white-space: nowrap; transition: color .15s, border-color .15s; }
.cvh-header__nav-link:hover { color: var(--brand); border-color: var(--brand); }
.cvh-header__login {
  display: inline-flex; align-items: center; padding: 8px 20px;
  line-height: 1;
  background: var(--brand); color: #16140F !important; -webkit-text-fill-color: #16140F !important;
  font-family: var(--font); font-size: 13.5px; font-weight: 600;
  text-decoration: none !important; border-radius: 99px; border: none;
  cursor: pointer; transition: background .15s;
}
.cvh-header__login:hover,.cvh-header__login:focus { background: var(--brand-dk); color: #fff !important; }
@media(max-width:640px) { .cvh-header__sw,.cvh-header__nav-link { display: none; } }

/* ══ HERO ════════════════════════════════════════════════════════════ */
.cvh-hero {
  background: linear-gradient(180deg, #eef2f8 0%, #f7f9fb 60%, transparent 100%);
  min-height: calc(100vh - var(--hh));
  display: flex; flex-direction: column; align-items: center;
  border-bottom: 1px solid var(--border);
  padding: 0 24px;
}
.cvh-hero__center {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  width: 100%; max-width: 640px;
  padding: 60px 0 24px; text-align: center;
}
.cvh-hero__title { font-size: clamp(2rem,5vw,3.2rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.1; color: var(--text); margin: 0 0 28px; }

/* ── Buscador ──────────────────────────────────────────────────────── */
.cvh-search-wrap { width: 100%; }

/* Outer gradient ring — animado como antes */
.cvh-search-outer {
  background: var(--ai-grad);
  background-size: 400% 400%;
  animation: cvh-grad 5s ease infinite;
  padding: 2.5px;
  border-radius: 99px;
  box-shadow: 0 6px 28px rgba(19,150,126,.2), 0 0 40px rgba(0,151,255,.08);
}

.cvh-search-frame {
  display: flex; align-items: center;
  background: var(--surface);
  border-radius: 99px;
  height: 56px;
  padding: 0 6px 0 20px;
}

.cvh-search-ico { color: var(--subtle); flex-shrink: 0; margin-right: 4px; }

.cvh-search-input {
  flex: 1; border: none; outline: none; background: transparent;
  font-family: var(--font); font-size: 16px; color: var(--text);
  min-width: 0; -webkit-appearance: none;
}
.cvh-search-input::placeholder { color: var(--subtle); }

/* Spinner */
.cvh-spinner {
  width: 16px; height: 16px; flex-shrink: 0;
  border: 2px solid #ddd; border-top-color: var(--brand);
  border-radius: 50%; animation: cvh-spin .7s linear infinite; display: none;
}
.cvh-spinner.is-active { display: block; }

/* Botón lupa — negro, círculo, bien dimensionado */
.cvh-search-btn {
  width: 44px; height: 44px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border: none; border-radius: 50%; cursor: pointer;
  background: var(--surface-inv);
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
  transition: transform .15s, background .15s;
}
.cvh-search-btn:hover { background: #333; transform: scale(1.06); }
.cvh-search-btn:active { transform: scale(0.95); }
.cvh-search-btn svg { stroke: #fff; display: block; }

@media (max-width: 600px) {
  .cvh-search-outer { padding: 2px; }
  .cvh-search-frame { height: 50px; padding: 0 5px 0 16px; }
  .cvh-search-btn { width: 38px; height: 38px; }
  .cvh-search-btn svg { width: 15px; height: 15px; }
}

@keyframes cvh-btn-grad {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes cvh-grad { 0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%} }
@keyframes cvh-spin { to { transform: rotate(360deg); } }

/* TEMAS POPULARES — siempre visibles bajo el buscador */
.cvh-hero__popular {
  margin: 22px 0 0;
  font-size: 14px;
  color: var(--muted);
  line-height: 2;
  text-align: center;
}
.cvh-hero__popular strong { color: var(--text); font-weight: 600; }
.cvh-pop-link { color: var(--brand); text-decoration: underline; cursor: pointer; transition: color .15s; }
.cvh-pop-link:hover { color: var(--brand-dk); }

/* Explorar temas al pie del hero */
.cvh-hero__foot { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 20px 0 28px; font-size: 13px; font-weight: 700; color: var(--text); }
.cvh-hero__foot-arrow { color: var(--muted); animation: cvh-bounce 1.6s ease-in-out infinite; }
@keyframes cvh-bounce { 0%,100%{transform:translateY(0)}50%{transform:translateY(5px)} }

@media(max-width:600px) {
  .cvh-hero { min-height: auto; padding: 0 16px; }
  .cvh-hero__center { padding: 40px 0 16px; }
  .cvh-hero__title { font-size: 1.8rem; margin-bottom: 20px; }
}

/* ══ CUERPO ══════════════════════════════════════════════════════════ */
.cvh-body { max-width: 780px; margin: 0 auto; padding: 28px 24px 0; }
@media(max-width:600px) { .cvh-body { padding: 20px 14px 0; } }

/* Panel Lunnar */
.cvh-ai-panel { background: var(--surface); border: 1px solid rgba(19,150,126,.25); border-radius: 12px; margin-bottom: 20px; overflow: hidden; box-shadow: 0 4px 20px rgba(19,150,126,.1); animation: cvh-fup .25s var(--ease) both; }
.cvh-ai-head { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--brand-lt); border-bottom: 1px solid rgba(19,150,126,.15); font-size: 12px; font-weight: 700; color: var(--brand-dk); letter-spacing: .04em; }
.cvh-lunnar-logo { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; mix-blend-mode: multiply; flex-shrink: 0; }
.cvh-ai-head__name { font-size: 13px; font-weight: 700; }
.cvh-ai-badge { margin-left: auto; background: var(--brand); color: #16140F; font-size: 10px; font-weight: 700; padding: 2px 9px; border-radius: 99px; }
.cvh-ai-body { padding: 14px 18px; }
.cvh-ai-dots { display: flex; gap: 5px; }
.cvh-ai-dots span { width: 7px; height: 7px; border-radius: 50%; background: var(--brand); animation: cvh-dot .8s var(--ease) infinite; }
.cvh-ai-dots span:nth-child(2) { animation-delay: .14s; } .cvh-ai-dots span:nth-child(3) { animation-delay: .28s; }
@keyframes cvh-dot { 0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)} }
.cvh-ai-text { font-size: 14.5px; line-height: 1.75; color: var(--text); }
.cvh-ai-text p { margin: 0 0 10px; } .cvh-ai-text p:last-child { margin: 0; }
.cvh-ai-text a { color: var(--brand); text-decoration: underline; font-weight: 500; }

/* Resultados */
.cvh-results-meta { font-size: 13px; font-weight: 600; color: var(--muted); margin: 0 0 10px; }
.cvh-result-item { display: flex; align-items: flex-start; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--border); cursor: pointer; }
.cvh-result-item:first-child { border-top: 1px solid var(--border); }
.cvh-result-item:hover .cvh-ri-title { color: var(--brand); }
.cvh-ri-ico { color: var(--subtle); flex-shrink: 0; margin-top: 2px; }
.cvh-ri-info { flex: 1; min-width: 0; }
.cvh-ri-title { font-size: 14.5px; font-weight: 500; color: var(--text); text-decoration: underline; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .15s; }
.cvh-ri-excerpt { font-size: 12.5px; color: var(--muted); margin: 3px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvh-empty { text-align: center; padding: 36px 0 20px; }
.cvh-empty-icon { font-size: 36px; display: block; margin-bottom: 10px; }
.cvh-empty-title { font-size: 16px; font-weight: 700; margin: 0 0 6px; }
.cvh-empty-sub { font-size: 14px; color: var(--muted); margin: 0; }
.cvh-results-sep { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--subtle); }
.cvh-results-sep::before,.cvh-results-sep::after { content: ''; flex: 1; height: 1px; background: var(--border); }

/* ══ BROWSE — NETFLIX EXACT ══════════════════════════════════════════
   Clases NUEVAS (nf-*) sin conflicto con nada anterior.
   Estructura igual a Netflix:
   ┌──────────────────────────────────────────┐
   │ [icon] Nombre Categoría                  │ ← nf-block__head
   ├──────────────────────────────────────────┤
   │ Sub-grupo 1                          ∨   │ ← nf-row__btn
   │   📄 Artículo 1                          │ ← nf-article
   │   📄 Artículo 2                          │
   ├──────────────────────────────────────────┤
   │ Sub-grupo 2                          ∨   │
   └──────────────────────────────────────────┘
══════════════════════════════════════════════════════════════════════ */
#cvh-browse { margin-top: 8px; }

.nf-block {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
}

/* Cabecera de categoría */
.nf-block__head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e5e5;
}
.nf-block__icon {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(19,150,126,.1);
  border-radius: 50%;
  flex-shrink: 0;
  color: var(--brand);
}
.nf-block__icon svg { stroke: var(--brand); }
.nf-block__title {
  font-size: 16px;
  font-weight: 700;
  color: #141414;
}

/* Fila de sub-grupo */
.nf-row { border-top: 1px solid #e5e5e5; }
.nf-row:first-child { border-top: none; }

.nf-row__btn {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  padding: 15px 20px;
  background: none; border: none;
  font-family: var(--font); font-size: 14.5px; font-weight: 600; color: #141414;
  cursor: pointer; text-align: left;
  transition: background .1s;
}
.nf-row__btn:hover { background: var(--surface-2); }
.nf-row__btn[aria-expanded="true"] {
  background: var(--surface-2);
  border-bottom: 1px solid #e5e5e5;
}
.nf-row__name { flex: 1; }
.nf-row__chev { color: #666; flex-shrink: 0; transition: transform .2s var(--ease); }
.nf-row__btn[aria-expanded="true"] .nf-row__chev { transform: rotate(180deg); }

/* Artículos dentro del sub-grupo */
.nf-row__articles { padding: 4px 0 6px; }

.nf-article {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 20px 11px 30px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer; transition: background .1s;
}
.nf-article:last-child { border-bottom: none; }
.nf-article:hover { background: var(--surface-3); }
.nf-article svg { color: #999; flex-shrink: 0; }
.nf-article span {
  font-size: 14px; color: #333;
  text-decoration: underline; line-height: 1.45;
  transition: color .12s;
}
.nf-article:hover span { color: var(--brand); }

/* Sin contenido */
.cvh-no-content { text-align: center; padding: 48px 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; color: var(--muted); }
.cvh-no-content p { margin: 0 0 8px; }

/* ══ VÍNCULOS RÁPIDOS ════════════════════════════════════════════════ */
.cvh-quick { margin: 32px 0 0; }
.cvh-quick__title { font-size: 16px; font-weight: 700; color: var(--text); margin: 0; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.cvh-quick__item {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 0; border-bottom: 1px solid var(--border);
  color: var(--text); text-decoration: underline;
  font-size: 14.5px; font-weight: 500; cursor: pointer; transition: color .15s;
}
.cvh-quick__item svg { color: var(--subtle); flex-shrink: 0; transition: color .15s; }
.cvh-quick__item:hover { color: var(--brand); }
.cvh-quick__item:hover svg { color: var(--brand); }

/* ¿Necesitas más ayuda? */
.cvh-cta { text-align: center; padding: 48px 24px 60px; background: var(--surface-2); border-radius: 8px; border: 1px solid var(--border); margin: 32px 0 40px; }
.cvh-cta__title { font-size: 18px; font-weight: 700; color: var(--text); margin: 0 0 20px; }
.cvh-cta__btn {
  display: inline-flex; align-items: center; padding: 14px 40px;
  background: var(--text); color: #fff !important; -webkit-text-fill-color: #fff !important;
  font-family: var(--font); font-size: 15px; font-weight: 700;
  text-decoration: none !important; border-radius: 99px; border: none; cursor: pointer;
  transition: background .15s, transform .15s;
}
.cvh-cta__btn:hover { background: #333; color: #fff !important; transform: translateY(-1px); }

/* ══ PÁGINA DE ARTÍCULO ══════════════════════════════════════════════ */
.cvh-art-page { background: var(--surface); min-height: 100vh; }
.cvh-art-page__wrap { max-width: 1060px; margin: 0 auto; padding: 0 28px 80px; }
.cvh-art-topbar { padding: 16px 0 12px; border-bottom: 1px solid var(--border); margin-bottom: 32px; }
.cvh-back-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: 1.5px solid var(--border);
  font-family: var(--font); font-size: 13px; font-weight: 500; color: var(--muted);
  cursor: pointer; padding: 7px 16px; border-radius: 99px; transition: color .15s, border-color .15s;
}
.cvh-back-btn:hover { color: var(--brand); border-color: var(--brand); }

.cvh-skel { max-width: 680px; }
.cvh-sk { height: 14px; background: linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%); background-size: 200% 100%; animation: cvh-shim 1.4s infinite; border-radius: 6px; margin-bottom: 14px; }
.cvh-sk--title { height: 32px; width: 60%; margin-bottom: 24px; }
.cvh-sk--s { width: 35%; } .cvh-sk--m { width: 70%; }
@keyframes cvh-shim { 0%{background-position:200% 0}100%{background-position:-200% 0} }

.cvh-art-grid { display: grid; grid-template-columns: 1fr 260px; gap: 60px; align-items: start; }
@media(max-width:740px) { .cvh-art-grid { grid-template-columns: 1fr; gap: 28px; } .cvh-art-page__wrap { padding: 0 16px 60px; } }

.cvh-article__title { font-size: clamp(1.5rem,4vw,2.2rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.2; color: var(--text); margin: 0 0 24px; }
.cvh-article__body { font-size: 15px; line-height: 1.78; color: var(--text); }
.cvh-article__body h2,.cvh-article__body h3 { font-weight: 700; margin: 28px 0 10px; }
.cvh-article__body h2 { font-size: 1.1rem; } .cvh-article__body h3 { font-size: 1rem; color: #333; }
.cvh-article__body p { margin: 0 0 16px; }
.cvh-article__body ul,.cvh-article__body ol { margin: 0 0 16px 22px; }
.cvh-article__body li { margin-bottom: 6px; }
.cvh-article__body strong { font-weight: 700; }
.cvh-article__body a { color: var(--brand); text-decoration: underline; }
.cvh-article__body blockquote { margin: 16px 0; padding: 12px 16px; border-left: 4px solid var(--brand); background: var(--brand-lt); border-radius: 0 8px 8px 0; font-size: 14px; color: var(--brand-dk); }

.cvh-fb { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 44px; padding-top: 18px; border-top: 1px solid var(--border); font-size: 14px; }
.cvh-fb__q { color: var(--muted); font-weight: 500; }
.cvh-fb__btn { background: none; border: 1.5px solid var(--border); font-family: var(--font); font-size: 13px; font-weight: 500; color: var(--muted); cursor: pointer; padding: 6px 18px; border-radius: 99px; transition: all .15s; }
.cvh-fb__btn:hover,.cvh-fb__btn.is-active { background: var(--brand); border-color: var(--brand); color: #fff !important; }

.cvh-sidebar__title { font-size: 14px; font-weight: 700; color: var(--text); border-top: 4px solid var(--brand); padding-top: 12px; margin: 0 0 12px; }
#cvh-related { list-style: none; margin: 0; padding: 0; }
.cvh-sidebar__item { display: flex; align-items: flex-start; gap: 9px; padding: 9px 0; border-bottom: 1px solid var(--border); cursor: pointer; }
.cvh-sidebar__item:last-child { border-bottom: none; }
.cvh-sidebar__item:hover .cvh-sidebar__item-title { color: var(--brand); }
.cvh-sidebar__item svg { color: var(--subtle); flex-shrink: 0; margin-top: 2px; }
.cvh-sidebar__item-title { font-size: 13px; text-decoration: underline; color: var(--text); line-height: 1.4; transition: color .15s; }

@keyframes cvh-fup { from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)} }

/* ══════════════════════════════════════════════════════════════
   FOOTER — estilo Casave.es
══════════════════════════════════════════════════════════════ */
.cvh-footer {
  background: var(--surface);
  border-top: 1px solid #e5e5e5;
  margin-top: 0;
  font-family: var(--font);
}

/* Franja superior con las columnas */
.cvh-footer__top {
  padding: 48px 24px 40px;
}

.cvh-footer__inner {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 200px repeat(4, 1fr);
  gap: 32px;
  align-items: start;
}

/* Columna brand (logo + pagos) */
.cvh-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.cvh-footer__logo-link {
  display: inline-flex;
  text-decoration: none;
}

.cvh-footer__logo-link .cvh-logo-img,
.cvh-footer__logo-link .cvh-logo-svg {
  height: 26px;
}

/* Iconos de pago */
.cvh-footer__payments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.cvh-pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-width: 44px;
  padding: 0 8px;
  background: var(--surface);
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  color: #333;
  white-space: nowrap;
}

.cvh-pay--klarna  { background: #ffb3c7; color: #000; border-color: #ffb3c7; font-size: 11px; }
.cvh-pay--amex    { background: #2e77bc; color: #fff; border-color: #2e77bc; }
.cvh-pay--mc svg  { display: block; }
.cvh-pay--mc      { padding: 2px 6px; }
.cvh-pay--visa    { padding: 2px 4px; }
.cvh-pay--apple   { font-size: 12px; color: #000; }
.cvh-pay--paypal  { padding: 2px 4px; }

/* Columnas de links */
.cvh-footer__col {}

.cvh-footer__col-title {
  font-size: 15px;
  font-weight: 700;
  color: #141414;
  margin: 0 0 14px;
  letter-spacing: -.01em;
}

.cvh-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cvh-footer__links a {
  font-size: 14px;
  color: #444;
  text-decoration: none;
  transition: color .15s;
  line-height: 1.3;
}
.cvh-footer__links a:hover { color: var(--brand); }

/* Franja inferior legal */
.cvh-footer__bottom {
  background: #f7f7f7;
  border-top: 1px solid #e5e5e5;
  padding: 28px 24px;
}

.cvh-footer__bottom-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.cvh-footer__copy {
  font-size: 14px;
  font-weight: 600;
  color: #141414;
  margin: 0 0 12px;
}

.cvh-footer__legal {
  font-size: 12.5px;
  color: #666;
  line-height: 1.65;
  margin: 0 0 8px;
}
.cvh-footer__legal:last-child { margin: 0; }
.cvh-footer__legal a { color: var(--brand); text-decoration: none; }
.cvh-footer__legal a:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 900px) {
  .cvh-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
  }
  .cvh-footer__brand {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
  }
}

@media (max-width: 560px) {
  .cvh-footer__inner {
    grid-template-columns: 1fr 1fr;
  }
  .cvh-footer__top { padding: 32px 16px 28px; }
  .cvh-footer__bottom { padding: 20px 16px; }
}

@media (max-width: 360px) {
  .cvh-footer__inner {
    grid-template-columns: 1fr;
  }
}

/* ══ SEARCH BUTTON — pill "Buscar con Lunnar" ═══════════════════════ */
.cvh-search-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 9px 18px !important;
  width: auto !important;
  height: 40px !important;
  flex-shrink: 0 !important;
  border-radius: 99px !important;
  border: none !important;
  cursor: pointer !important;
  /* Tono claro con texto oscuro — distinto de verde para diferenciarlo del UI */
  background: #f0f0f0 !important;
  color: #141414 !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  letter-spacing: -.01em !important;
  transition: background .15s, transform .1s !important;
  box-shadow: none !important;
}
.cvh-search-btn:hover {
  background: #e0e0e0 !important;
  transform: none !important;
}
.cvh-search-btn:active {
  background: #d0d0d0 !important;
  transform: scale(0.98) !important;
}

/* Lunnar orb pequeña dentro del botón */
.cvh-search-btn__icon {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
  mix-blend-mode: multiply;
}

/* Ajuste del padding del input para acomodar el botón más ancho */
.cvh-search-input {
  padding-right: 8px !important;
}

@media (max-width: 600px) {
  .cvh-search-btn {
    padding: 7px 12px !important;
    font-size: 12px !important;
    height: 36px !important;
  }
  .cvh-search-btn__icon { width: 15px; height: 15px; }
}

/* ══ RESULTS HEADER — "Artículos de ayuda" ═════════════════════════ */
.cvh-results__hdr {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0 10px;
  border-bottom: 2px solid var(--border);
  margin-bottom: 2px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -.01em;
}
.cvh-results__hdr svg { color: var(--brand); flex-shrink: 0; }

/* El meta (nº de resultados) va a la derecha */
.cvh-results-meta {
  margin-left: auto !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--subtle) !important;
}

/* ══ AI PANEL — diferenciación visual más clara ════════════════════ */
.cvh-ai-head__sep { color: rgba(13,122,102,.4); font-size: 12px; }
.cvh-ai-head__sub { font-size: 11.5px; font-weight: 500; color: var(--brand-dk); opacity: .85; }

/* ══════════════════════════════════════════════════════════════
   SUPPORT WIZARD v2 — animado
══════════════════════════════════════════════════════════════ */

/* ── FAB flotante ───────────────────────────────────────────── */
.sw-fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px 13px 16px;
  background: var(--surface-inv);
  color: #fff;
  border: none;
  border-radius: 99px;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
  opacity: 0;
  transform: translateY(12px) scale(0.95);
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease, background .15s;
  /* overflow hidden so pulse stays inside */
  overflow: visible;
}
.sw-fab--visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.sw-fab:hover  { background: #333; }
.sw-fab:active { transform: scale(0.96); }
.sw-fab__ico   { stroke: #fff; flex-shrink: 0; }
.sw-fab__label { white-space: nowrap; }

/* Pulso verde — dentro del botón como dot */
.sw-fab__pulse {
  width: 8px; height: 8px; flex-shrink: 0;
  border-radius: 50%;
  background: #feec07;
  animation: sw-pulse 2s ease-in-out infinite;
  position: relative; top: 0; right: 0;
}
@keyframes sw-pulse {
  0%,100% { opacity: 1; box-shadow: 0 0 0 0 rgba(19,150,126,.6); }
  50%      { opacity: .8; box-shadow: 0 0 0 5px rgba(19,150,126,0); }
}

/* Móvil: centrado abajo, más ancho, muestra texto */
@media (max-width: 640px) {
  .sw-fab {
    bottom: 16px;
    right: 50%;
    transform: translateX(50%) translateY(12px) scale(0.95);
    min-width: 160px;
    justify-content: center;
    padding: 14px 28px;
    font-size: 15px;
  }
  .sw-fab--visible {
    transform: translateX(50%) translateY(0) scale(1);
  }
  .sw-fab:active { transform: translateX(50%) scale(0.96); }
}

/* ── Highlight cuando se navega al wizard desde el FAB ─────── */
@keyframes sw-hl {
  0%,100% { box-shadow: 0 0 0 0 rgba(19,150,126,0); }
  40%     { box-shadow: 0 0 0 6px rgba(19,150,126,.25); }
}

/* ── Card del wizard ────────────────────────────────────────── */
.sw-wrap { margin: 32px 0 0; }

.sw-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
}

.sw-head {
  padding: 22px 24px 16px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
}
.sw-head-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: .04em;
  color: var(--brand-dk); background: var(--brand-lt);
  padding: 3px 10px; border-radius: 99px; margin-bottom: 10px;
}
.sw-head-badge svg { stroke: var(--brand-dk); }
.sw-head-title { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 4px; letter-spacing: -.02em; }
.sw-head-sub   { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.5; }

/* ── Stepper ────────────────────────────────────────────────── */
.sw-stepper {
  display: flex; align-items: center;
  padding: 11px 24px;
  border-bottom: 1px solid var(--border);
}
.sw-step { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--subtle); }
.sw-step--active { color: var(--text); font-weight: 600; }
.sw-step--done   { color: var(--brand); }
.sw-step-num {
  width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 600;
  border: 1px solid var(--border); color: var(--subtle); flex-shrink: 0;
  transition: background .2s, border-color .2s, color .2s;
}
.sw-step--active .sw-step-num { background: var(--brand); border-color: var(--brand); color: #fff; }
.sw-step--done   .sw-step-num { background: var(--brand-lt); border-color: var(--brand); color: var(--brand-dk); }
.sw-connector { flex: 1; height: 1px; background: var(--border); margin: 0 8px; }

/* ── Screens + animaciones de slide ────────────────────────── */
.sw-screen {
  padding: 20px 24px;
  overflow: hidden;
}
.sw-hidden { display: none !important; }

/* Entradas */
@keyframes sw-in-right  { from { opacity:0; transform:translateX(28px); } to { opacity:1; transform:translateX(0); } }
@keyframes sw-in-left   { from { opacity:0; transform:translateX(-28px); } to { opacity:1; transform:translateX(0); } }
/* Salidas (se añaden y la pantalla se oculta vía JS tras 260ms) */
@keyframes sw-out-left  { from { opacity:1; transform:translateX(0); } to { opacity:0; transform:translateX(-28px); } }
@keyframes sw-out-right { from { opacity:1; transform:translateX(0); } to { opacity:0; transform:translateX(28px); } }

.sw-slide-in-right  { animation: sw-in-right  .26s ease both; }
.sw-slide-in-left   { animation: sw-in-left   .26s ease both; }
.sw-slide-out-left  { animation: sw-out-left  .24s ease both; pointer-events:none; }
.sw-slide-out-right { animation: sw-out-right .24s ease both; pointer-events:none; }

/* ── Pregunta + botón volver ────────────────────────────────── */
.sw-q    { font-size: 14.5px; font-weight: 600; color: var(--text); margin: 0 0 14px; letter-spacing: -.01em; }
.sw-back {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--font); font-size: 12px; color: var(--muted);
  background: none; border: none; cursor: pointer; padding: 0;
  margin-bottom: 16px; transition: color .15s;
}
.sw-back:hover { color: var(--text); }

/* ── Opciones ───────────────────────────────────────────────── */
.sw-opts { display: flex; flex-direction: column; gap: 8px; }
.sw-opt {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 10px;
  cursor: pointer; text-align: left; width: 100%; font-family: var(--font);
  transition: border-color .15s, background .15s, transform .18s, box-shadow .15s;
}
.sw-opt:hover {
  border-color: var(--brand); background: var(--brand-lt);
  transform: translateX(3px);
  box-shadow: -3px 0 0 0 var(--brand);
}
.sw-opt--selected {
  border-color: var(--brand); background: var(--brand-lt);
  transform: scale(0.97);
}

.sw-opt-ico {
  width: 36px; height: 36px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.sw-ico--teal   { background:#fdf3d7; } .sw-ico--teal   svg { stroke:var(--brand); }
.sw-ico--blue   { background:#e6f1fb; } .sw-ico--blue   svg { stroke:#185FA5; }
.sw-ico--amber  { background:#faeeda; } .sw-ico--amber  svg { stroke:#854F0B; }
.sw-ico--purple { background:#eeedfe; } .sw-ico--purple svg { stroke:#534AB7; }
.sw-ico--gray   { background:#f1efe8; } .sw-ico--gray   svg { stroke:#5F5E5A; }
.sw-ico--red    { background:#fcebeb; } .sw-ico--red    svg { stroke:#A32D2D; }
.sw-ico--green  { background:#eaf3de; } .sw-ico--green  svg { stroke:#3B6D11; }

.sw-opt-txt { flex:1; display:flex; flex-direction:column; gap:2px; }
.sw-opt-label { font-size:14px; font-weight:600; color:var(--text); }
.sw-opt-desc  { font-size:12px; color:var(--muted); line-height:1.35; }
.sw-opt-arr   { color:var(--subtle); flex-shrink:0; }

/* ── Skeleton loading ───────────────────────────────────────── */
.sw-skel {
  border: 1px solid var(--border); border-radius: 12px;
  padding: 16px; margin-bottom: 8px;
}
.sw-skel-line {
  height: 13px; border-radius: 6px; margin-bottom: 10px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
  background-size: 300% 100%;
  animation: sw-shim 1.3s ease-in-out infinite;
}
.sw-skel-title { height: 16px; width: 70%; margin-bottom: 12px; }
.sw-skel-short { width: 50%; }
.sw-skel-btn   {
  height: 32px; width: 140px; border-radius: 99px; margin-top: 12px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
  background-size: 300% 100%;
  animation: sw-shim 1.3s ease-in-out infinite;
}
@keyframes sw-shim { 0%{background-position:200% 0}100%{background-position:-200% 0} }

/* ── Resultado ──────────────────────────────────────────────── */
@keyframes sw-fade-up { from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)} }
.sw-fade-in { animation: sw-fade-up .35s ease both; }

.sw-result-card {
  border-radius: 12px; padding: 16px; border: 1px solid; margin-bottom: 10px;
}
.sw-result-card.chat    { border-color:#5DCAA5; background:#E1F5EE; }
.sw-result-card.email   { border-color:#85B7EB; background:#E6F1FB; }
.sw-result-card.phone   { border-color:#AFA9EC; background:#EEEDFE; }
.sw-result-card.article { border-color:#C0DD97; background:#EAF3DE; }

.sw-result-head { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.sw-result-ico  { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; }
.sw-result-ico.chat    { background:#9FE1CB; } .sw-result-ico.chat    svg { stroke:#085041; }
.sw-result-ico.email   { background:#B5D4F4; } .sw-result-ico.email   svg { stroke:#0C447C; }
.sw-result-ico.phone   { background:#CECBF6; } .sw-result-ico.phone   svg { stroke:#3C3489; }
.sw-result-ico.article { background:#C0DD97; } .sw-result-ico.article svg { stroke:#27500A; }

.sw-result-title { font-size:14px; font-weight:700; }
.sw-result-card.chat    .sw-result-title { color:#085041; }
.sw-result-card.email   .sw-result-title { color:#0C447C; }
.sw-result-card.phone   .sw-result-title { color:#3C3489; }
.sw-result-card.article .sw-result-title { color:#27500A; }

.sw-result-body { font-size:13px; line-height:1.55; margin:0 0 12px; }
.sw-result-card.chat    .sw-result-body { color:#0F6E56; }
.sw-result-card.email   .sw-result-body { color:#185FA5; }
.sw-result-card.phone   .sw-result-body { color:#534AB7; }
.sw-result-card.article .sw-result-body { color:#3B6D11; }

.sw-result-btn {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font); font-size:13px; font-weight:600;
  padding:8px 16px; border-radius:99px; border:none; cursor:pointer;
  text-decoration:none; transition:opacity .15s, transform .15s;
}
.sw-result-btn:hover { opacity:.85; transform:translateY(-1px); }
.sw-result-card.chat    .sw-result-btn { background:#0F6E56; color:#fff!important; -webkit-text-fill-color:#fff!important; }
.sw-result-card.email   .sw-result-btn { background:#185FA5; color:#fff!important; -webkit-text-fill-color:#fff!important; }
.sw-result-card.phone   .sw-result-btn { background:#534AB7; color:#fff!important; -webkit-text-fill-color:#fff!important; }
.sw-result-card.article .sw-result-btn { background:#3B6D11; color:#fff!important; -webkit-text-fill-color:#fff!important; }

.sw-restart {
  display:block; margin:12px auto 0;
  background:none; border:none; cursor:pointer;
  font-family:var(--font); font-size:12px; color:var(--subtle);
  transition:color .15s;
}
.sw-restart:hover { color:var(--text); }

@media (max-width:600px) {
  .sw-head, .sw-screen { padding:18px 16px; }
  .sw-stepper { padding:10px 16px; }
}

/* ── Botón Soporte en header ──────────────────────────────── */
.cvh-header__soporte-btn {
  display: inline-flex; align-items: center;
  padding: 7px 16px;
  background: none;
  color: var(--text);
  font-family: var(--font);
  font-size: 13.5px; font-weight: 500;
  border: 1.5px solid var(--border);
  border-radius: 99px;
  cursor: pointer; white-space: nowrap;
  transition: color .15s, border-color .15s, background .15s;
}
.cvh-header__soporte-btn:hover {
  color: var(--brand); border-color: var(--brand);
  background: var(--brand-lt);
}

/* ── Sugerencia Lunnar en paso 2 ──────────────────────────── */
.sw-lunnar-tip {
  margin: 14px 0 0;
  padding: 14px 16px;
  background: var(--brand-lt);
  border: 1px solid rgba(19,150,126,.25);
  border-radius: 12px;
  animation: sw-fade-up .3s ease both;
}
.sw-lunnar-tip__head {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 8px;
  font-size: 12px; font-weight: 700;
  color: var(--brand-dk); letter-spacing: .03em;
}
.sw-lunnar-tip__logo {
  width: 20px; height: 20px; border-radius: 50%;
  object-fit: cover; mix-blend-mode: multiply; flex-shrink: 0;
}
.sw-lunnar-tip__badge {
  margin-left: auto;
  background: var(--brand); color: #16140F;
  font-size: 9px; font-weight: 700;
  padding: 2px 7px; border-radius: 99px; letter-spacing: .04em;
}
.sw-lunnar-tip__text {
  font-size: 13px; line-height: 1.6; color: var(--brand-dk);
  margin: 0 0 8px;
}
.sw-lunnar-tip__art {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; font-weight: 600; color: var(--brand);
  text-decoration: underline; cursor: pointer;
}
.sw-lunnar-tip__art:hover { color: var(--brand-dk); }

/* Botón continuar */
.sw-continue-btn {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  width: 100%; margin-top: 14px;
  padding: 12px 20px;
  background: var(--text); color: #fff !important;
  font-family: var(--font); font-size: 14px; font-weight: 600;
  border: none; border-radius: 99px; cursor: pointer;
  transition: background .15s, transform .1s;
}
.sw-continue-btn:hover { background: #333; }
.sw-continue-btn:active { transform: scale(0.98); }
.sw-continue-btn svg { stroke: #fff; }

/* ── Padding debajo del wizard para separar del footer ────── */
.sw-wrap { margin: 32px 0 48px; }

/* ── Soporte pill en header — mismo tamaño que Iniciar sesión ─ */
.cvh-header__soporte-pill {
  display: inline-flex; align-items: center;
  padding: 8px 20px;
  background: none;
  color: var(--text) !important;
  -webkit-text-fill-color: var(--text) !important;
  font-family: var(--font);
  font-size: 13.5px; font-weight: 600;
  line-height: 1;
  border: 1.5px solid var(--border);
  border-radius: 99px;
  cursor: pointer; white-space: nowrap;
  transition: color .15s, border-color .15s, background .15s;
}
.cvh-header__soporte-pill:hover {
  color: var(--brand) !important;
  -webkit-text-fill-color: var(--brand) !important;
  border-color: var(--brand);
  background: var(--brand-lt);
}
@media (max-width: 640px) {
  .cvh-header__soporte-pill { display: none; }
}

/* ── Soporte al final del artículo ─────────────────────────── */
.art-support {
  margin-top: 32px;
  border-top: 1px solid var(--border);
  padding-top: 24px;
}
.art-support__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  background: var(--brand-lt);
  border: 1px solid rgba(19,150,126,.2);
  border-radius: 12px;
  flex-wrap: wrap;
}
.art-support__icon {
  width: 40px; height: 40px;
  background: rgba(19,150,126,.15);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--brand);
}
.art-support__icon svg { stroke: var(--brand); }
.art-support__text { flex: 1; min-width: 140px; }
.art-support__title { font-size: 14px; font-weight: 700; color: var(--brand-dk); margin: 0 0 2px; }
.art-support__sub   { font-size: 12.5px; color: var(--brand-dk); opacity: .8; margin: 0; }
.art-support__actions { display: flex; gap: 8px; flex-wrap: wrap; }

.art-support__chat,
.art-support__wizard {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font); font-size: 13px; font-weight: 600;
  padding: 9px 16px; border-radius: 99px; cursor: pointer;
  transition: opacity .15s, transform .1s;
  border: none;
}
.art-support__chat:hover,
.art-support__wizard:hover { opacity: .85; transform: translateY(-1px); }
.art-support__chat {
  background: var(--brand); color: #16140F !important;
  -webkit-text-fill-color: #16140F !important;
}
.art-support__chat svg { stroke: #fff; }
.art-support__wizard {
  background: var(--surface); color: var(--brand-dk) !important;
  -webkit-text-fill-color: var(--brand-dk) !important;
  border: 1.5px solid var(--brand);
}
.art-support__wizard svg { stroke: var(--brand-dk); }

@media (max-width: 500px) {
  .art-support__inner { gap: 12px; }
  .art-support__actions { width: 100%; }
  .art-support__chat, .art-support__wizard { flex: 1; justify-content: center; }
}

/* ══ MODAL DE SOPORTE ════════════════════════════════════════ */
.sw-modal {
  position: fixed;
  inset: 0;
  z-index: 800;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
/* CRÍTICO: hidden attribute debe ganar sobre display:flex */
.sw-modal[hidden] {
  display: none !important;
}
@media (min-width: 500px) {
  .sw-modal { align-items: center; }
}

.sw-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  /* Blur de fondo */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: sw-fade-in-bg .2s ease both;
}
@keyframes sw-fade-in-bg { from{opacity:0} to{opacity:1} }

.sw-modal__panel {
  position: relative;
  width: 100%;
  max-width: 480px;
  background: var(--surface);
  border-radius: 20px 20px 0 0;
  padding: 24px 20px 32px;
  animation: sw-slide-up .28s cubic-bezier(.16,1,.3,1) both;
  max-height: 90vh;
  overflow-y: auto;
}
@media (min-width: 500px) {
  .sw-modal__panel {
    border-radius: 16px;
    padding: 24px 24px 28px;
    animation: sw-pop-in .25s cubic-bezier(.16,1,.3,1) both;
  }
}
@keyframes sw-slide-up { from{transform:translateY(100%);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes sw-pop-in   { from{transform:scale(.92);opacity:0} to{transform:scale(1);opacity:1} }

.sw-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.sw-modal__close {
  background: none; border: none; cursor: pointer;
  padding: 4px; color: var(--subtle);
  border-radius: 50%;
  transition: color .15s, background .15s;
  display: flex; align-items: center;
}
.sw-modal__close:hover { color: var(--text); background: var(--border); }

.sw-modal__q {
  font-size: 15px; font-weight: 700; color: var(--text);
  margin: 0 0 14px; letter-spacing: -.015em;
}
.sw-modal__opts { display: flex; flex-direction: column; gap: 8px; }
/* Opciones dentro del modal usan el mismo .sw-opt style */

/* ══ TICKET MODAL — pantallas del formulario ════════════════ */
.sw-modal__screen { padding: 0 0 4px; }
.sw-modal__sub  { font-size: 13px; color: var(--muted); margin: -10px 0 16px; line-height: 1.5; }
.sw-modal__opts { display: flex; flex-direction: column; gap: 8px; }

/* Campos del formulario */
.svm-field { margin-bottom: 14px; }
.svm-label { display: block; font-size: 12.5px; font-weight: 600; color: var(--text); margin-bottom: 5px; }
.svm-req   { color: #e24b4a; }
.svm-input, .svm-select, .svm-textarea {
  width: 100%; font-family: var(--font); font-size: 14px;
  border: 1.5px solid var(--border); border-radius: 10px;
  padding: 10px 14px; outline: none; background: var(--surface); color: var(--text);
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
}
.svm-input:focus, .svm-select:focus, .svm-textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(19,150,126,.12);
}
.svm-textarea { resize: vertical; min-height: 90px; }
.svm-select   { appearance: none; 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='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; }

/* Error */
.svm-error { font-size: 13px; color: #a32d2d; background: #fcebeb; border: 1px solid #f09595; border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; }

/* Submit btn */
.svm-submit {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 13px 20px;
  background: var(--surface-inv); color: #fff !important; -webkit-text-fill-color: #fff !important;
  font-family: var(--font); font-size: 14px; font-weight: 700;
  border: none; border-radius: 99px; cursor: pointer;
  transition: background .15s, transform .1s;
  margin-top: 4px;
}
.svm-submit:hover  { background: #333; }
.svm-submit:active { transform: scale(0.98); }
.svm-submit svg    { stroke: #fff; flex-shrink: 0; }

/* Spinner inline */
.svm-spinner {
  width: 16px; height: 16px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: cvh-spin .7s linear infinite;
}

/* Nota al pie */
.svm-note { font-size: 11.5px; color: var(--subtle); margin: 10px 0 0; text-align: center; line-height: 1.5; }

/* Pantalla 2: Email enviado */
.svm-check-sent { text-align: center; padding: 12px 0 8px; }
.svm-check-icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--brand-lt); margin: 0 auto 14px;
  display: flex; align-items: center; justify-content: center;
}
.svm-check-icon svg { stroke: var(--brand); }
.svm-check-title { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 6px; }
.svm-check-sub   { font-size: 13.5px; color: var(--muted); line-height: 1.55; margin: 0 0 18px; }
.svm-link-btn    { background: none; border: none; font-family: var(--font); font-size: 13px; color: var(--brand); cursor: pointer; text-decoration: underline; padding: 0; }

/* Pantalla 3: Tarjeta cliente Stripe */
.svm-customer-card {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  background: var(--brand-lt);
  border: 1px solid rgba(19,150,126,.25);
  border-radius: 12px;
  margin-bottom: 18px;
  animation: sw-fade-up .3s ease both;
}
.svm-customer-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--brand); color: #16140F;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700; flex-shrink: 0;
}
.svm-customer-info  { flex: 1; min-width: 0; }
.svm-customer-name  { font-size: 14px; font-weight: 700; color: var(--brand-dk); margin: 0 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.svm-customer-plan  { font-size: 12px; color: var(--brand-dk); opacity: .8; margin: 0; }
.svm-customer-badge { font-size: 11px; font-weight: 700; color: var(--brand-dk); background: var(--surface); border: 1px solid rgba(19,150,126,.3); padding: 3px 9px; border-radius: 99px; white-space: nowrap; flex-shrink: 0; }

/* Pantalla 4: Confirmación */
.svm-success { text-align: center; padding: 8px 0 4px; }
.svm-success-icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--brand-lt); margin: 0 auto 16px;
  display: flex; align-items: center; justify-content: center;
}
.svm-success-icon svg { stroke: var(--brand); }
.svm-success-title { font-size: 18px; font-weight: 700; color: var(--text); margin: 0 0 6px; }
.svm-success-num   { font-size: 20px; font-weight: 700; color: var(--brand); margin: 0 0 10px; letter-spacing: .02em; }
.svm-success-sub   { font-size: 13.5px; color: var(--muted); line-height: 1.6; margin: 0 0 20px; }

/* ── Ticket recomendado en modal ────────────────────────────── */
.svm-recommended-wrap { position: relative; }

.svm-recommended-badge {
  display: inline-block;
  font-size: 10.5px; font-weight: 700;
  background: var(--brand); color: #16140F;
  padding: 3px 10px; border-radius: 99px;
  margin-bottom: 6px;
  letter-spacing: .03em;
}

/* Opción destacada */
.svm-opt--featured {
  border-color: var(--brand) !important;
  background: var(--brand-lt) !important;
  box-shadow: 0 0 0 2px rgba(19,150,126,.15);
}
.svm-opt--featured .sw-opt-label { color: var(--brand-dk) !important; }
.svm-opt--featured .sw-opt-desc  { color: var(--brand-dk) !important; opacity: .85; }
.svm-opt--featured:hover { transform: translateX(3px); }

/* Separador "o si lo prefieres" */
.svm-divider {
  font-size: 11.5px; font-weight: 500;
  color: var(--subtle); text-align: center;
  margin: 10px 0 6px;
  display: flex; align-items: center; gap: 8px;
}
.svm-divider::before, .svm-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--border);
}

/* ══ PORTAL DE TICKETS ══════════════════════════════════════ */
.cvh-portal {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px 28px 24px;
  margin: 32px 0 40px;
}

.cvh-portal__screen {}

.cvh-portal__head {
  display: flex; align-items: flex-start; gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}
.cvh-portal__icon {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--brand-lt);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cvh-portal__icon svg { stroke: var(--brand); }
.cvh-portal__title { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 3px; letter-spacing: -.02em; }
.cvh-portal__sub   { font-size: 13px; color: var(--muted); margin: 0; }

.cvh-portal__login-form { display: flex; flex-direction: column; gap: 0; }

.cvh-portal__sent { padding: 12px 0; }

/* Dashboard */
.cvh-portal__dash-head {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 20px; padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.cvh-portal__user {
  display: flex; align-items: center; gap: 10px; flex: 1;
}

/* Loading skeleton */
.cvh-portal__loading { animation: sw-fade-up .3s ease; }

/* Empty state */
.cvh-portal__empty {
  text-align: center; padding: 36px 0;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.cvh-portal__empty svg { stroke: var(--subtle); opacity: .5; }
.cvh-portal__empty p { font-size: 14px; color: var(--muted); margin: 0; }

/* Lista de tickets */
.cvh-portal__list { display: flex; flex-direction: column; gap: 8px; }

.cvh-portal__ticket-row {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--border); border-radius: 10px;
  cursor: pointer; transition: border-color .15s, background .15s;
}
.cvh-portal__ticket-row:hover { border-color: var(--brand); background: var(--brand-lt); }

.cvh-portal__ticket-num {
  font-size: 12px; font-weight: 700; color: var(--brand-dk);
  background: var(--brand-lt); padding: 3px 9px; border-radius: 99px;
  white-space: nowrap; flex-shrink: 0;
}
.cvh-portal__ticket-subject {
  flex: 1; font-size: 14px; font-weight: 500; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cvh-portal__ticket-meta {
  font-size: 12px; color: var(--subtle); white-space: nowrap; flex-shrink: 0;
}
.cvh-portal__ticket-status {
  font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 99px;
  flex-shrink: 0;
}
.status-open        { background: #eaf3de; color: #3B6D11; }
.status-in_progress { background: #faeeda; color: #854F0B; }
.status-closed      { background: #f1efe8; color: #5F5E5A; }

/* Detalle */
.cvh-portal__detail {}
.prt-detail-card {
  border: 1px solid var(--border); border-radius: 12px;
  overflow: hidden;
}
.prt-detail-header {
  padding: 16px 20px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start;
}
.prt-detail-title  { font-size: 16px; font-weight: 700; color: var(--text); margin: 0 0 6px; flex: 100%; }
.prt-detail-body   { padding: 18px 20px; font-size: 14px; line-height: 1.7; color: var(--text); }
.prt-detail-body p { margin: 0 0 12px; }

@media (max-width: 600px) {
  .cvh-portal { padding: 20px 16px; }
  .cvh-portal__ticket-meta { display: none; }
}

/* ══ PORTAL PAGE (shortcode independiente) ══════════════════ */
.cvh-portal-page {
  background: var(--bg);
  min-height: 80vh;
  font-family: var(--font);
}

/* Hero del portal */
.app-hero {
  background: linear-gradient(180deg, #eef2f8 0%, #f5f7fb 100%);
  border-bottom: 1px solid var(--border);
  padding: 48px 24px 40px;
  text-align: center;
}
.app-hero__inner { max-width: 560px; margin: 0 auto; }
.app-hero__logo  { display: flex; justify-content: center; margin-bottom: 20px; }
.app-hero__logo .cvh-logo-img { height: 28px; }
.app-hero__logo .cvh-logo-svg { height: 28px; }
.app-hero__title { font-size: clamp(1.6rem,4vw,2.2rem); font-weight: 700; letter-spacing: -.03em; color: var(--text); margin: 0 0 8px; }
.app-hero__sub   { font-size: 15px; color: var(--muted); margin: 0; line-height: 1.55; }

/* Cuerpo */
.app-body { max-width: 700px; margin: 0 auto; padding: 32px 24px 60px; }

.app-screen {}
.app-hidden { display: none !important; }

/* Card de login */
.app-login-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 32px;
  max-width: 480px;
  margin: 0 auto;
}
.app-login-icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--brand-lt); margin: 0 0 20px;
  display: flex; align-items: center; justify-content: center;
}
.app-login-icon svg { stroke: var(--brand); }
.app-login-title { font-size: 20px; font-weight: 700; color: var(--text); margin: 0 0 6px; letter-spacing: -.02em; }
.app-login-sub   { font-size: 14px; color: var(--muted); margin: 0 0 22px; line-height: 1.55; }

/* Campos */
.app-field { margin-bottom: 14px; }
.app-label { display: block; font-size: 12.5px; font-weight: 600; color: var(--text); margin-bottom: 5px; }
.app-input {
  width: 100%; font-family: var(--font); font-size: 15px;
  border: 1.5px solid var(--border); border-radius: 10px;
  padding: 11px 14px; outline: none; background: var(--surface); color: var(--text);
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}
.app-input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(19,150,126,.12);
}

.app-error {
  font-size: 13px; color: #a32d2d; background: #fcebeb;
  border: 1px solid #f09595; border-radius: 8px;
  padding: 8px 12px; margin-bottom: 12px;
}

/* Botones */
.app-btn-primary {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  width: 100%; padding: 13px 20px;
  background: var(--surface-inv); color: #fff !important; -webkit-text-fill-color: #fff !important;
  font-family: var(--font); font-size: 14.5px; font-weight: 700;
  border: none; border-radius: 99px; cursor: pointer;
  transition: background .15s, transform .1s;
}
.app-btn-primary:hover  { background: #333; }
.app-btn-primary:active { transform: scale(0.98); }
.app-btn-primary svg    { stroke: #fff; }

.app-btn-sm { width: auto; padding: 9px 18px; font-size: 13px; }

.app-link-btn {
  background: none; border: none; cursor: pointer;
  font-family: var(--font); font-size: 13px; color: var(--subtle);
  padding: 8px 0; transition: color .15s;
  display: inline-block;
}
.app-link-btn:hover { color: var(--text); }

/* Email enviado */
.app-sent { text-align: center; padding: 16px 0 4px; }
.app-sent-icon {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--brand-lt); margin: 0 auto 14px;
  display: flex; align-items: center; justify-content: center;
}
.app-sent-icon svg { stroke: var(--brand); }
.app-sent-title { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 6px; }
.app-sent-sub   { font-size: 14px; color: var(--muted); line-height: 1.55; margin: 0 0 16px; }

/* Barra de usuario */
.app-userbar {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 20px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
  margin-bottom: 20px; flex-wrap: wrap;
}
.app-user { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.app-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--brand); color: #16140F;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; font-weight: 700; flex-shrink: 0;
}
.app-user-name { font-size: 14px; font-weight: 700; color: var(--text); margin: 0 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.app-user-plan { font-size: 12px; color: var(--muted); margin: 0; }
.app-userbar-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

/* Empty state */
.app-empty {
  text-align: center; padding: 48px 0;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.app-empty svg { stroke: var(--subtle); opacity: .4; }
.app-empty p { font-size: 15px; color: var(--muted); margin: 0; }

/* Detalle */
.app-back-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: 1.5px solid var(--border); border-radius: 99px;
  font-family: var(--font); font-size: 13px; font-weight: 500; color: var(--muted);
  cursor: pointer; padding: 7px 16px; margin-bottom: 20px;
  transition: color .15s, border-color .15s;
}
.app-back-btn:hover { color: var(--brand); border-color: var(--brand); }
.app-detail-header { padding: 18px 22px; background: var(--surface-2); border-bottom: 1px solid var(--border); }
.app-detail-title  { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 10px; letter-spacing: -.02em; }
.app-detail-meta   { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.app-detail-body   { padding: 20px 22px; font-size: 14.5px; line-height: 1.75; color: var(--text); }
.app-detail-body p { margin: 0 0 12px; }
.app-detail-actions { padding: 14px 22px; border-top: 1px solid var(--border); background: var(--surface-2); display: flex; gap: 10px; flex-wrap: wrap; }

/* CTA mi cuenta en help center */
.cvh-mycta { margin: 28px 0 0; }
.cvh-mycta__inner {
  display: flex; align-items: center; gap: 16px;
  padding: 18px 22px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
  flex-wrap: wrap;
}
.cvh-mycta__icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--brand-lt); display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cvh-mycta__icon svg { stroke: var(--brand); }
.cvh-mycta__text { flex: 1; min-width: 140px; }
.cvh-mycta__title { font-size: 14px; font-weight: 700; color: var(--text); margin: 0 0 2px; }
.cvh-mycta__sub   { font-size: 12.5px; color: var(--muted); margin: 0; }
.cvh-mycta__btn {
  display: inline-flex; align-items: center;
  padding: 9px 20px; background: var(--surface-inv); color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: var(--font); font-size: 13.5px; font-weight: 600;
  text-decoration: none !important; border-radius: 99px;
  transition: background .15s; flex-shrink: 0;
}
.cvh-mycta__btn:hover { background: #333; color: #fff !important; }

@media (max-width: 600px) {
  .app-login-card { padding: 22px 18px; }
  .app-body { padding: 20px 14px 48px; }
  .cvh-mycta__inner { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ── Botón "Ver mis tickets" en header ─────────────────────── */
.cvh-header__portal-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 18px;
  background: none;
  color: var(--text) !important; -webkit-text-fill-color: var(--text) !important;
  font-family: var(--font); font-size: 13.5px; font-weight: 600;
  text-decoration: none !important;
  border: 1.5px solid var(--border); border-radius: 99px;
  cursor: pointer; white-space: nowrap; line-height: 1;
  transition: color .15s, border-color .15s, background .15s;
}
.cvh-header__portal-btn svg { stroke: var(--text); transition: stroke .15s; }
.cvh-header__portal-btn:hover {
  color: var(--brand) !important; -webkit-text-fill-color: var(--brand) !important;
  border-color: var(--brand); background: var(--brand-lt);
}
.cvh-header__portal-btn:hover svg { stroke: var(--brand); }

/* Ocultar en móvil — solo visible en desktop */
@media (max-width: 640px) {
  .cvh-header__portal-btn { display: none; }
  .cvh-header__soporte-pill { display: none; }
}

/* ── Header móvil: Ver mis tickets en lugar de Iniciar sesión ─ */
.cvh-header__login--desktop { display: inline-flex; }
.cvh-header__login--mobile  { display: none; }

@media (max-width: 640px) {
  .cvh-header__portal-btn   { display: none; }   /* outline: oculto en móvil */
  .cvh-header__login--desktop { display: none; } /* "Iniciar sesión": oculto */
  .cvh-header__login--mobile  { display: inline-flex; } /* "Ver mis tickets": visible */
}

/* ══ PORTAL DASHBOARD — completo ═══════════════════════════════ */
.cvh-portal-page { font-family: var(--font); background: var(--bg); min-height: 100vh; }

/* Login */
.prt-screen {}
.prt-login-wrap { display: grid; grid-template-columns: 1fr 340px; gap: 48px; align-items: start; max-width: 860px; margin: 0 auto; padding: 48px 24px; }
.prt-login-card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 36px; }
.prt-login-logo { margin-bottom: 24px; }
.prt-login-logo .cvh-logo-img, .prt-login-logo .cvh-logo-svg { height: 26px; }
.prt-login-title { font-size: 22px; font-weight: 700; color: var(--text); margin: 0 0 8px; letter-spacing: -.03em; }
.prt-login-sub   { font-size: 14px; color: var(--muted); margin: 0 0 24px; line-height: 1.55; }
.prt-login-note  { font-size: 12px; color: var(--subtle); margin: 10px 0 0; text-align: center; }

.prt-sent { text-align: center; padding: 12px 0; }
.prt-sent-icon { width: 52px; height: 52px; background: var(--brand-lt); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.prt-sent-icon svg { stroke: var(--brand); }
.prt-sent-title { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 6px; }
.prt-sent-sub   { font-size: 14px; color: var(--muted); line-height: 1.55; margin: 0 0 14px; }

.prt-login-features { display: flex; flex-direction: column; gap: 20px; padding-top: 8px; }
.prt-feature { display: flex; align-items: flex-start; gap: 14px; }
.prt-feature-ico { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.prt-feature-title { font-size: 14px; font-weight: 600; color: var(--text); margin: 0 0 2px; }
.prt-feature-sub   { font-size: 12.5px; color: var(--muted); margin: 0; line-height: 1.4; }

/* Topbar */
.prt-topbar { background: var(--surface); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 100; }
.prt-topbar__inner { max-width: 1100px; margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; gap: 12px; }
.prt-user-pill { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.prt-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--brand); color: #16140F; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; flex-shrink: 0; }
.prt-user-name { font-size: 14px; font-weight: 700; color: var(--text); margin: 0 0 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prt-user-plan { font-size: 12px; color: var(--muted); margin: 0; }
.prt-topbar__actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.prt-btn-new {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 18px; background: var(--text); color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: var(--font); font-size: 13px; font-weight: 700;
  border: none; border-radius: 99px; cursor: pointer;
  transition: background .15s;
}
.prt-btn-new:hover { background: #333; }
.prt-btn-new svg { stroke: #fff; }

/* Dashboard body */
.prt-dashboard-body { display: block; max-width: 760px; margin: 0 auto; padding: 24px 24px 60px; }

/* Stats */
.prt-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 20px; }
.prt-stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; text-align: center; }
.prt-stat-val { font-size: 28px; font-weight: 700; color: var(--text); margin: 0 0 4px; letter-spacing: -.03em; }
.prt-stat-val--green { color: var(--brand); }
.prt-stat-val--gray  { color: var(--subtle); }
.prt-stat-lbl { font-size: 12px; color: var(--muted); margin: 0; }

/* Sections */
.prt-section { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 20px; margin-bottom: 16px; }
.prt-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 10px; }
.prt-section-title { font-size: 15px; font-weight: 700; color: var(--text); margin: 0; }

/* Filter tabs */
.prt-filter-tabs { display: flex; gap: 4px; }
.prt-tab { background: none; border: 1px solid var(--border); border-radius: 99px; font-family: var(--font); font-size: 12px; font-weight: 500; color: var(--muted); cursor: pointer; padding: 5px 12px; transition: all .15s; }
.prt-tab:hover { border-color: var(--brand); color: var(--brand); }
.prt-tab--active { background: var(--text); border-color: var(--text); color: #fff !important; font-weight: 700; }

/* Loading skeleton */
.prt-loading { display: flex; flex-direction: column; gap: 8px; }
.prt-skel-row { height: 62px; border-radius: 10px; background: linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%); background-size: 300% 100%; animation: sw-shim 1.3s infinite; }

/* Empty */
.prt-empty { text-align: center; padding: 36px 0; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.prt-empty svg { stroke: var(--subtle); opacity: .4; }
.prt-empty p { font-size: 14px; color: var(--muted); margin: 0; }

/* Ticket list */
.prt-ticket-list { display: flex; flex-direction: column; gap: 6px; }
.prt-ticket-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: border-color .15s, background .15s; }
.prt-ticket-row:hover { border-color: var(--brand); background: var(--brand-lt); }
.prt-ticket-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.prt-ticket-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.prt-ticket-num { font-size: 11px; font-weight: 700; color: var(--brand-dk); background: var(--brand-lt); padding: 3px 9px; border-radius: 99px; white-space: nowrap; flex-shrink: 0; }
.prt-ticket-subject { font-size: 14px; font-weight: 500; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prt-ticket-date { font-size: 12px; color: var(--subtle); white-space: nowrap; }
.prt-ticket-status { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 99px; white-space: nowrap; }

/* Ticket detail */
.prt-back-btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: 1.5px solid var(--border); border-radius: 99px; font-family: var(--font); font-size: 13px; font-weight: 500; color: var(--muted); cursor: pointer; padding: 7px 16px; margin-bottom: 16px; transition: color .15s, border-color .15s; }
.prt-back-btn:hover { color: var(--brand); border-color: var(--brand); }
.prt-detail-card { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.prt-detail-header { padding: 18px 20px; background: var(--surface-2); border-bottom: 1px solid var(--border); }
.prt-detail-title  { font-size: 16px; font-weight: 700; color: var(--text); margin: 0 0 10px; }
.prt-detail-meta   { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.prt-detail-body   { padding: 18px 20px; font-size: 14px; line-height: 1.75; color: var(--text); }
.prt-detail-body p { margin: 0 0 10px; }
.prt-detail-actions { padding: 14px 20px; border-top: 1px solid var(--border); background: var(--surface-2); }

/* Survey */
.prt-survey { border-color: rgba(19,150,126,.2); background: var(--brand-lt); }
.prt-survey-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.prt-survey-head svg { stroke: var(--brand); flex-shrink: 0; }
.prt-survey-title { font-size: 14px; font-weight: 700; color: var(--brand-dk); margin: 0; }
.prt-widget { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 18px; }
.prt-widget-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.prt-widget-title { font-size: 14px; font-weight: 700; color: var(--text); margin: 0 0 2px; }
.prt-widget-sub   { font-size: 11.5px; color: var(--muted); margin: 0; }
.prt-lunnar-logo  { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.prt-online-dot   { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; animation: sw-pulse 2s ease-in-out infinite; flex-shrink: 0; }

/* Lunnar chat */
.prt-lunnar-widget { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; }
.prt-lunnar-widget .prt-widget-head { padding: 16px 16px 12px; border-bottom: 1px solid var(--border); margin: 0; }
.prt-lunnar-messages { padding: 12px; display: flex; flex-direction: column; gap: 8px; min-height: 160px; max-height: 260px; overflow-y: auto; }
.prt-lunnar-msg { font-size: 13px; line-height: 1.5; padding: 9px 12px; border-radius: 10px; max-width: 90%; word-break: break-word; }
.prt-lunnar-msg--bot  { background: var(--brand-lt); color: var(--brand-dk); align-self: flex-start; border-bottom-left-radius: 3px; }
.prt-lunnar-msg--user { background: var(--text); color: #fff; align-self: flex-end; border-bottom-right-radius: 3px; }
.prt-lunnar-dots { display: flex; gap: 4px; padding: 10px 14px; }
.prt-lunnar-dots span { width: 6px; height: 6px; background: var(--brand); border-radius: 50%; animation: cvh-dot .8s ease infinite; }
.prt-lunnar-dots span:nth-child(2){ animation-delay:.14s; }
.prt-lunnar-dots span:nth-child(3){ animation-delay:.28s; }
.prt-lunnar-input { display: flex; gap: 0; border-top: 1px solid var(--border); }
.prt-lunnar-field { flex: 1; border: none; outline: none; font-family: var(--font); font-size: 13px; padding: 11px 14px; background: transparent; color: var(--text); }
.prt-lunnar-field::placeholder { color: var(--subtle); }
.prt-lunnar-send { width: 44px; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; color: var(--brand); transition: color .15s; flex-shrink: 0; }
.prt-lunnar-send:hover { color: var(--brand-dk); }
.prt-lunnar-send svg { stroke: currentColor; }

/* ══ MOBILE ════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .prt-login-wrap { grid-template-columns: 1fr; gap: 28px; padding: 24px 16px; }
  .prt-login-features { flex-direction: row; flex-wrap: wrap; gap: 14px; }
  .prt-feature { flex: 1; min-width: 140px; }
}

@media (max-width: 700px) {
  .prt-dashboard-body { grid-template-columns: 1fr; padding: 16px 14px 48px; } /* Sidebar arriba en móvil */
  .prt-stats { grid-template-columns: repeat(3,1fr); gap: 8px; }
  .prt-stat-val { font-size: 22px; }
  .prt-topbar__inner { padding: 10px 14px; }
  .prt-section { padding: 14px; }
  .prt-ticket-date { display: none; }
  .prt-filter-tabs { gap: 4px; }
  .prt-tab { padding: 4px 10px; font-size: 11px; }
  .prt-lunnar-messages { max-height: 200px; }
}

@media (max-width: 480px) {
  .prt-login-card { padding: 22px 16px; }
  .prt-login-title { font-size: 18px; }
  .prt-stats { gap: 6px; }
  .prt-stat-card { padding: 12px 8px; }
  .prt-stat-val { font-size: 20px; }
  .prt-stat-lbl { font-size: 11px; }
  .prt-section-head { flex-direction: column; align-items: flex-start; }
  .prt-topbar__actions .app-link-btn { display: none; }
}

/* ── Chat de tickets ────────────────────────────────────────── */
.prt-chat { border-top: 1px solid var(--border); }
.prt-chat-messages {
  padding: 16px 20px; display: flex; flex-direction: column; gap: 12px;
  max-height: 320px; overflow-y: auto;
  background: var(--surface-2);
}
.prt-chat-empty { font-size: 13px; color: var(--subtle); text-align: center; margin: 12px 0; }
.prt-chat-msg { display: flex; flex-direction: column; gap: 3px; max-width: 80%; }
.prt-chat-msg--customer { align-self: flex-end; align-items: flex-end; }
.prt-chat-msg--team     { align-self: flex-start; align-items: flex-start; }
.prt-chat-bubble {
  padding: 10px 14px; border-radius: 14px; font-size: 14px; line-height: 1.5;
  word-break: break-word;
}
.prt-chat-msg--customer .prt-chat-bubble { background: var(--surface-inv); color: #fff; border-bottom-right-radius: 4px; }
.prt-chat-msg--team     .prt-chat-bubble { background: var(--brand-lt); color: var(--brand-dk); border-bottom-left-radius: 4px; }
.prt-chat-meta { font-size: 11px; color: var(--subtle); padding: 0 4px; }

.prt-chat-input {
  display: flex; gap: 10px; padding: 12px 16px;
  border-top: 1px solid var(--border); background: var(--surface);
  align-items: flex-end;
}
.prt-chat-field {
  flex: 1; border: 1.5px solid var(--border); border-radius: 10px;
  padding: 10px 12px; font-family: var(--font); font-size: 13.5px;
  resize: none; outline: none; color: var(--text); line-height: 1.4;
  transition: border-color .15s;
}
.prt-chat-field:focus { border-color: var(--brand); }
.prt-chat-send {
  padding: 10px 18px; background: var(--text); color: #fff;
  font-family: var(--font); font-size: 13px; font-weight: 700;
  border: none; border-radius: 99px; cursor: pointer; flex-shrink: 0;
  transition: background .15s;
}
.prt-chat-send:hover { background: #333; }

@media (max-width: 480px) {
  .prt-survey-popup { right: 12px; bottom: 12px; }
  .prt-chat-msg { max-width: 90%; }
}

/* ── Dark mode: inputs, selects, textareas ───────────────────── */
@media (prefers-color-scheme: dark) {
  .cvh .svm-input,
  .cvh .svm-select,
  .cvh .svm-textarea,
  .cvh .app-input,
  .cvh .prt-chat-field,
  .cvh .prt-lunnar-field {
    background: var(--surface-2);
    color: var(--text);
    border-color: var(--border);
  }
  .cvh .svm-input::placeholder,
  .cvh .app-input::placeholder,
  .cvh .prt-chat-field::placeholder,
  .cvh .prt-lunnar-field::placeholder { color: var(--subtle); }

  /* Header search box */
  .cvh .cvh-header__sbox { background: var(--surface-2); border-color: var(--border); }
  .cvh .cvh-header__sinput { color: var(--text); }

  /* Buttons with hardcoded white text stay legible */
  .cvh .app-btn-primary,
  .cvh .svm-submit,
  .cvh .prt-btn-new { background: var(--surface-inv); color: var(--text-inv) !important; -webkit-text-fill-color: var(--text-inv) !important; }
  .cvh .app-btn-primary:hover,
  .cvh .svm-submit:hover,
  .cvh .prt-btn-new:hover { filter: brightness(1.15); }

  /* Login button stays green */
  .cvh .cvh-header__login { background: var(--brand); }

  /* Skeletons */
  .cvh .sw-skel, .cvh .prt-skel-row { background: linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%); }

  /* NF browse cards */
  .cvh .nf-article { background: var(--surface); border-color: var(--border); }
  .cvh .nf-article:hover { background: var(--surface-2); }

  /* Article sidebar */
  .cvh .art-related { background: var(--surface); border-color: var(--border); }

  /* Search results */
  .cvh .cvh-result-item { border-color: var(--border); }
  .cvh .cvh-result-item:hover { background: var(--surface-2); }

  /* Modals */
  .cvh .sw-modal__panel { background: var(--surface); }
  .cvh .sw-modal__head { border-color: var(--border); }

  /* Lunnar tip box */
  .cvh .sw-lunnar-tip { background: var(--brand-lt); }

  /* Result cards */
  .cvh .sw-result-card { background: var(--surface); border-color: var(--border); }

  /* Footer */
  .cvh .cvh-footer { background: var(--surface); border-top-color: var(--border); }
  .cvh .cvh-footer__copy { color: var(--subtle); }

  /* Portal survey */
  .cvh .prt-survey { background: var(--brand-lt); border-color: var(--border); }

  /* Scroll indicator */
  .cvh .cvh-hero__scroll-label { color: var(--subtle); }
}

/* ── Dark mode: surface colours scoped more tightly ─────────── */
@media (prefers-color-scheme: dark) {
  /* Hotfix: any remaining inline #fff that slipped through */
  .cvh-portal-page,
  .cvh .prt-login-card,
  .cvh .prt-widget,
  .cvh .prt-section,
  .cvh .prt-stat-card,
  .cvh .prt-ticket-row,
  .cvh .prt-detail-card,
  .cvh .prt-survey-popup__card,
  .cvh .prt-topbar,
  .cvh .prt-userbar,
  .cvh .app-login-card,
  .cvh .sw-modal__panel,
  .cvh .cvh-header,
  .cvh .cvh-admin-card { background-color: var(--surface); color: var(--text); }

  .cvh .prt-detail-header,
  .cvh .prt-detail-actions,
  .cvh .prt-chat-messages,
  .cvh .prt-chat-input { background-color: var(--surface-2); }

  .cvh-portal-page { background: var(--bg); }

  /* Lunnar widget inner */
  .cvh .prt-lunnar-widget { background: var(--surface); }
  .cvh .prt-lunnar-widget .prt-widget-head { border-color: var(--border); }
  .cvh .prt-lunnar-input { border-color: var(--border); }
  .cvh .prt-lunnar-field { background: transparent; color: var(--text); }
  .cvh .prt-lunnar-msg--bot { background: var(--surface-2); color: var(--text); }
  .cvh .prt-lunnar-msg--user { background: var(--brand); color: #16140F; }

  /* Hero gradient */
  .cvh .app-hero { background: linear-gradient(180deg, #0d1520 0%, var(--bg) 100%); border-color: var(--border); }

  /* Customer card in modal */
  .cvh .svm-customer-card { background: var(--brand-lt); border-color: var(--border); }
  .cvh .svm-customer-name,
  .cvh .svm-customer-plan { color: var(--brand); }

  /* NF sections */
  .cvh .nf-block { border-color: var(--border); }
  .cvh .nf-section-title { color: var(--muted); }

  /* Stat cards value */
  .cvh .prt-stat-val { color: var(--text); }

  /* Tab active */
  .cvh .prt-tab--active { background: var(--text); border-color: var(--text); color: var(--text-inv) !important; }
}

/* ══ DARK MODE FIX COMPLETO ═════════════════════════════════════
   El body de WordPress no está dentro de .cvh, así que hay que
   apuntar al body y al wrapper de la página directamente.
════════════════════════════════════════════════════════════════ */
@media (prefers-color-scheme: dark) {

  /* ── Página completa ───────────────────────────────────────── */
  html,
  body,
  body.page,
  body.single,
  .site,
  .site-content,
  #page,
  #content,
  main,
  .wp-site-blocks {
    background-color: #0f1117 !important;
    color: #e8eaf0 !important;
  }

  /* ── Hero: fondo y texto visibles ─────────────────────────── */
  .cvh .cvh-hero {
    background: linear-gradient(180deg, #0d1520 0%, #0f1117 100%) !important;
  }
  .cvh .cvh-hero__title {
    color: #e8eaf0 !important;
    -webkit-text-fill-color: #e8eaf0 !important;
  }
  .cvh .cvh-hero__sub,
  .cvh .cvh-popular a {
    color: #9499b0 !important;
  }
  .cvh .cvh-popular a:hover { color: #feec07 !important; }

  /* Hero search box */
  .cvh .cvh-hero__search {
    background: #1a1d27 !important;
    border-color: #2e3144 !important;
    box-shadow: 0 0 0 3px rgba(22,184,151,.15) !important;
  }
  .cvh .cvh-hero__sinput {
    color: #e8eaf0 !important;
    background: transparent !important;
  }
  .cvh .cvh-hero__sinput::placeholder { color: #5c617a !important; }
  .cvh .cvh-hero__sbtn {
    background: #1a1d27 !important;
    color: #e8eaf0 !important;
    border-color: #2e3144 !important;
  }

  /* ── Banner de anuncio ─────────────────────────────────────── */
  .cvh .cvh-banner--warning {
    background: #2a2008 !important;
    color: #f5c842 !important;
    border-color: #4a3800 !important;
  }
  .cvh .cvh-banner--info {
    background: #0d1e35 !important;
    color: #7bc4ff !important;
    border-color: #163050 !important;
  }
  /* success y promo no tenían override dark (pastel claro sobre página oscura) */
  .cvh .cvh-banner--success {
    background: #0a2a1e !important;
    color: #6ee7b7 !important;
    border-color: #14503a !important;
  }

  /* ── Browse NF cards ───────────────────────────────────────── */
  .cvh .nf-block {
    background: #1a1d27 !important;
    border-color: #2e3144 !important;
  }
  .cvh .nf-article {
    background: #20232f !important;
    border-color: #2e3144 !important;
  }
  .cvh .nf-article:hover {
    background: #252837 !important;
    border-color: #feec07 !important;
  }
  .cvh .nf-article__title { color: #e8eaf0 !important; }
  .cvh .nf-article__desc  { color: #9499b0 !important; }
  .cvh .nf-section-head   { border-color: #2e3144 !important; }
  .cvh .nf-section-title  { color: #5c617a !important; }
  .cvh .nf-cat-header     { background: #252837 !important; }
  .cvh .nf-cat-header-title { color: #e8eaf0 !important; }

  /* ── Wizard ────────────────────────────────────────────────── */
  .cvh #sw-wrap {
    background: #1a1d27 !important;
    border-color: #2e3144 !important;
  }
  .cvh .sw-head-badge { background: #252837 !important; color: #9499b0 !important; }
  .cvh .sw-modal__q   { color: #e8eaf0 !important; }
  .cvh .sw-step       { color: #5c617a !important; }
  .cvh .sw-step--active { color: #feec07 !important; }
  .cvh .sw-step--done   { color: #feec07 !important; }
  .cvh .sw-opt {
    background: #20232f !important;
    border-color: #2e3144 !important;
    color: #e8eaf0 !important;
  }
  .cvh .sw-opt:hover { border-color: #feec07 !important; background: #3a2e08 !important; }
  .cvh .sw-opt-label  { color: #e8eaf0 !important; }
  .cvh .sw-opt-desc   { color: #9499b0 !important; }
  .cvh .sw-opt-arr    { stroke: #5c617a !important; }
  .cvh .sw-opt-ico    { background: #252837 !important; }
  .cvh .sw-step-bar   { background: #2e3144 !important; }
  .cvh .sw-step-bar::before { background: #feec07 !important; }

  /* Lunnar tip */
  .cvh .sw-lunnar-tip {
    background: #3a2e08 !important;
    border-color: rgba(22,184,151,.3) !important;
    color: #feec07 !important;
  }

  /* Resultados del wizard */
  .cvh .sw-result-card {
    background: #1a1d27 !important;
    border-color: #2e3144 !important;
  }
  .cvh .sw-result-title { color: #e8eaf0 !important; }
  .cvh .sw-result-body  { color: #9499b0 !important; }
  .cvh .sw-result-btn   { border-color: #2e3144 !important; color: #e8eaf0 !important; }

  /* ── Vínculos rápidos / acordeón artículo ─────────────────── */
  .cvh .cvh-quick-link    { border-color: #2e3144 !important; color: #e8eaf0 !important; }
  .cvh .cvh-quick-link:hover { color: #feec07 !important; border-color: #feec07 !important; }
  .cvh .cvh-result-item   { border-color: #2e3144 !important; }
  .cvh .cvh-result-title  { color: #e8eaf0 !important; }
  .cvh .cvh-result-item:hover { background: #20232f !important; }

  /* Artículo */
  .cvh .cvh-article       { background: #1a1d27 !important; }
  .cvh .cvh-article h1,
  .cvh .cvh-article h2,
  .cvh .cvh-article h3    { color: #e8eaf0 !important; }
  .cvh .cvh-article p,
  .cvh .cvh-article li    { color: #9499b0 !important; }
  .cvh .art-related       { background: #20232f !important; border-color: #2e3144 !important; }
  .cvh .art-related__item { border-color: #2e3144 !important; color: #e8eaf0 !important; }

  /* ── CTA mis tickets ───────────────────────────────────────── */
  .cvh .cvh-mycta__inner  { background: #1a1d27 !important; border-color: #2e3144 !important; }
  .cvh .cvh-mycta__title  { color: #e8eaf0 !important; }
  .cvh .cvh-mycta__sub    { color: #9499b0 !important; }

  /* ── Footer ────────────────────────────────────────────────── */
  .cvh .cvh-footer        { background: #1a1d27 !important; border-color: #2e3144 !important; }
  .cvh .cvh-footer__col-title { color: #e8eaf0 !important; }
  .cvh .cvh-footer__link  { color: #9499b0 !important; }
  .cvh .cvh-footer__link:hover { color: #feec07 !important; }
  .cvh .cvh-footer__copy  { color: #5c617a !important; }

  /* ── Scroll indicator ──────────────────────────────────────── */
  .cvh .cvh-hero__scroll { color: #5c617a !important; }
}

/* ── Dark mode: .cvh wrapper propio + gaps + quicklinks ──────── */
@media (prefers-color-scheme: dark) {

  /* El wrapper raíz del plugin debe tener fondo oscuro */
  .cvh {
    background: #0f1117;
    min-height: 100vh;
  }

  /* Body area central */
  .cvh .cvh-body {
    background: #0f1117;
  }

  /* Vínculos rápidos */
  .cvh .cvh-quicklinks,
  .cvh #cvh-quicklinks,
  .cvh .sw-quick-links,
  .cvh [class*="quick"] {
    background: #0f1117;
  }
  .cvh .cvh-quicklink,
  .cvh .sw-quick-link {
    border-color: #2e3144 !important;
    color: #9499b0 !important;
  }
  .cvh .cvh-quicklink:hover { color: #feec07 !important; }
  .cvh .cvh-quicklink svg   { stroke: #5c617a !important; }

  /* Gaps entre secciones */
  .cvh .cvh-body > *,
  .cvh #cvh-browse,
  .cvh #cvh-results,
  .cvh #cvh-art-page {
    background: #0f1117;
  }

  /* Scroll label */
  .cvh .cvh-hero__scroll-label { color: #5c617a !important; }

  /* Asistente de soporte wrapper */
  .cvh #sw-wrap {
    background: #1a1d27 !important;
    border-color: #2e3144 !important;
  }

  /* NF section dividers */
  .cvh .nf-subgroup-header { background: #252837 !important; color: #9499b0 !important; }
  .cvh .nf-subgroup-header:hover { background: #2e3144 !important; }
  .cvh .nf-art-row { border-color: #2e3144 !important; }
  .cvh .nf-art-row:hover { background: #252837 !important; }
  .cvh .nf-art-row a { color: #e8eaf0 !important; }

  /* Support section al final del artículo */
  .cvh .art-support { background: #1a1d27 !important; border-color: #2e3144 !important; }
  .cvh .art-support__title { color: #e8eaf0 !important; }
  .cvh .art-support__sub { color: #9499b0 !important; }
}

/* ══ DARK MODE: TEXTOS — fix completo ══════════════════════════
   Todos los colores hardcodeados (#141414, #333, #444, #666, #999)
   que no heredan de var(--text) necesitan override explícito.
════════════════════════════════════════════════════════════════ */
@media (prefers-color-scheme: dark) {

  /* ── Browse NF: títulos de categoría, subgrupos y artículos ── */
  .cvh .nf-block__title             { color: #e8eaf0 !important; }

  .cvh .nf-row                      { border-top-color: #2e3144 !important; }
  .cvh .nf-row__btn                 { color: #e8eaf0 !important; background: transparent !important; }
  .cvh .nf-row__btn:hover           { background: #252837 !important; }
  .cvh .nf-row__btn[aria-expanded="true"] { background: #252837 !important; border-bottom-color: #2e3144 !important; }
  .cvh .nf-row__chev                { color: #5c617a !important; }

  .cvh .nf-article                  { border-bottom-color: #2e3144 !important; }
  .cvh .nf-article:hover            { background: #252837 !important; }
  .cvh .nf-article svg              { color: #5c617a !important; }
  .cvh .nf-article span             { color: #c8cad8 !important; }
  .cvh .nf-article:hover span       { color: #feec07 !important; }

  /* ── Footer principal ─────────────────────────────────────── */
  .cvh .cvh-footer__col-title       { color: #e8eaf0 !important; }
  .cvh .cvh-footer__links a         { color: #9499b0 !important; }
  .cvh .cvh-footer__links a:hover   { color: #feec07 !important; }

  /* Franja legal inferior */
  .cvh .cvh-footer__bottom          { background: #131620 !important; border-top-color: #2e3144 !important; }
  .cvh .cvh-footer__copy            { color: #e8eaf0 !important; }
  .cvh .cvh-footer__legal           { color: #9499b0 !important; }
  .cvh .cvh-footer__legal a         { color: #feec07 !important; }

  /* ── Vínculos rápidos ─────────────────────────────────────── */
  .cvh .sw-quick-links__title,
  .cvh .cvh-body > h2,
  .cvh .cvh-body > h3              { color: #e8eaf0 !important; }

  /* Quick links rows */
  .cvh .sw-quick { border-bottom-color: #2e3144 !important; }
  .cvh .sw-quick a, .cvh .sw-quick span { color: #c8cad8 !important; }
  .cvh .sw-quick a:hover { color: #feec07 !important; }
  .cvh .sw-quick svg { stroke: #5c617a !important; }

  /* ── CTA mis tickets (banner inferior) ───────────────────── */
  .cvh .cvh-mycta { border-color: #2e3144 !important; }
  .cvh .cvh-mycta__title { color: #e8eaf0 !important; }
  .cvh .cvh-mycta__sub   { color: #9499b0 !important; }
  .cvh .cvh-mycta__inner { background: #1a1d27 !important; }
  .cvh .cvh-mycta__icon svg { stroke: #feec07 !important; }

  /* ── Sección artículo ─────────────────────────────────────── */
  .cvh .cvh-art-title    { color: #e8eaf0 !important; }
  .cvh .cvh-art-body     { color: #c8cad8 !important; }
  .cvh .cvh-art-body h1,
  .cvh .cvh-art-body h2,
  .cvh .cvh-art-body h3  { color: #e8eaf0 !important; }
  .cvh .cvh-art-body a   { color: #feec07 !important; }
  .cvh .cvh-art-body code,
  .cvh .cvh-art-body pre { background: #20232f !important; color: #c8cad8 !important; border-color: #2e3144 !important; }

  /* Related sidebar */
  .cvh .art-related__title { color: #9499b0 !important; }
  .cvh .art-related__item a { color: #c8cad8 !important; }
  .cvh .art-related__item a:hover { color: #feec07 !important; }

  /* Feedback */
  .cvh .art-fb__label { color: #9499b0 !important; }
}

/* ── Dark mode: logo SVG (si no hay logo personalizado) ──────── */
@media (prefers-color-scheme: dark) {
  /* Si se usa el SVG inline por defecto, invertirlo */
  .cvh .cvh-logo-svg { filter: brightness(0) invert(1); }
  /* El <picture> se encarga del logo personalizado automáticamente */
}

/* ── Modal wizard (panel más alto para el wizard de 4 pasos) ── */
.sw-modal__panel--wizard {
  max-height: 92vh;
  overflow-y: auto;
  width: min(540px, 96vw);
}
.sw-modal-intro {
  padding: 0 0 6px;
}
.sw-head-title {
  font-size: 20px; font-weight: 700; color: var(--text);
  margin: 0 0 4px; letter-spacing: -.02em;
}
.sw-head-sub {
  font-size: 13.5px; color: var(--muted); margin: 0;
}

/* ══ LUNNAR ANALYZE — pantalla de análisis libre ══════════════ */

/* Textarea de problema */
.lnd-input-wrap {
  position: relative;
  margin: 12px 0 14px;
}
.lnd-textarea {
  width: 100%;
  min-height: 110px;
  padding: 13px 50px 13px 14px;
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.55;
  color: var(--text);
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}
.lnd-textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(19,150,126,.12);
}
.lnd-textarea::placeholder { color: var(--subtle); }

@keyframes lnd-pulse-red {
  0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,.4); }
  50%      { box-shadow: 0 0 0 5px rgba(239,68,68,0); }
}
@keyframes lnd-wave {
  0%,100% { transform: scaleY(.6); }
  50%     { transform: scaleY(1); }
}

/* Error */
.lnd-error {
  font-size: 13px; color: #a32d2d;
  background: #fcebeb; border: 1px solid #f09595;
  border-radius: 8px; padding: 8px 12px; margin-bottom: 12px;
}

/* Respuesta de Lunnar */
.lnd-response {
  background: var(--brand-lt);
  border: 1px solid rgba(19,150,126,.25);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 16px;
  animation: sw-fade-up .3s ease both;
}
.lnd-response-head {
  display: flex; align-items: center; gap: 8px; margin-bottom: 12px;
}
.lnd-response-logo {
  width: 24px; height: 24px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
}
.lnd-response-name { font-size: 13px; font-weight: 700; color: var(--brand-dk); }
.lnd-response-badge {
  font-size: 10.5px; font-weight: 700; color: #fff;
  background: var(--brand); padding: 2px 8px; border-radius: 99px;
}
.lnd-solution {
  font-size: 14px; color: var(--brand-dk); line-height: 1.6;
  margin: 0 0 8px; font-weight: 500;
}
.lnd-canal-reason {
  font-size: 12.5px; color: var(--brand-dk); opacity: .8;
  margin: 0 0 14px;
}
.lnd-response-actions {
  display: flex; flex-wrap: wrap; gap: 8px;
}

/* Botones de acción */
.lnd-action {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 16px;
  font-family: var(--font); font-size: 13px; font-weight: 600;
  border-radius: 99px; cursor: pointer; text-decoration: none;
  transition: all .15s;
}
.lnd-action--primary {
  background: var(--text); color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none;
}
.lnd-action--primary:hover { background: #333; }
.lnd-action--primary svg { stroke: #fff; }
.lnd-action--sec {
  background: none; border: 1.5px solid var(--border);
  color: var(--text) !important; -webkit-text-fill-color: var(--text) !important;
}
.lnd-action--sec:hover { border-color: var(--brand); color: var(--brand) !important; -webkit-text-fill-color: var(--brand) !important; }

/* Footer con botones de envío y saltar */
.lnd-footer {
  display: flex; flex-direction: column; gap: 8px; align-items: stretch;
}
.lnd-analyze-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 13px;
  background: var(--text); color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: var(--font); font-size: 14.5px; font-weight: 700;
  border: none; border-radius: 99px; cursor: pointer;
  transition: background .15s;
}
.lnd-analyze-btn:hover { background: #333; }
.lnd-analyze-btn:disabled { opacity: .6; cursor: not-allowed; }

.lnd-skip-btn {
  background: none; border: none;
  font-family: var(--font); font-size: 13px; font-weight: 500;
  color: var(--subtle); cursor: pointer; text-align: center; padding: 4px 0;
  transition: color .15s;
}
.lnd-skip-btn:hover { color: var(--brand); }

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .cvh .lnd-textarea { background: var(--surface-2); color: var(--text); border-color: var(--border); }
  .cvh .lnd-response { background: var(--brand-lt); border-color: rgba(22,184,151,.25); }
  .cvh .lnd-solution, .cvh .lnd-canal-reason, .cvh .lnd-response-name { color: #7ee8d0; }
  .cvh .lnd-action--sec { border-color: var(--border); color: var(--text) !important; -webkit-text-fill-color: var(--text) !important; }
}

/* ══ LUNNAR ANALYZE — rediseño v2 ════════════════════════════ */

/* Selector de dos modos */
.lnd-mode-selector {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 10px;
}

/* Tarjeta de modo */
.lnd-mode-card {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 16px;
  text-align: left;
  width: 100%;
  font-family: var(--font);
  cursor: default;
}

/* Cabecera de tarjeta */
.lnd-mode-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.lnd-mode-logo {
  width: 32px; height: 32px;
  border-radius: 50%; object-fit: cover; flex-shrink: 0;
}
.lnd-mode-icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--surface-3);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.lnd-mode-icon svg { stroke: var(--muted); }
.lnd-mode-title { font-size: 14px; font-weight: 700; color: var(--text); margin: 0 0 2px; }
.lnd-mode-sub   { font-size: 12.5px; color: var(--muted); margin: 0; line-height: 1.4; }

/* Input area: textarea + mic en columna */
.lnd-input-area {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

/* Textarea limpio, sin icono encima */
.lnd-textarea {
  width: 100%;
  min-height: 90px;
  padding: 12px 14px;
  font-family: var(--font);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text);
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: 10px;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}
.lnd-textarea:focus {
  border-color: var(--brand);
  background: var(--surface);
  box-shadow: 0 0 0 3px rgba(19,150,126,.1);
}
.lnd-textarea::placeholder { color: var(--subtle); }

/* Botón micrófono — ahora debajo del textarea{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 99px;
  font-family: var(--font);
  font-size: 12.5px; font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  align-self: flex-start;
  transition: all .15s;
}

/* Divisor "o" */
.lnd-or {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  color: var(--subtle);
  font-size: 12px;
}
.lnd-or::before, .lnd-or::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border);
}

/* Tarjeta wizard — es un botón clickeable */
.lnd-mode-card--wizard {
  cursor: pointer;
  transition: border-color .15s, background .15s;
  border-style: dashed;
}
.lnd-mode-card--wizard .lnd-mode-card__head { margin-bottom: 0; }
.lnd-mode-card--wizard:hover {
  border-color: var(--brand);
  background: var(--brand-lt);
}
.lnd-mode-card--wizard:hover .lnd-mode-title { color: var(--brand-dk); }
.lnd-mode-card--wizard:hover .lnd-mode-icon svg { stroke: var(--brand); }
.lnd-mode-card--wizard:hover .lnd-mode-icon { background: rgba(19,150,126,.15); }
.lnd-mode-card--wizard .sw-opt-arr { stroke: var(--subtle); margin-left: auto; flex-shrink: 0; }

/* Dark mode overrides */
@media (prefers-color-scheme: dark) {
  .cvh .lnd-mode-card { background: var(--surface); border-color: var(--border); }
  .cvh .lnd-textarea { background: var(--surface-2); color: var(--text); border-color: var(--border); }
  .cvh .lnd-textarea:focus { background: var(--surface-2); }
  .cvh .lnd-mode-icon { background: var(--surface-2); }
  .cvh .lnd-mode-card--wizard:hover { background: var(--brand-lt); border-color: var(--brand); }
}

@media (max-width: 480px) {
  .lnd-mode-card { padding: 14px; }
}

/* ══ ANTI-ZOOM en móvil ═════════════════════════════════════════
   iOS/Android hace zoom automático en inputs con font-size < 16px.
   Forzamos 16px en móvil en todos los campos del plugin.
   Esto NO bloquea el zoom manual — solo evita el zoom automático.
════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .cvh input[type="text"],
  .cvh input[type="email"],
  .cvh input[type="password"],
  .cvh input[type="url"],
  .cvh input[type="search"],
  .cvh input[type="tel"],
  .cvh input[type="number"],
  .cvh textarea,
  .cvh select,
  /* Clases específicas del plugin */
  .cvh .svm-input,
  .cvh .svm-select,
  .cvh .svm-textarea,
  .cvh .app-input,
  .cvh .lnd-textarea,
  .cvh .prt-lunnar-field,
  .cvh .prt-chat-field,
  .cvh .cvh-header__sinput,
  .cvh .cvh-hero__sinput {
    font-size: 16px !important;
  }
}

/* ══ TRANSICIONES DE VISTA — artículo / inicio ═════════════════ */
.cvh-fade-out {
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}
.cvh-fade-in {
  animation: cvh-fadein .28s ease both;
}
@keyframes cvh-fadein {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Artículo: aseguramos que el scroll vuelve siempre al top */
#cvh-art-page {
  scroll-margin-top: 0;
}

/* ── Asegurar que hidden funciona en los elementos del plugin ── */
.cvh #cvh-hero[hidden],
.cvh #cvh-body[hidden],
.cvh #cvh-art-page[hidden],
.cvh #cvh-browse[hidden],
.cvh #cvh-results[hidden],
.cvh #cvh-ai-panel[hidden] {
  display: none !important;
}

/* ── Topbar del artículo con botón compartir ─────────────────── */
.cvh-art-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}

.cvh-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 99px;
  font-family: var(--font);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
  flex-shrink: 0;
}
.cvh-share-btn svg { stroke: var(--muted); transition: stroke .15s; }
.cvh-share-btn:hover {
  border-color: var(--brand);
  color: var(--brand);
  background: var(--brand-lt);
}
.cvh-share-btn:hover svg { stroke: var(--brand); }

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .cvh .cvh-share-btn { background: var(--surface-2); border-color: var(--border); }
}

/* ── Alertas dentro de artículos ────────────────────────────── */
.cvh-alert {
  padding: 14px 16px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.55;
  margin: 16px 0;
  border-left: 4px solid;
}
.cvh-alert--warning {
  background: #fff8e6;
  border-color: #f59e0b;
  color: #92400e;
}
.cvh-alert--info {
  background: var(--brand-lt);
  border-color: var(--brand);
  color: var(--brand-dk);
}
.cvh-alert strong { font-weight: 700; }

/* Imágenes dentro de artículos */
.cvh-article__body img {
  max-width: 100%;
  border-radius: 10px;
  margin: 14px 0;
  border: 1px solid var(--border);
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* Tablas dentro de artículos */
.cvh-article__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  margin: 14px 0;
}
.cvh-article__body th {
  background: var(--surface-2);
  font-weight: 700;
  padding: 10px 14px;
  text-align: left;
  border: 1px solid var(--border);
}
.cvh-article__body td {
  padding: 9px 14px;
  border: 1px solid var(--border);
  vertical-align: top;
}
.cvh-article__body tr:nth-child(even) td {
  background: var(--surface-2);
}

@media (prefers-color-scheme: dark) {
  .cvh .cvh-alert--warning { background: #2a1f00; border-color: #f59e0b; color: #fbbf24; }
  .cvh .cvh-article__body table th { background: var(--surface-3); }
  .cvh .cvh-article__body tr:nth-child(even) td { background: var(--surface-2); }
}

/* ══ PÁGINA DE ARTÍCULO INDIVIDUAL ════════════════════════════════ */

/* Breadcrumb */
.cvh-breadcrumb {
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.cvh-breadcrumb__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 12px 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--muted);
}
.cvh-breadcrumb__link {
  color: var(--brand);
  text-decoration: none;
  font-weight: 500;
}
.cvh-breadcrumb__link:hover { text-decoration: underline; }
.cvh-breadcrumb__sep { color: var(--subtle); }
.cvh-breadcrumb__current { color: var(--muted); }

/* Layout principal del artículo */
.cvh-art-single {
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px 24px 80px;
}
.cvh-art-single__wrap {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 48px;
  align-items: start;
}
.cvh-art-single__main { min-width: 0; }

/* Meta info del artículo */
.cvh-article__cat {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--brand);
  margin: 0 0 10px;
}
.cvh-article__meta {
  font-size: 12.5px;
  color: var(--subtle);
  margin: 6px 0 28px;
}

/* CTA al final del artículo */
.cvh-art-cta {
  margin-top: 48px;
  padding: 28px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 16px;
  text-align: center;
}
.cvh-art-cta__q {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 16px;
}
.cvh-art-cta__btns {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.cvh-art-cta__btn {
  padding: 10px 22px;
  border-radius: 99px;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .15s;
}
.cvh-art-cta__btn--outline {
  border: 1.5px solid var(--border);
  color: var(--text);
  background: transparent;
}
.cvh-art-cta__btn--outline:hover { border-color: var(--brand); color: var(--brand); }
.cvh-art-cta__btn--primary {
  background: var(--text);
  color: #fff !important;
  border: 1.5px solid transparent;
}
.cvh-art-cta__btn--primary:hover { background: #333; }

/* Sidebar relacionados */
.cvh-art-single__sidebar {
  position: sticky;
  top: calc(var(--hh) + 20px);
}

/* Feedback en artículo individual */
.cvh-fb__thanks {
  font-size: 13.5px;
  color: var(--brand);
  font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
  .cvh-art-single__wrap {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .cvh-art-single__sidebar { position: static; }
  .cvh-art-single { padding: 24px 16px 60px; }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .cvh .cvh-breadcrumb { background: var(--surface); border-color: var(--border); }
  .cvh .cvh-art-cta { background: var(--surface); border-color: var(--border); }
  .cvh .cvh-art-cta__btn--outline { border-color: var(--border); color: var(--text); }
}

/* ══ PÁGINA DE CITA ════════════════════════════════════════════════ */

/* Botón "Pedir cita" en el header */
.cvh-header__appt-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 15px;
  font-family: var(--font); font-size: 13.5px; font-weight: 600;
  color: var(--text) !important; -webkit-text-fill-color: var(--text) !important;
  background: var(--surface-3);
  border: 1.5px solid var(--border);
  border-radius: 99px;
  text-decoration: none;
  white-space: nowrap;
  transition: all .15s;
}
.cvh-header__appt-btn svg { stroke: var(--muted); flex-shrink: 0; }
.cvh-header__appt-btn:hover {
  border-color: var(--brand);
  color: var(--brand) !important;
  -webkit-text-fill-color: var(--brand) !important;
  background: var(--brand-lt);
}
.cvh-header__appt-btn:hover svg { stroke: var(--brand); }
@media (max-width: 640px) { .cvh-header__appt-btn { display: none; } }

/* CTA card "Pedir cita" en el help center */
.cvh-appt-cta {
  margin: 0 auto 16px;
  max-width: 860px;
}
.cvh-appt-cta__inner {
  display: flex; align-items: center; gap: 18px;
  padding: 20px 24px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 14px;
  transition: border-color .15s;
}
.cvh-appt-cta__inner:hover { border-color: var(--brand); }
.cvh-appt-cta__ico {
  width: 44px; height: 44px; flex-shrink: 0;
  background: var(--brand-lt);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
}
.cvh-appt-cta__ico svg { stroke: var(--brand); }
.cvh-appt-cta__text { flex: 1; min-width: 0; }
.cvh-appt-cta__title { font-size: 14.5px; font-weight: 700; color: var(--text); margin: 0 0 3px; }
.cvh-appt-cta__sub   { font-size: 13px; color: var(--muted); margin: 0; }
.cvh-appt-cta__btn {
  flex-shrink: 0;
  padding: 9px 20px;
  background: var(--text); color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 99px;
  font-family: var(--font); font-size: 13.5px; font-weight: 700;
  text-decoration: none; white-space: nowrap;
  transition: background .15s;
}
.cvh-appt-cta__btn:hover { background: #333; }
@media (max-width: 600px) {
  .cvh-appt-cta__inner { flex-wrap: wrap; }
  .cvh-appt-cta__btn { width: 100%; text-align: center; }
}

/* ── Página de cita — hero ──────────────────────────────────────── */
.appt-hero {
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  padding: 48px 24px 40px;
  text-align: center;
}
.appt-hero__inner { max-width: 680px; margin: 0 auto; }
.appt-back {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 500; color: var(--muted);
  text-decoration: none; margin-bottom: 24px;
  transition: color .15s;
}
.appt-back:hover { color: var(--brand); }
.appt-back svg { stroke: currentColor; }
.appt-hero__title {
  font-size: clamp(26px, 5vw, 38px); font-weight: 800;
  color: var(--text); letter-spacing: -.03em; margin: 0 0 12px;
}
.appt-hero__sub {
  font-size: 16px; color: var(--muted); line-height: 1.6; margin: 0 0 28px;
}
.appt-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.appt-chip {
  padding: 6px 14px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 99px; font-size: 13px; color: var(--muted);
}

/* ── Widget Elfsight ────────────────────────────────────────────── */
.appt-widget { padding: 40px 24px; }
.appt-widget__inner { max-width: 900px; margin: 0 auto; }

/* ── Alternativas ───────────────────────────────────────────────── */
.appt-alts {
  padding: 0 24px 64px;
  border-top: 1px solid var(--border);
}
.appt-alts__inner { max-width: 680px; margin: 0 auto; padding-top: 40px; text-align: center; }
.appt-alts__title { font-size: 16px; font-weight: 700; color: var(--text); margin: 0 0 20px; }
.appt-alts__cards { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.appt-alt-card {
  flex: 1; min-width: 140px; max-width: 180px;
  padding: 20px 16px;
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: 14px; text-decoration: none; text-align: center;
  transition: border-color .15s, background .15s;
}
.appt-alt-card:hover { border-color: var(--brand); background: var(--brand-lt); }
.appt-alt-card__icon { font-size: 24px; margin-bottom: 8px; }
.appt-alt-card__name { font-size: 14px; font-weight: 700; color: var(--text); margin: 0 0 4px; }
.appt-alt-card__desc { font-size: 12px; color: var(--muted); margin: 0; }

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .cvh .cvh-header__appt-btn { background: var(--surface-2); border-color: var(--border); color: var(--text) !important; -webkit-text-fill-color: var(--text) !important; }
  .cvh .cvh-appt-cta__inner,
  .cvh .appt-alt-card { background: var(--surface); border-color: var(--border); }
  .cvh .appt-hero { background: #0d1520; }
  .cvh .appt-chip { background: var(--surface); border-color: var(--border); }
}

/* ── Tarjeta "calendar" en resultados del wizard ─────────────── */
.sw-result-ico.calendar { background: #eff6ff; }
.sw-result-ico.calendar svg { stroke: #3b82f6; }
@media (prefers-color-scheme: dark) {
  .cvh .sw-result-ico.calendar { background: #1e3a5f; }
  .cvh .sw-result-ico.calendar svg { stroke: #60a5fa; }
}

/* ── Botón "Pedir cita" en tarjeta calendar del wizard ─────────── */
.sw-result-card.calendar .sw-result-btn {
  background: #2563eb;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sw-result-card.calendar .sw-result-btn::before {
  content: '📅';
  font-size: 13px;
}

/* ── Logo Lunnar en tarjeta de alternativas (appointment page) ── */
.appt-alt-card__icon--img {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f0faf7;
  border-radius: 12px;
}
.appt-lunnar-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 50%;
}
@media (prefers-color-scheme: dark) {
  .cvh .appt-alt-card__icon--img { background: #3a2e08; }
}

/* ══════════════════════════════════════════════════════════════════════
   STATUS PAGE — /estado/
   ════════════════════════════════════════════════════════════════════ */

/* Hero */
.status-hero {
  text-align: center;
  padding: 60px 24px 40px;
}
.status-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px 7px 12px;
  border-radius: 99px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 22px;
  border: 1.5px solid;
}
.status-hero__badge--ok       { background: var(--brand-lt); border-color: var(--brand);    color: var(--brand-dk); }
.status-hero__badge--warning  { background: #fef3c7;         border-color: #d97706;         color: #92400e; }
.status-hero__badge--critical { background: #fee2e2;         border-color: #dc2626;         color: #991b1b; }
.status-pulse {
  position: relative; width: 8px; height: 8px;
  border-radius: 50%; background: currentColor; flex-shrink: 0;
}
.status-pulse::before {
  content: ''; position: absolute; inset: 0; border-radius: 50%;
  background: currentColor; animation: status-pulse-out 2s ease-out infinite;
}
@keyframes status-pulse-out {
  0%   { transform: scale(1);   opacity: .6; }
  100% { transform: scale(2.8); opacity: 0;  }
}
.status-hero__title {
  font-size: clamp(32px, 5vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--text);
  margin: 0 auto 12px;
  max-width: 16ch;
}
.status-hero__sub {
  font-size: 15px;
  color: var(--muted);
  margin: 0 auto;
  max-width: 480px;
}
.status-hero__meta {
  font-size: 12.5px;
  color: var(--subtle);
  margin-top: 16px;
  font-variant-numeric: tabular-nums;
}

/* Main container */
.status-main {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px 80px;
}
@media (max-width: 600px) {
  .status-hero { padding: 40px 16px 24px; }
  .status-main { padding: 0 16px 60px; }
}

/* Service row */
.status-svc {
  display: grid;
  grid-template-columns: 1fr 260px auto;
  align-items: center;
  gap: 20px;
  padding: 16px 20px;
  border-top: 1px solid var(--border-lt);
  transition: background .12s;
}
.status-svc:hover { background: var(--surface-2); }
.status-svc__info { min-width: 0; }
.status-svc__name { font-size: 14.5px; font-weight: 600; color: var(--text); letter-spacing: -0.005em; margin-bottom: 2px; }
.status-svc__desc { font-size: 12.5px; color: var(--muted); }
.status-svc__status {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 600; white-space: nowrap;
}
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand); flex-shrink: 0; }
.status-dot--amber { background: #C97A45; }
.status-dot--red   { background: #D8543F; }
.status-uptime-pct {
  font-size: 12px; color: var(--muted); margin-left: 6px;
  font-weight: 500; font-variant-numeric: tabular-nums;
}
.status-svc__uptime { display: flex; flex-direction: column; gap: 5px; }
.status-bar-row { display: flex; gap: 2px; height: 22px; }
.status-bar {
  flex: 1; background: var(--brand); border-radius: 2px;
  min-width: 2px; opacity: 0.85;
  transition: opacity .12s, transform .12s;
}
.status-bar:hover { opacity: 1; transform: scaleY(1.12); }
/* Paso actual de Lunnar bajo los puntos de "escribiendo" */
.prt-typing__step { display:block; font-size:12px; color:var(--subtle,#6b6b6b); margin:4px 0 0 6px; font-style:italic; }
.status-bar.degraded { background: #C97A45; }
.status-bar.outage   { background: #D8543F; }
/* Móvil: 90 barras × (min 2px + gap 2px) = 358px desbordaban en 375px.
   Dejar que flexbox las encoja (siguen siendo 90 días, solo más finas). */
@media (max-width: 480px) {
  .status-bar-row { gap: 1px; }
  .status-bar { min-width: 0; }
}
.status-uptime-labels {
  display: flex; justify-content: space-between;
  font-size: 10.5px; color: var(--subtle);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 760px) {
  .status-svc { grid-template-columns: 1fr auto; gap: 12px; }
  .status-svc__uptime { grid-column: 1 / -1; }
}

/* Incident card */
.status-incidents-active .nf-block__icon--alert { background: #fef3c7; }
.status-incidents-active .nf-block__icon--alert svg { stroke: #d97706; }

.status-incident {
  padding: 18px 20px;
  border-top: 1px solid var(--border-lt);
}
.status-incident__head {
  display: flex; align-items: center; gap: 10px;
  flex-wrap: wrap; margin-bottom: 8px;
}
.status-incident__title {
  font-size: 15px; font-weight: 700;
  color: var(--text); margin: 0; flex: 1; min-width: 0;
}
.status-incident__date {
  font-size: 11.5px; color: var(--subtle);
  font-variant-numeric: tabular-nums;
}
.status-incident__svc {
  font-size: 12.5px; color: var(--muted); margin: 0 0 8px;
}
.status-incident__body {
  font-size: 14px; color: var(--muted); line-height: 1.55;
}
.status-incident__body p { margin: 0 0 8px; }
.status-incident__body p:last-child { margin: 0; }

.status-pill {
  display: inline-block; padding: 3px 10px;
  font-size: 10.5px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
  border-radius: 99px;
}
.status-pill--minor    { background: #fef3c7; color: #92400e; }
.status-pill--major    { background: #fed7aa; color: #9a3412; }
.status-pill--critical { background: #fee2e2; color: #991b1b; }
.status-pill--resolved { background: var(--brand-lt); color: var(--brand-dk); }

/* Empty state */
.status-empty {
  padding: 44px 24px; text-align: center;
  background: var(--surface);
}
.status-empty__ico {
  display: inline-flex; width: 48px; height: 48px;
  background: var(--brand-lt); border-radius: 50%;
  align-items: center; justify-content: center; margin-bottom: 14px;
}
.status-empty__ico svg { stroke: var(--brand); width: 22px; height: 22px; fill: none; }
.status-empty__title { font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.status-empty__sub   { font-size: 13px; color: var(--muted); }

/* Subscribe */
.status-subscribe {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  display: flex; align-items: center; gap: 16px;
  margin-top: 16px;
}
.status-subscribe__ico {
  width: 36px; height: 36px;
  background: rgba(19,150,126,.1);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.status-subscribe__ico svg { stroke: var(--brand); width: 18px; height: 18px; fill: none; }
.status-subscribe__text { flex: 1; min-width: 0; }
.status-subscribe__title { font-size: 14.5px; font-weight: 700; color: var(--text); margin-bottom: 2px; }
.status-subscribe__sub   { font-size: 12.5px; color: var(--muted); }
.status-subscribe__form { display: flex; gap: 8px; flex-shrink: 0; }
.status-subscribe__input {
  padding: 9px 14px; font-family: var(--font); font-size: 13px;
  background: var(--bg); border: 1.5px solid var(--border);
  border-radius: 99px; color: var(--text); outline: none;
  width: 200px; transition: border-color .15s;
}
.status-subscribe__input:focus { border-color: var(--brand); }
.status-subscribe__btn {
  padding: 9px 18px; background: var(--text); color: var(--surface);
  font-family: var(--font); font-size: 13px; font-weight: 600;
  border: none; border-radius: 99px; cursor: pointer; white-space: nowrap;
}
.status-subscribe__btn:hover:not(:disabled) { opacity: 0.85; }
.status-subscribe__btn:disabled { opacity: 0.7; cursor: not-allowed; }

@media (max-width: 680px) {
  .status-subscribe { flex-direction: column; align-items: stretch; text-align: center; }
  .status-subscribe__ico { margin: 0 auto; }
  .status-subscribe__form { width: 100%; }
  .status-subscribe__input { flex: 1; width: auto; }
}

.status-sub-msg {
  text-align: center;
  font-size: 13px;
  margin-top: 14px;
  min-height: 18px;
}
.status-sub-msg--ok  { color: var(--brand-dk); }
.status-sub-msg--err { color: #dc2626; }

/* Footer */
.status-foot {
  margin-top: 40px; text-align: center;
  font-size: 12.5px; color: var(--subtle); line-height: 1.7;
}
.status-foot a { color: var(--muted); transition: color .15s; }
.status-foot a:hover { color: var(--brand); }
.status-foot__legal { margin-top: 10px; font-size: 11px; }

/* Flash message (subscription confirmed) */
.status-flash {
  background: var(--brand-lt);
  border: 1.5px solid var(--brand);
  color: var(--brand-dk);
  padding: 14px 20px;
  border-radius: 12px;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 16px;
}


/* ── STATUS PAGE FIXES (iconos + alineación) ────────────────── */

/* Iconos del nf-block en la página de estado: más pequeños */
.cvh .status-main .nf-block__icon svg {
  width: 16px !important;
  height: 16px !important;
}
.cvh .status-main .nf-block__icon {
  width: 32px;
  height: 32px;
}

/* Alinear "Operativo / 100%" con el final del uptime "hoy" */
.status-svc {
  grid-template-columns: 1fr 240px 140px !important;
  align-items: start !important;
  padding: 18px 20px !important;
}
.status-svc__info {
  padding-top: 2px;
}
.status-svc__uptime {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-self: start;
}
.status-svc__status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  justify-content: flex-end;
  padding-top: 2px;
}
.status-uptime-pct {
  font-size: 12px;
  color: var(--muted);
  margin-left: 8px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 760px) {
  .status-svc {
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
  }
  .status-svc__uptime {
    grid-column: 1 / -1;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   BANNER DE ESTADO EN FOOTER — BLINDADO CONTRA TEMA WP
   ═══════════════════════════════════════════════════════════════════════
   Estrategia anti-conflicto:
   1. Reset agresivo de TODAS las propiedades heredables del tema
   2. Doble selector para subir especificidad sin tener que recurrir a IDs
   3. !important en cada propiedad crítica (color, background, border, font)
   4. Selectores duplicados (.a.a.a) por si el tema usa especificidad alta
   ══════════════════════════════════════════════════════════════════════ */

footer .cvh-footer__status-wrap,
.cvh-footer__status-wrap,
.cvh .cvh-footer__status-wrap {
  margin: 20px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  text-align: center !important;
}

/* Píldora — reset completo + estilo blindado */
a.casave-status-pill,
.casave-status-pill,
.cvh-footer .casave-status-pill,
footer .casave-status-pill,
.cvh-footer__status-wrap .casave-status-pill {
  /* RESET — neutralizar el tema activo */
  all: unset !important;
  /* Estilos de la píldora */
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 16px 8px 14px !important;
  margin: 0 !important;
  background: #ffffff !important;
  background-image: none !important;
  background-color: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 999px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  color: #141414 !important;
  -webkit-text-fill-color: #141414 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  vertical-align: middle !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  outline: none !important;
  text-align: center !important;
}

a.casave-status-pill:hover,
.casave-status-pill:hover,
.cvh-footer .casave-status-pill:hover,
footer .casave-status-pill:hover {
  background: #fafafa !important;
  background-color: #fafafa !important;
  border-color: #feec07 !important;
  color: #d9a10e !important;
  -webkit-text-fill-color: #d9a10e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
  text-decoration: none !important;
}

a.casave-status-pill:focus,
a.casave-status-pill:active,
a.casave-status-pill:visited {
  color: #141414 !important;
  -webkit-text-fill-color: #141414 !important;
  text-decoration: none !important;
  outline: none !important;
  background-color: #ffffff !important;
}

.casave-status-pill span,
.casave-status-pill > span {
  all: unset !important;
  display: inline-block !important;
  font: inherit !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  background: transparent !important;
  vertical-align: middle !important;
}

.casave-status-pill .casave-status-pill__dot,
.casave-status-pill__dot {
  position: relative !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  border-radius: 50% !important;
  background: #feec07 !important;
  background-color: #feec07 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

.casave-status-pill__dot::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  border-radius: 50% !important;
  background: #feec07 !important;
  background-color: #feec07 !important;
  animation: casave-pill-pulse 2s ease-out infinite !important;
  pointer-events: none !important;
}

@keyframes casave-pill-pulse {
  0%   { transform: scale(1);   opacity: 0.5; }
  100% { transform: scale(2.6); opacity: 0;   }
}

/* Variantes de estado */
.casave-status-pill--warning .casave-status-pill__dot,
.casave-status-pill--warning .casave-status-pill__dot::before {
  background: #d97706 !important;
  background-color: #d97706 !important;
}
.casave-status-pill--critical .casave-status-pill__dot,
.casave-status-pill--critical .casave-status-pill__dot::before {
  background: #dc2626 !important;
  background-color: #dc2626 !important;
}

/* Modo oscuro automático */
@media (prefers-color-scheme: dark) {
  a.casave-status-pill,
  .casave-status-pill {
    background: #1a1d27 !important;
    background-color: #1a1d27 !important;
    border-color: #2e3144 !important;
    color: #e8eaf0 !important;
    -webkit-text-fill-color: #e8eaf0 !important;
  }
  a.casave-status-pill:hover,
  .casave-status-pill:hover {
    background: #20232f !important;
    background-color: #20232f !important;
    border-color: #feec07 !important;
    color: #feec07 !important;
    -webkit-text-fill-color: #feec07 !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  a.casave-status-pill,
  .casave-status-pill {
    font-size: 11.5px !important;
    padding: 7px 14px 7px 12px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PORTAL v3 — HERO LUNNAR + ASISTENTE ESTILO SIRI
   ═══════════════════════════════════════════════════════════════ */
.cvh .prt-hero { position:relative; overflow:hidden; border-radius:26px; padding:32px 32px 28px; margin-bottom:24px;
  background:linear-gradient(135deg,#fff 0%,#FBFAFF 45%,#F5F2FF 100%);
  border:1px solid rgba(124,107,184,.16); box-shadow:0 10px 40px rgba(87,74,135,.14); }
.cvh .prt-hero::before { content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(460px 280px at 88% -8%, rgba(124,107,184,.20), transparent 62%),
            radial-gradient(420px 260px at 108% 60%, rgba(19,150,126,.14), transparent 60%),
            radial-gradient(340px 220px at -6% 110%, rgba(155,143,212,.16), transparent 60%); }
.cvh .prt-hero__wrap { position:relative; display:flex; gap:22px; align-items:center; }
.cvh .prt-hero__orb { width:64px; height:64px; flex-shrink:0; object-fit:contain;
  filter:drop-shadow(0 8px 22px rgba(87,74,135,.32)); animation:prtFloat 5s ease-in-out infinite; }
@keyframes prtFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.cvh .prt-hero__title { font-family:'Inter',sans-serif; font-weight:700; font-size:26px; line-height:1.16; letter-spacing:-.025em; margin:0 0 8px; color:var(--text); }
.cvh .prt-hero__title em { font-style:normal; background:linear-gradient(120deg,#574A87,#feec07); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cvh .prt-hero__sub { font-size:14.5px; color:var(--muted); max-width:46ch; margin:0; }
.cvh .prt-composer { margin-top:22px; position:relative; background:#fff; border:1.5px solid rgba(124,107,184,.2);
  border-radius:16px; padding:7px 7px 7px 18px; display:flex; align-items:center; gap:12px; cursor:text;
  transition:.25s cubic-bezier(.16,1,.3,1); box-shadow:0 2px 8px rgba(87,74,135,.06); }
.cvh .prt-composer:hover { border-color:rgba(124,107,184,.4); box-shadow:0 6px 20px rgba(87,74,135,.12); }
.cvh .prt-composer input { flex:1; border:none; outline:none; font-family:'Inter',sans-serif; font-size:15px; color:var(--text); background:none; padding:10px 0; cursor:text; }
.cvh .prt-composer input::placeholder { color:var(--subtle); }
.cvh .prt-composer__send { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,#574A87,#e8ce00);
  color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:.2s cubic-bezier(.16,1,.3,1); border:none; cursor:pointer; }
.cvh .prt-composer__send:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(87,74,135,.4); }
.cvh .prt-hero__chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.cvh .prt-chip { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; background:#fff; border:1px solid var(--border);
  border-radius:999px; font-size:12.5px; font-weight:500; color:var(--text); cursor:pointer; font-family:'Inter',sans-serif;
  transition:.2s cubic-bezier(.16,1,.3,1); box-shadow:0 1px 2px rgba(19,32,28,.04); }
.cvh .prt-chip:hover { border-color:#e8ce00; color:#574A87; transform:translateY(-1px); box-shadow:0 4px 12px rgba(87,74,135,.12); }
.cvh .prt-chip svg { width:13px; height:13px; color:#e8ce00; }

/* Sidebar: estado mini */
.cvh .prt-status-mini { display:flex; align-items:center; gap:10px; padding:14px 18px; background:var(--surface);
  border:1px solid var(--border); border-radius:16px; font-size:13px; font-weight:500; color:var(--text); }
.cvh .prt-status-mini__dot { width:8px; height:8px; border-radius:50%; background:#feec07; box-shadow:0 0 0 3px rgba(19,150,126,.15); flex-shrink:0; }
.cvh .prt-status-mini a { margin-left:auto; font-size:12px; color:#d9a10e; font-weight:600; }

/* Sidebar: tarjeta agente */
.cvh .prt-agent-card { background:linear-gradient(150deg,rgba(124,107,184,.07),rgba(19,150,126,.05));
  border:1px solid var(--border); border-radius:20px; padding:22px; }
.cvh .prt-agent-card__title { font-family:'Inter',sans-serif; font-weight:600; font-size:15px; margin:0 0 6px; color:var(--text); }
.cvh .prt-agent-card__sub { font-size:13px; color:var(--muted); margin:0 0 16px; line-height:1.5; }
.cvh .prt-btn-agent { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:13px;
  border-radius:13px; font-family:'Inter',sans-serif; font-weight:600; font-size:14px; background:#feec07; color:#fff;
  border:none; cursor:pointer; transition:.2s cubic-bezier(.16,1,.3,1); }
.cvh .prt-btn-agent:hover { background:#d9a10e; transform:translateY(-1px); box-shadow:0 8px 20px rgba(19,150,126,.3); }
.cvh .prt-btn-lunnar-ghost { display:flex; align-items:center; justify-content:center; width:100%; padding:12px; margin-top:8px;
  border-radius:13px; font-family:'Inter',sans-serif; font-weight:600; font-size:14px; background:rgba(255,255,255,.7);
  border:1px solid var(--border); color:var(--text); cursor:pointer; transition:.2s cubic-bezier(.16,1,.3,1); }
.cvh .prt-btn-lunnar-ghost:hover { background:#fff; }

/* ── ASISTENTE PANTALLA COMPLETA ── */
.cvh-assist-open { overflow:hidden; }
.prt-assist { position:fixed; inset:0; z-index:9999; display:none; opacity:0; transition:opacity .4s cubic-bezier(.16,1,.3,1);
  font-family:'Inter',sans-serif; }
.prt-assist.on { display:block; opacity:1; }
.prt-assist__bg { position:absolute; inset:0; background:linear-gradient(180deg,#FBFAFF 0%,#F4F2FB 55%,#EFF4F2 100%); }
.prt-assist__glow { position:absolute; inset:0; pointer-events:none;
  background:conic-gradient(from 0deg,#feec07,#e8ce00,#fff3a0,#C97A45,#feec07,#e8ce00,#feec07);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  border:14px solid transparent; filter:blur(14px); opacity:.9; animation:prtHue 6s linear infinite; }
@keyframes prtHue { to{filter:blur(14px) hue-rotate(360deg)} }
.prt-assist__glow2 { position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 80px 8px rgba(124,107,184,.16), inset 0 0 160px 40px rgba(19,150,126,.08); }
.prt-assist__inner { position:absolute; inset:0; display:flex; flex-direction:column; max-width:820px; margin:0 auto; }
.prt-assist__top { display:flex; align-items:center; gap:14px; padding:22px 26px; }
.prt-assist__id { display:flex; align-items:center; gap:12px; flex:1; }
.prt-assist__orb { width:40px; height:40px; object-fit:contain; filter:drop-shadow(0 4px 12px rgba(87,74,135,.3)); }
.prt-assist__name { font-family:'Inter',sans-serif; font-weight:600; font-size:17px; letter-spacing:-.01em; color:#1c1c1e; }
.prt-assist__close { width:40px; height:40px; border-radius:50%; background:rgba(19,32,28,.05); color:#5A6B64;
  display:flex; align-items:center; justify-content:center; border:none; cursor:pointer; transition:.2s cubic-bezier(.16,1,.3,1); }
.prt-assist__close:hover { background:rgba(19,32,28,.1); color:#1c1c1e; }
.prt-assist__welcome { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px 26px; text-align:center; }
.prt-assist__welcome.hide { display:none; }
.prt-assist__bigorb { width:120px; height:120px; object-fit:contain; margin-bottom:26px;
  filter:drop-shadow(0 12px 40px rgba(87,74,135,.4)); animation:prtBreathe 4s ease-in-out infinite; }
@keyframes prtBreathe { 0%,100%{transform:scale(1)} 50%{transform:scale(1.06)} }
.prt-assist__greet { font-family:'Inter',sans-serif; font-weight:700; font-size:32px; line-height:1.15; letter-spacing:-.03em; max-width:16ch; margin:0; color:#1c1c1e; }
.prt-assist__greet em { font-style:normal; background:linear-gradient(120deg,#574A87,#feec07); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.prt-assist__greetsub { font-size:15px; color:#5A6B64; margin:12px 0 0; max-width:40ch; }
.prt-assist__prompts { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:32px; max-width:560px; }
.prt-assist__prompt { display:inline-flex; align-items:center; gap:8px; padding:12px 18px; background:rgba(255,255,255,.7);
  border:1px solid rgba(124,107,184,.18); border-radius:999px; font-size:13.5px; font-weight:500; color:#1c1c1e;
  font-family:'Inter',sans-serif; cursor:pointer; backdrop-filter:blur(16px); transition:.2s cubic-bezier(.16,1,.3,1); }
.prt-assist__prompt:hover { background:#fff; border-color:#e8ce00; color:#574A87; transform:translateY(-2px); box-shadow:0 8px 20px rgba(87,74,135,.14); }
.prt-assist__prompt svg { width:15px; height:15px; color:#e8ce00; }
.prt-assist__convo { flex:1; overflow-y:auto; padding:20px 26px; display:none; flex-direction:column; gap:18px; }
.prt-assist__convo.on { display:flex; }
.prt-assist__convo::-webkit-scrollbar { width:6px; }
.prt-assist__convo::-webkit-scrollbar-thumb { background:rgba(87,74,135,.18); border-radius:3px; }
.prt-m { max-width:76%; display:flex; gap:12px; animation:prtMin .45s cubic-bezier(.16,1,.3,1) both; }
@keyframes prtMin { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
.prt-m__orb { width:34px; height:34px; object-fit:contain; flex-shrink:0; margin-top:2px; filter:drop-shadow(0 2px 8px rgba(87,74,135,.25)); }
.prt-m__col { display:flex; flex-direction:column; gap:4px; min-width:0; }
.prt-m__bubble { padding:14px 18px; border-radius:20px; font-size:15px; line-height:1.6; }
.prt-m--bot .prt-m__bubble { background:#fff; border:1px solid rgba(19,32,28,.055); border-top-left-radius:6px; color:#1c1c1e; box-shadow:0 4px 16px rgba(87,74,135,.07); }
.prt-m--bot .prt-m__bubble strong { color:#574A87; font-weight:600; }
.prt-m--user { align-self:flex-end; flex-direction:row-reverse; }
.prt-m--user .prt-m__bubble { background:linear-gradient(135deg,#feec07,#d9a10e); color:#fff; border-top-right-radius:6px; box-shadow:0 6px 18px rgba(19,150,126,.28); }
.prt-m--user .prt-m__av { width:34px; height:34px; border-radius:11px; flex-shrink:0; background:linear-gradient(135deg,#feec07,#b8880b); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; margin-top:2px; }
.prt-src { margin-left:46px; display:flex; flex-direction:column; gap:7px; animation:prtMin .5s cubic-bezier(.16,1,.3,1) both; }
.prt-src__item { display:inline-flex; align-items:center; gap:9px; padding:10px 14px; background:rgba(124,107,184,.06);
  border:1px solid rgba(124,107,184,.14); border-radius:12px; font-size:12.5px; color:#5A6B64; width:fit-content; cursor:pointer; transition:.2s cubic-bezier(.16,1,.3,1); text-decoration:none; }
.prt-src__item:hover { background:rgba(124,107,184,.11); }
.prt-src__item svg { width:14px; height:14px; color:#e8ce00; flex-shrink:0; }
.prt-src__item strong { color:#1c1c1e; font-weight:600; }
.prt-sg { display:flex; flex-wrap:wrap; gap:8px; margin-left:46px; animation:prtMin .55s cubic-bezier(.16,1,.3,1) both; }
.prt-sg__b { padding:9px 15px; background:rgba(255,255,255,.8); border:1px solid rgba(124,107,184,.22); border-radius:999px;
  font-size:13px; font-weight:500; color:#574A87; font-family:'Inter',sans-serif; cursor:pointer; backdrop-filter:blur(12px); transition:.2s cubic-bezier(.16,1,.3,1); }
.prt-sg__b:hover { background:#574A87; color:#fff; transform:translateY(-1px); }
.prt-esc { margin-left:46px; background:linear-gradient(135deg,#fff,#FBFAFF); border:1px solid rgba(124,107,184,.2);
  border-radius:18px; padding:18px; box-shadow:0 8px 24px rgba(87,74,135,.1); max-width:400px; animation:prtMin .5s cubic-bezier(.16,1,.3,1) both; }
.prt-esc__t { font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px; display:flex; align-items:center; gap:8px; margin-bottom:6px; color:#1c1c1e; }
.prt-esc__t svg { width:16px; height:16px; color:#C97A45; }
.prt-esc__s { font-size:13px; color:#5A6B64; margin-bottom:14px; line-height:1.5; }
.prt-esc__btns { display:flex; gap:9px; }
.prt-esc__btn { flex:1; padding:12px; border-radius:12px; font-size:13px; font-weight:600; font-family:'Inter',sans-serif; cursor:pointer; border:none; transition:.2s cubic-bezier(.16,1,.3,1); }
.prt-esc__btn--y { background:linear-gradient(135deg,#1c1c1e,#243530); color:#fff; }
.prt-esc__btn--y:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(19,32,28,.25); }
.prt-esc__btn--n { background:rgba(19,32,28,.05); color:#5A6B64; }
.prt-esc__btn--n:hover { background:rgba(19,32,28,.09); }
.prt-assigned { margin-left:46px; display:flex; align-items:center; gap:13px; background:#fff; border:1px solid var(--border);
  border-radius:16px; padding:14px 17px; box-shadow:0 6px 18px rgba(19,150,126,.1); max-width:400px; animation:prtMin .5s cubic-bezier(.16,1,.3,1) both; }
.prt-assigned__av { width:46px; height:46px; border-radius:13px; background-size:cover; background-position:center; flex-shrink:0; background-color:#EEEDFE; }
.prt-assigned__meta { flex:1; line-height:1.4; }
.prt-assigned__name { font-weight:600; font-size:14.5px; color:#1c1c1e; }
.prt-assigned__role { font-size:12.5px; color:#5A6B64; }
.prt-assigned__badge { font-size:10.5px; font-weight:700; color:#d9a10e; background:#E7F4EF; padding:4px 10px; border-radius:99px; }
.prt-typing { display:flex; gap:5px; padding:16px 20px; background:#fff; border:1px solid rgba(19,32,28,.055); border-radius:20px; border-top-left-radius:6px; width:fit-content; box-shadow:0 4px 16px rgba(87,74,135,.07); }
.prt-typing span { width:8px; height:8px; border-radius:50%; background:#e8ce00; animation:prtBlink 1.4s infinite both; }
.prt-typing span:nth-child(2){animation-delay:.2s} .prt-typing span:nth-child(3){animation-delay:.4s}
@keyframes prtBlink { 0%,60%,100%{opacity:.3;transform:translateY(0)} 30%{opacity:1;transform:translateY(-4px)} }
.prt-assist__foot { padding:16px 26px 24px; }
.prt-assist__composer { display:flex; align-items:center; gap:12px; max-width:720px; margin:0 auto; background:#fff;
  border:1.5px solid rgba(124,107,184,.18); border-radius:20px; padding:8px 8px 8px 20px; box-shadow:0 8px 30px rgba(87,74,135,.12); transition:.2s cubic-bezier(.16,1,.3,1); }
.prt-assist__composer:focus-within { border-color:#e8ce00; box-shadow:0 10px 36px rgba(87,74,135,.2); }
.prt-assist__composer input { flex:1; border:none; background:none; outline:none; font-family:'Inter',sans-serif; font-size:15px; padding:11px 0; color:#1c1c1e; }
.prt-assist__composer button { width:46px; height:46px; border-radius:14px; background:linear-gradient(135deg,#574A87,#e8ce00);
  color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:none; cursor:pointer; transition:.2s cubic-bezier(.16,1,.3,1); }
.prt-assist__composer button:hover { transform:translateY(-1px) scale(1.03); box-shadow:0 8px 20px rgba(87,74,135,.4); }
.prt-assist__hint { text-align:center; font-size:11.5px; color:#8A9993; margin:11px 0 0; }

@media (max-width:560px) {
  .cvh .prt-hero { padding:26px 20px 24px; }
  .cvh .prt-hero__wrap { gap:16px; }
  .cvh .prt-hero__orb { width:52px; height:52px; }
  .cvh .prt-hero__title { font-size:22px; }
  .prt-assist__inner { max-width:100%; }
  .prt-assist__greet { font-size:26px; }
  .prt-assist__bigorb { width:96px; height:96px; }
  .prt-m { max-width:86%; }
  .prt-assist__glow { border-width:10px; }
}

/* Dark mode: el asistente mantiene su fondo claro (es su identidad), pero suavizamos */
@media (prefers-color-scheme: dark) {
  .cvh .prt-hero { background:linear-gradient(135deg,#1a1d27,#1e2030 45%,#231f33); border-color:rgba(124,107,184,.25); }
  .cvh .prt-hero__title { color:#e8eaf0; }
  .cvh .prt-hero__sub { color:#9aa4b2; }
  .cvh .prt-composer { background:#232633; border-color:rgba(124,107,184,.3); }
  .cvh .prt-composer input { color:#e8eaf0; }
  .cvh .prt-chip { background:#232633; border-color:#2e3144; color:#e8eaf0; }
  .cvh .prt-status-mini { background:#1a1d27; }
  .cvh .prt-status-mini span { color:#e8eaf0; }
}

/* ═══ PORTAL SIMPLIFICADO — franja de contacto discreta ═══ */
.cvh .prt-contact-strip { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-top:20px; padding:14px 20px; background:var(--surface); border:1px solid var(--border); border-radius:14px; }
.cvh .prt-contact-strip__label { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:500; color:var(--muted); }
.cvh .prt-contact-strip__links { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.cvh .prt-contact-strip__links a,
.cvh .prt-contact-strip__links button { font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:#d9a10e;
  background:none; border:none; cursor:pointer; padding:7px 12px; border-radius:9px; transition:.15s cubic-bezier(.16,1,.3,1); }
.cvh .prt-contact-strip__links a:hover,
.cvh .prt-contact-strip__links button:hover { background:rgba(19,150,126,.08); }

/* ═══ ACTION CHIPS dentro del chat de Lunnar ═══ */
.prt-actions { display:flex; flex-wrap:wrap; gap:8px; margin-left:46px; animation:prtMin .5s cubic-bezier(.16,1,.3,1) both; }
.prt-action { display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:14px; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:13.5px; font-weight:600; transition:.2s cubic-bezier(.16,1,.3,1);
  border:1px solid transparent; }
.prt-action svg { width:16px; height:16px; flex-shrink:0; }
/* Acción primaria (verde teal) */
.prt-action--primary { background:#feec07; color:#fff; box-shadow:0 4px 14px rgba(19,150,126,.25); }
.prt-action--primary:hover { background:#d9a10e; transform:translateY(-1px); box-shadow:0 8px 20px rgba(19,150,126,.35); }
/* Acción teléfono (oscura) */
.prt-action--call { background:linear-gradient(135deg,#1c1c1e,#243530); color:#fff; }
.prt-action--call:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(19,32,28,.25); }
/* Acción chat (morada Lunnar) */
.prt-action--chat { background:linear-gradient(135deg,#574A87,#e8ce00); color:#fff; }
.prt-action--chat:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(87,74,135,.35); }
/* Acción secundaria (clara con borde) */
.prt-action--ghost { background:#fff; color:#1c1c1e; border-color:rgba(124,107,184,.25); }
.prt-action--ghost:hover { border-color:#e8ce00; color:#574A87; transform:translateY(-1px); }

/* ── Feedback 👍/👎 de respuestas Lunnar (16.28.0) ─────────────────── */
.cvh-ai-fb{display:flex;align-items:center;gap:6px;margin-top:10px}
.cvh-ai-fb__q{font-size:12px;color:var(--subtle, #6b6b6b)}
.cvh-ai-fb__btn{border:1px solid var(--border, #e4e4e4);background:var(--surface, #fff);border-radius:99px;padding:4px 10px;font-size:14px;line-height:1;cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.cvh-ai-fb__btn:hover{transform:scale(1.12);border-color:var(--teal, #feec07)}
.cvh-ai-fb__btn:focus-visible{outline:2px solid var(--teal, #feec07);outline-offset:2px}
.cvh-ai-fb__thanks{font-size:12px;color:var(--subtle, #6b6b6b)}

/* ── Tanda 4 (16.30.0): a11y, dark mode del modal, móvil ───────────── */

/* Artículos ahora son <a>: mantener el aspecto de siempre */
a.nf-article{color:inherit;text-decoration:none}
a.nf-article:hover,a.nf-article:focus{text-decoration:none}

/* Modal del portal: colores por variables (antes background:#fff fijo,
   ilegible en dark) y centrado en escritorio en vez de bottom-sheet */
.prt-modal-panel{background:var(--surface,#fff);color:var(--text,#1c1c1e)}
@media (min-width:720px){
  .prt-modal-overlay{align-items:center !important}
  .prt-modal-panel{border-radius:20px !important}
}
@media (prefers-color-scheme: dark){
  .prt-modal-panel{background:#171a23;color:#e8eaf2}
}

/* Contraste AA: el gris #888 daba 3.5:1 */
.cvh{--subtle:#6b6b6b}
@media (prefers-color-scheme: dark){
  .cvh{--subtle:#8a90a8}
}

/* Foco visible consistente */
.cvh a:focus-visible,.cvh button:focus-visible,.cvh [role="button"]:focus-visible,
.cvh input:focus-visible,.cvh textarea:focus-visible,.cvh select:focus-visible{
  outline:2px solid var(--brand,#feec07);outline-offset:2px;border-radius:4px;
}

/* Respetar la preferencia de menos movimiento */
@media (prefers-reduced-motion: reduce){
  .cvh *,.cvh *::before,.cvh *::after,
  .sw-fab__pulse,.prt-modal-panel,.sw-modal *{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
}

/* Header móvil: el nav se desbordaba fuera de pantalla */
@media (max-width:640px){
  .cvh-header__inner{padding-left:12px;padding-right:12px;gap:8px}
  .cvh-header__brand{min-width:0;flex-shrink:1}
  .cvh-header__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
  .cvh-header__nav{flex-shrink:0}
  .cvh-header__login{font-size:13px;padding:8px 12px;white-space:nowrap}
}

/* El composer del hero ahora es un <button> real (accesible por teclado) */
button.prt-composer{width:100%;text-align:left;cursor:pointer;font-family:'Inter',sans-serif;appearance:none;-webkit-appearance:none}
.prt-composer__ph{flex:1;font-size:15px;color:var(--subtle,#6b6b6b);padding:10px 0}

/* Barras de uptime con estados reales (derivados de incidentes) */
.status-bar--degraded{background:#C97A45 !important}
.status-bar--down{background:#D8543F !important}

/* ══ Tanda 7 (16.33.0): experiencia personal ═══════════════════════ */

/* ── Header del centro de ayuda: de plano a con presencia ── */
.cvh-header{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.82);border-bottom:1px solid rgba(19,32,28,.06);position:sticky;top:0;z-index:500}
.cvh-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,rgba(19,150,126,.35) 30%,rgba(124,107,184,.35) 70%,transparent);opacity:.8}
.cvh-header__login{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}
.cvh-header__login:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(19,150,126,.25)}
.cvh-header__portal-btn{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,border-color .15s}
.cvh-header__portal-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(19,32,28,.08)}
@media (prefers-color-scheme: dark){
  .cvh-header{background:rgba(15,17,23,.82);border-bottom-color:rgba(255,255,255,.06)}
}

/* ── Topbar del portal: tarjeta personal con avatar degradado ── */
.prt-topbar{background:linear-gradient(120deg,rgba(19,150,126,.06),rgba(124,107,184,.07));border-bottom:1px solid rgba(19,32,28,.05)}
.prt-avatar{background:linear-gradient(135deg,#feec07,#574A87) !important;color:#fff !important;font-weight:700;box-shadow:0 4px 14px rgba(87,74,135,.3);border:2px solid rgba(255,255,255,.85)}
.prt-user-pill{padding:6px 14px 6px 6px;border-radius:99px;background:rgba(255,255,255,.75);border:1px solid rgba(19,32,28,.05);box-shadow:0 2px 10px rgba(19,32,28,.04)}
.prt-user-name{font-family:'Inter',sans-serif;letter-spacing:-.01em}
@media (prefers-color-scheme: dark){
  .prt-topbar{background:linear-gradient(120deg,rgba(19,150,126,.1),rgba(124,107,184,.12));border-bottom-color:rgba(255,255,255,.05)}
  .prt-user-pill{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}
}
.prt-detail-header,.app-detail-header{border-bottom:1px dashed rgba(19,32,28,.1);padding-bottom:14px;margin-bottom:14px}
.prt-detail-title,.app-detail-title{font-family:'Inter',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0 0 10px}
.prt-detail-body,.app-detail-body{background:linear-gradient(180deg,rgba(19,150,126,.045),rgba(19,150,126,.015));border-left:3px solid rgba(19,150,126,.35);border-radius:0 12px 12px 0;padding:14px 16px;font-size:14px;line-height:1.65;color:var(--text,#1c1c1e)}
@media (prefers-color-scheme: dark){
  .prt-detail-card,.app-detail-card{background:#171a23;border-color:rgba(255,255,255,.07);box-shadow:0 10px 34px rgba(0,0,0,.35)}
  .prt-detail-body,.app-detail-body{background:rgba(19,150,126,.08);color:#e8eaf2}
}

/* ── Asistente Lunnar: chat con más mimo ── */
.prt-assist__badge{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#e8ce00;background:rgba(124,107,184,.1);border:1px solid rgba(124,107,184,.22);border-radius:99px;padding:3px 10px;margin-left:2px}
.prt-assist__new{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(19,32,28,.1);background:rgba(255,255,255,.7);color:#3c4a44;border-radius:99px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;margin-right:10px;transition:all .2s cubic-bezier(.16,1,.3,1)}
.prt-assist__new:hover{border-color:rgba(124,107,184,.45);color:#574A87;transform:translateY(-1px);box-shadow:0 6px 16px rgba(87,74,135,.14)}
.prt-assist__convo{scroll-behavior:smooth;padding-bottom:18px}
.prt-m{margin-bottom:14px}
.prt-m__bubble{box-shadow:0 4px 18px rgba(19,32,28,.05)}
.prt-m--bot .prt-m__bubble a{color:#d9a10e;font-weight:600;text-decoration:underline;text-decoration-color:rgba(19,150,126,.35);text-underline-offset:2px}
.prt-m--bot .prt-m__bubble a:hover{text-decoration-color:#d9a10e}
.prt-m__orb{filter:drop-shadow(0 3px 8px rgba(87,74,135,.3))}
.prt-assist__composer{transition:box-shadow .25s,border-color .2s}
.prt-assist__composer:focus-within{border-color:rgba(124,107,184,.55);box-shadow:0 0 0 4px rgba(124,107,184,.12),0 10px 30px rgba(87,74,135,.14)}

/* ── Histórico de conversaciones ── */
.prt-assist__hist{margin-top:34px;width:100%;max-width:560px}
.prt-hist__title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a90a8;margin:0 0 10px;text-align:left}
.prt-hist__item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;background:rgba(255,255,255,.65);border:1px solid rgba(19,32,28,.06);border-radius:14px;padding:12px 16px;margin-bottom:8px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}
.prt-hist__item:hover{border-color:rgba(124,107,184,.4);transform:translateY(-1px);box-shadow:0 8px 20px rgba(87,74,135,.1)}
.prt-hist__q{font-size:14px;font-weight:600;color:#1c1c1e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prt-hist__d{font-size:12px;color:#8a90a8;flex-shrink:0}
@media (prefers-color-scheme: dark){
  .prt-assist__new{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);color:#c9cede}
  .prt-hist__item{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
  .prt-hist__q{color:#e8eaf2}
}

/* Adjuntos en el chat de tickets (16.34.0) */
.prt-chat-attach{display:block;margin-top:8px;font-size:12px;font-weight:600;color:#d9a10e;text-decoration:none}
.prt-chat-msg--customer .prt-chat-attach{color:#d8f5ec}

/* ── Tanda 10 (16.36.0): tickets del cliente con cariño ────────────── */

/* Base tipográfica del portal: que el serif del tema no se cuele NUNCA */
.prt-topbar,.prt-dashboard-body,.prt-main,#app-dashboard,.prt-modal-panel,
.prt-hero,.prt-hero *,.prt-composer,.prt-user-pill{font-family:'Inter',-apple-system,sans-serif}
.prt-hero__title,.prt-detail-title,.app-detail-title,.prt-user-name{font-family:'Inter','Inter',sans-serif !important}
.cvh-portal__ticket-num,.prt-ticket-num{font-family:'Inter',monospace;font-size:12px;background:rgba(19,150,126,.08);color:#d9a10e;border-radius:8px;padding:3px 8px;letter-spacing:.02em}

/* Hilo de conversación estilo chat con avatares */
.prt-chat{margin-top:18px;border-top:1px dashed rgba(19,32,28,.1);padding-top:16px}
.prt-chat-messages{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow-y:auto;padding:4px 2px}
.prt-chat-msg{max-width:82%;display:flex;flex-direction:column;gap:4px;animation:prtMin .4s cubic-bezier(.16,1,.3,1) both}
.prt-chat-msg--customer{align-self:flex-end;align-items:flex-end}
.prt-chat-msg--team{align-self:flex-start;align-items:flex-start}
.prt-chat-bubble{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.6;box-shadow:0 3px 12px rgba(19,32,28,.05)}
.prt-chat-msg--customer .prt-chat-bubble{background:linear-gradient(135deg,#feec07,#d9a10e);color:#fff;border-bottom-right-radius:6px}
.prt-chat-msg--team .prt-chat-bubble{background:var(--surface,#fff);border:1px solid rgba(19,32,28,.07);color:var(--text,#1c1c1e);border-bottom-left-radius:6px}
.prt-chat-meta{font-size:11px;color:var(--subtle,#6b6b6b);padding:0 4px}
.prt-chat-empty{color:var(--subtle,#6b6b6b);font-size:13px;text-align:center;padding:14px 0}

/* Composer de respuesta */
.prt-chat-input{display:flex;gap:10px;margin-top:14px;align-items:flex-end}
.prt-chat-field{flex:1;border:1.5px solid rgba(19,32,28,.12);border-radius:16px;padding:12px 14px;font-size:14px;font-family:'Inter',sans-serif;resize:vertical;min-height:44px;transition:border-color .2s,box-shadow .2s;background:var(--surface,#fff);color:var(--text,#1c1c1e)}
.prt-chat-field:focus{outline:none;border-color:rgba(19,150,126,.5);box-shadow:0 0 0 4px rgba(19,150,126,.1)}
.prt-chat-send{background:linear-gradient(135deg,#feec07,#d9a10e);color:#fff;border:none;border-radius:14px;padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s}
.prt-chat-send:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(19,150,126,.3)}

@media (prefers-color-scheme: dark){
  .prt-chat-msg--team .prt-chat-bubble{background:#1e222e;border-color:rgba(255,255,255,.08);color:#e8eaf2}
  .prt-chat-field{background:#1e222e;border-color:rgba(255,255,255,.12);color:#e8eaf2}
  .cvh-portal__ticket-num,.prt-ticket-num{background:rgba(19,150,126,.16);color:#5ad4b9}
}

/* ══ Tanda 11 (16.37.0): portal de tickets con identidad propia ══════ */

/* ── Banda superior ink: el portal deja de parecer "una página más" ── */
#app-dashboard{background:#f4f6f5}
#app-dashboard .prt-topbar{background:transparent;border-bottom:none;position:relative;z-index:3}
#app-dashboard .prt-dashboard-body{position:relative}
#app-dashboard .prt-dashboard-body::before{content:"";position:absolute;top:-90px;left:0;right:0;height:330px;
  background:radial-gradient(120% 140% at 85% -20%,#1b1430 0%,#1c1c1e 45%,#0E1B18 100%);z-index:0}
#app-dashboard .prt-dashboard-body::after{content:"";position:absolute;top:-90px;left:0;right:0;height:330px;z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
#app-dashboard .prt-main{position:relative;z-index:1}

/* Topbar sobre la banda oscura */
#app-dashboard .prt-user-pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);backdrop-filter:blur(8px)}
#app-dashboard .prt-user-name{color:#fff}
#app-dashboard .prt-user-plan{color:#9fb5ad}
#app-dashboard .prt-btn-new{background:#fff;color:#1c1c1e;border:none;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.25)}
#app-dashboard .prt-btn-new:hover{transform:translateY(-1px)}
#app-dashboard .app-link-btn{color:#9fb5ad}
#app-dashboard .app-link-btn:hover{color:#fff}

/* Hero Lunnar flotando sobre la banda */
#app-dashboard .prt-hero{box-shadow:0 24px 60px rgba(14,27,24,.35);border:1px solid rgba(255,255,255,.5)}

/* ── Lista de tickets: registro limpio tipo tabla ── */
.prt-section{background:#fff;border:1px solid rgba(19,32,28,.06);border-radius:20px;padding:22px 24px;box-shadow:0 10px 34px rgba(19,32,28,.05)}
.prt-section-title{font-family:'Inter',sans-serif;letter-spacing:-.02em}
.prt-filter-tabs{background:rgba(19,32,28,.05);border-radius:99px;padding:3px}
.prt-tab{border-radius:99px;font-weight:600}
.prt-tab--active{background:#1c1c1e;color:#fff}
.prt-ticket-list{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(19,32,28,.06)}
.prt-ticket-row{display:flex;align-items:center;gap:14px;padding:16px 8px;border-bottom:1px solid rgba(19,32,28,.06);border-radius:0;cursor:pointer;position:relative;transition:background .15s}
.prt-ticket-row:hover{background:rgba(19,150,126,.04)}
.prt-ticket-row::after{content:"→";margin-left:auto;color:rgba(19,32,28,.25);font-size:16px;transition:transform .2s,color .2s}
.prt-ticket-row:hover::after{transform:translateX(3px);color:#feec07}
.prt-ticket-row .prt-ticket-right{margin-left:0}
.prt-ticket-subject{font-weight:600;letter-spacing:-.01em}
.prt-ticket-date{font-family:'Inter',monospace;font-size:12px;color:var(--subtle,#6b6b6b)}

/* ── Detalle: expediente con timeline ── */
.prt-detail-date{font-family:'Inter',monospace;font-size:12px;color:var(--subtle,#6b6b6b);margin-left:auto}
.prt-tl{position:relative;margin:20px 0 4px;padding-left:6px}
.prt-tl::before{content:"";position:absolute;left:21px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,rgba(19,150,126,.35),rgba(87,74,135,.25));border-radius:2px}
.prt-tl__item{position:relative;display:flex;gap:16px;padding:10px 0}
.prt-tl__dot{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;
  box-shadow:0 0 0 4px #fff, 0 4px 10px rgba(19,32,28,.15)}
.prt-tl__item--customer .prt-tl__dot{background:linear-gradient(135deg,#feec07,#d9a10e)}
.prt-tl__item--team .prt-tl__dot{background:linear-gradient(135deg,#574A87,#e8ce00)}
.prt-tl__card{flex:1;background:var(--surface,#fff);border:1px solid rgba(19,32,28,.08);border-radius:14px;padding:12px 16px;box-shadow:0 3px 12px rgba(19,32,28,.04)}
.prt-tl__item--team .prt-tl__card{border-left:3px solid rgba(124,107,184,.5)}
.prt-tl__item--customer .prt-tl__card{border-left:3px solid rgba(19,150,126,.5)}
.prt-tl__head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;font-size:13px}
.prt-tl__head strong{font-family:'Inter',sans-serif;font-size:13px}
.prt-tl__head time{margin-left:auto;font-family:'Inter',monospace;font-size:11px;color:var(--subtle,#6b6b6b)}
.prt-tl__via{font-size:11px;background:rgba(19,32,28,.06);border-radius:99px;padding:2px 8px;color:var(--subtle,#6b6b6b)}
.prt-tl__body{font-size:14px;line-height:1.65;color:var(--text,#1c1c1e)}
.prt-tl__attach{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;color:#d9a10e;text-decoration:none}

/* ── Selector de idioma del footer ── */
.cvh-footer__lang{font-size:13px;color:var(--subtle,#8a90a8);margin:10px 0 0}
.cvh-footer__lang a{color:inherit;text-decoration:none;padding:2px 4px}
.cvh-footer__lang a:hover{color:#feec07}
.cvh-footer__lang a.is-active{color:#feec07;font-weight:700}

/* ── Dark mode del rediseño ── */
@media (prefers-color-scheme: dark){
  #app-dashboard{background:#0f1117}
  #app-dashboard .prt-dashboard-body::before{background:radial-gradient(120% 140% at 85% -20%,#241a3e 0%,#101c19 45%,#0b1513 100%)}
  .prt-section{background:#171a23;border-color:rgba(255,255,255,.07)}
  .prt-ticket-list,.prt-ticket-row{border-color:rgba(255,255,255,.07)}
  .prt-ticket-row:hover{background:rgba(19,150,126,.08)}
  .prt-filter-tabs{background:rgba(255,255,255,.07)}
  .prt-tab--active{background:#e8eaf2;color:#1c1c1e}
  .prt-tl::before{background:linear-gradient(180deg,rgba(19,150,126,.5),rgba(124,107,184,.4))}
  .prt-tl__dot{box-shadow:0 0 0 4px #171a23, 0 4px 10px rgba(0,0,0,.4)}
  .prt-tl__card{background:#1e222e;border-color:rgba(255,255,255,.08)}
}

/* Ajustes 16.37.0: banda a sangre completa + botón legible */
#app-dashboard .prt-dashboard-body::before,
#app-dashboard .prt-dashboard-body::after{
  left:50%;right:auto;width:100vw;margin-left:-50vw;
}
#app-dashboard .prt-topbar{background:transparent !important}
#app-dashboard .prt-btn-new{color:#1c1c1e !important;-webkit-text-fill-color:#1c1c1e !important}
#app-dashboard .prt-btn-new svg{stroke:#1c1c1e !important}
#app-dashboard .prt-btn-new:hover{background:#f2f6f4 !important}

/* ── Tanda 11b (16.37.1): el rediseño, afinado para móvil ─────────── */
@media (max-width: 560px){

  /* Banda ink más alta (el hero móvil es más largo) */
  #app-dashboard .prt-dashboard-body::before,
  #app-dashboard .prt-dashboard-body::after{height:430px}

  /* Topbar: que quepa todo, "Salir" incluido */
  #app-dashboard .prt-topbar__inner{flex-wrap:nowrap;gap:8px;padding:10px 12px}
  #app-dashboard .prt-user-pill{min-width:0;flex-shrink:1;padding:4px 10px 4px 4px}
  #app-dashboard .prt-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:26vw}
  #app-dashboard .prt-user-plan{display:none}
  #app-dashboard .prt-btn-new{padding:9px 12px;font-size:13px;white-space:nowrap;flex-shrink:0}
  #app-dashboard .app-link-btn{flex-shrink:0}

  /* Hero más compacto */
  #app-dashboard .prt-hero{padding:22px 18px 20px}

  /* Lista: dos líneas, sin truncar el asunto */
  .prt-ticket-row{flex-wrap:wrap;row-gap:6px;padding:14px 6px}
  .prt-ticket-row .prt-ticket-left{width:100%;display:flex;align-items:center;gap:10px;min-width:0}
  .prt-ticket-subject{white-space:normal;line-height:1.4}
  .prt-ticket-row .prt-ticket-right{display:flex;align-items:center;gap:10px;width:100%;padding-left:2px}
  .prt-ticket-row::after{position:absolute;right:8px;top:16px}

  /* Cabecera de sección: título y filtros en dos líneas */
  .prt-section{padding:18px 14px}
  .prt-section-head{flex-wrap:wrap;gap:10px}
  .prt-filter-tabs{width:100%;display:flex}
  .prt-tab{flex:1;text-align:center}

  /* Expediente: timeline compacto */
  .prt-tl{padding-left:0}
  .prt-tl::before{left:12px}
  .prt-tl__item{gap:10px}
  .prt-tl__dot{width:26px;height:26px;font-size:11px;box-shadow:0 0 0 3px #fff,0 3px 8px rgba(19,32,28,.15)}
  .prt-tl__card{padding:10px 12px;border-radius:12px}
  .prt-tl__head{flex-wrap:wrap;gap:6px}
  .prt-tl__head time{margin-left:0;width:100%}
  .prt-detail-meta{row-gap:6px}
  .prt-detail-date{margin-left:0;width:100%}

  /* Composer: botón debajo, cómodo para el pulgar */
  .prt-chat-input{flex-direction:column;align-items:stretch}
  .prt-chat-send{width:100%;padding:13px}
}
@media (max-width:560px) and (prefers-color-scheme: dark){
  .prt-tl__dot{box-shadow:0 0 0 3px #171a23,0 3px 8px rgba(0,0,0,.4)}
}

/* Fix 16.37.1: la fila app-* es GRID, no flex — el asunto a fila completa */
@media (max-width: 560px){
  #app-dashboard .prt-topbar .app-link-btn{display:inline-flex;visibility:visible}
}

/* ══ Tanda 12 (16.38.0): header con menú, Lunnar sin marco, ticket bonito ══ */

/* ── Lunnar a pantalla completa REAL: fuera el marco de brillos ── */
.prt-assist__glow,.prt-assist__glow2{display:none !important}
.prt-assist__bg{background:
  radial-gradient(55% 38% at 50% 0%, rgba(124,107,184,.10), transparent 70%),
  linear-gradient(180deg,#FBFAFF 0%,#F6F4FB 60%,#F2F6F4 100%) !important}

/* ── Header del portal con navegación ── */
#app-dashboard .prt-topbar__inner{display:flex;align-items:center;gap:18px;max-width:1120px;margin:0 auto;padding:14px 20px}
.prt-topbar__brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.prt-topbar__brand .cvh-logo-svg,.prt-topbar__brand .cvh-logo-img{height:26px;width:auto;filter:brightness(0) invert(1)}
.prt-topbar__brandlabel{font-family:'Inter',sans-serif;font-size:14px;font-weight:600;color:#fff;letter-spacing:-.01em;border-left:1px solid rgba(255,255,255,.25);padding-left:10px}
.prt-nav{display:flex;gap:4px;margin-right:auto}
.prt-nav a{color:#c7d4cf;text-decoration:none;font-size:13.5px;font-weight:500;padding:8px 12px;border-radius:10px;transition:all .18s}
.prt-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
#app-dashboard .prt-topbar__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
#app-dashboard .prt-user-pill{padding:4px 12px 4px 4px}
#app-dashboard .prt-user-pill .prt-avatar{width:30px;height:30px;font-size:13px}
#app-dashboard .prt-user-name{font-size:13.5px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prt-burger{display:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;padding:8px;cursor:pointer}
.prt-mobilemenu{display:flex;flex-direction:column;background:#1c1c1e;border-top:1px solid rgba(255,255,255,.08);padding:8px 16px 14px}
.prt-mobilemenu a,.prt-mobilemenu button{display:block;width:100%;text-align:left;color:#e6efec;background:none;border:none;text-decoration:none;font-size:15px;font-weight:500;padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;font-family:'Inter',sans-serif}
.prt-mobilemenu button{color:#f2b8ac}
.prt-mobilemenu a:last-of-type{border-bottom:none}

/* ── Modal de nuevo ticket: opciones con chips ── */
.prt-svc-chips{display:flex;flex-wrap:wrap;gap:8px}
.prt-svc-chip{border:1.5px solid rgba(19,32,28,.12);background:var(--surface,#fff);border-radius:99px;padding:9px 14px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--text,#1c1c1e);font-family:'Inter',sans-serif}
.prt-svc-chip:hover{border-color:rgba(19,150,126,.5)}
.prt-svc-chip.is-on{background:#1c1c1e;color:#fff;border-color:#1c1c1e}
.prt-pri-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.prt-pri-chip{border:1.5px solid rgba(19,32,28,.12);background:var(--surface,#fff);border-radius:14px;padding:10px 8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text,#1c1c1e);font-family:'Inter',sans-serif}
.prt-pri-chip small{font-size:11px;font-weight:500;color:var(--subtle,#6b6b6b)}
.prt-pri-chip:hover{border-color:rgba(19,150,126,.5)}
.prt-pri-chip.is-on{border-color:#feec07;background:rgba(19,150,126,.07);box-shadow:0 0 0 3px rgba(19,150,126,.12)}
.prt-attach-drop{display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px dashed rgba(19,32,28,.2);border-radius:14px;padding:14px;font-size:13.5px;color:var(--subtle,#6b6b6b);cursor:pointer;transition:all .15s;text-align:center}
.prt-attach-drop:hover{border-color:rgba(19,150,126,.55);color:#d9a10e;background:rgba(19,150,126,.04)}
.prt-attach-drop em{font-style:normal;font-size:12px}

/* El botón de enviar, por fin bien: flex centrado, alto cómodo, degradado */
#prt-ticket-modal .svm-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 20px;border:none;border-radius:16px;background:linear-gradient(135deg,#feec07,#d9a10e);color:#fff;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:transform .15s,box-shadow .2s;line-height:1}
#prt-ticket-modal .svm-submit:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(19,150,126,.35)}
#prt-ticket-modal .svm-submit:disabled{opacity:.7;transform:none}
#prt-ticket-modal .svm-spinner{margin:0}
#prt-ticket-modal .svm-field{margin-bottom:16px}
#prt-ticket-modal .svm-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--subtle,#6b6b6b);margin-bottom:8px;display:block}

/* Responsive del header */
@media (max-width: 860px){
  .prt-nav{display:none}
  .prt-burger{display:inline-flex}
  #app-dashboard .prt-topbar__exit{display:none}
  .prt-topbar__brandlabel{display:none}
}
@media (min-width: 861px){
  .prt-mobilemenu{display:none !important}
}
@media (max-width: 560px){
  #app-dashboard .prt-user-pill div{display:none}   /* solo avatar en móvil */
  #app-dashboard .prt-user-pill{padding:4px}
  .prt-pri-chips{grid-template-columns:1fr}
  .prt-pri-chip{flex-direction:row;justify-content:space-between}
}

/* Dark mode */
@media (prefers-color-scheme: dark){
  .prt-assist__bg{background:
    radial-gradient(55% 38% at 50% 0%, rgba(124,107,184,.16), transparent 70%),
    linear-gradient(180deg,#12141d 0%,#151827 60%,#121a17 100%) !important}
  .prt-assist__name{color:#e8eaf2}
  .prt-svc-chip,.prt-pri-chip{background:#1e222e;border-color:rgba(255,255,255,.12);color:#e8eaf2}
  .prt-svc-chip.is-on{background:#e8eaf2;color:#1c1c1e;border-color:#e8eaf2}
  .prt-attach-drop{border-color:rgba(255,255,255,.2);color:#9aa0b5}
}

/* Fix 16.38.2: topbar con fondo ink propio (en móvil la banda empezaba más abajo
   y el logo blanco quedaba sobre gris claro); Salir fuera en móvil con dureza */
#app-dashboard .prt-topbar{background:#1c1c1e !important;border-bottom:1px solid rgba(255,255,255,.06)}
@media (max-width:860px){
  #app-dashboard .prt-topbar .prt-topbar__exit{display:none !important}
}

/* Fix 16.38.3: display:flex pisaba el atributo hidden del menú móvil */
.prt-mobilemenu[hidden]{display:none !important}

/* ══ Tanda 13 (16.39.0): header v2 + account + Lunnar móvil ═════════ */

/* ── Fondo del hero SIEMPRE presente (se veía transparente en algunos modos) ── */
#app-dashboard .prt-hero{background:linear-gradient(135deg,#ffffff 0%,#F5F2FC 55%,#EFF5F2 100%) !important}
@media (prefers-color-scheme: dark){
  #app-dashboard .prt-hero{background:linear-gradient(135deg,#1d2130 0%,#221f33 60%,#1a2420 100%) !important;border-color:rgba(255,255,255,.09) !important}
}

/* ── Pill de usuario = botón hacia Mi cuenta ── */
#app-dashboard .prt-user-pill{cursor:pointer;border:none;font-family:'Inter',sans-serif;transition:transform .15s,box-shadow .2s}
#app-dashboard .prt-user-pill:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.25)}
#app-dashboard .prt-user-pill:focus-visible{outline:2px solid #feec07;outline-offset:2px}
#app-dashboard .prt-avatar{overflow:hidden}

/* ── Animación del menú móvil ── */
@keyframes prtMenuIn{
  0%{opacity:0;transform:translateY(-10px)}
  100%{opacity:1;transform:translateY(0)}
}
.prt-mobilemenu:not([hidden]){animation:prtMenuIn .28s cubic-bezier(.16,1,.3,1) both}
.prt-mobilemenu a,.prt-mobilemenu button{display:flex;align-items:center;gap:12px}
.prt-mobilemenu a svg,.prt-mobilemenu button svg{color:#7fb8a8;flex-shrink:0}
.prt-mobilemenu button svg{color:#f2b8ac}
.prt-mobilemenu a:active,.prt-mobilemenu button:active{background:rgba(255,255,255,.05)}
.prt-burger{transition:transform .2s cubic-bezier(.16,1,.3,1)}
.prt-burger[aria-expanded="true"]{transform:rotate(90deg)}

/* ── Móvil: burbuja de usuario junto al burger, burger en la ESQUINA ── */
@media (max-width:860px){
  #app-dashboard .prt-topbar__inner{gap:8px}
  #app-dashboard .prt-topbar__actions{margin-left:auto;gap:8px}
  #app-dashboard .prt-user-pill{padding:0;background:none;border:none;box-shadow:none;backdrop-filter:none}
  #app-dashboard .prt-user-pill__txt{display:none}
  #app-dashboard .prt-user-pill .prt-avatar{width:34px;height:34px;font-size:14px;border:2px solid rgba(255,255,255,.35);box-shadow:0 3px 10px rgba(0,0,0,.3)}
}
@media (max-width:560px){
  #app-dashboard .prt-btn-new{padding:8px 11px;font-size:12.5px}
  #app-dashboard .prt-user-pill div.prt-user-pill__txt{display:none}
  #app-dashboard .prt-user-pill{display:inline-flex}
}

/* ── Lunnar en móvil: composer SIEMPRE visible, fijo abajo, sin zoom iOS ── */
@media (max-width:860px){
  .prt-assist__foot{position:fixed;left:0;right:0;bottom:0;z-index:6;
    padding:10px 14px calc(12px + env(safe-area-inset-bottom, 0px));
    background:rgba(251,250,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-top:1px solid rgba(19,32,28,.07)}
  .prt-assist__hint{display:none}
  .prt-assist__convo{padding-bottom:110px}
  .prt-assist__welcome{padding-bottom:120px}
  /* iOS hace zoom si el input tiene <16px */
  #prt-assist-input,.prt-assist__composer input,.prt-chat-field,
  .svm-input,.svm-textarea,#app-email,.app-input{font-size:16px !important}
}
@media (max-width:860px) and (prefers-color-scheme: dark){
  .prt-assist__foot{background:rgba(18,20,29,.94);border-top-color:rgba(255,255,255,.08)}
}

/* ── Login del portal con el diseño de casave.io ── */
#app-login{background:linear-gradient(150deg,#EEF1F7,#E8ECF4);min-height:72vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;position:relative;overflow:hidden}
#app-login::before{content:"";position:absolute;inset:-10%;
  background:
    radial-gradient(40% 34% at 20% 25%, rgba(19,150,126,.10), transparent 70%),
    radial-gradient(38% 32% at 82% 70%, rgba(87,74,135,.10), transparent 70%);
  filter:blur(30px)}
.prt-login-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:26px;max-width:520px;width:100%}
.prt-login-card{background:#fff;border-radius:22px;padding:40px 36px;width:100%;
  box-shadow:0 4px 20px rgba(0,0,0,.05),0 24px 60px rgba(17,24,39,.08);border:1px solid rgba(17,24,39,.04);text-align:center}
.prt-login-logo{display:flex;justify-content:center;margin-bottom:20px}
.prt-login-logo .cvh-logo-svg,.prt-login-logo .cvh-logo-img{height:30px;width:auto}
.prt-login-title{font-family:'Inter',sans-serif;font-size:23px;font-weight:800;letter-spacing:-.04em;color:#111827;margin:0 0 8px}
.prt-login-sub{font-size:14px;color:#6B7280;line-height:1.55;margin:0 0 26px}
#app-login .app-label{display:block;text-align:left;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6B7280;margin-bottom:7px}
#app-login .app-input{width:100%;border:2px solid #E5E7EB;border-radius:12px;padding:13px 15px;font-size:15px;font-family:'Inter','DM Sans',sans-serif;transition:border-color .2s,box-shadow .2s;background:#fff;color:#111827}
#app-login .app-input:focus{outline:none;border-color:#feec07;box-shadow:0 0 0 4px rgba(19,150,126,.12)}
#app-login .app-btn-primary{width:100%;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#feec07,#0C6354);border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;color:#fff;font-family:'Inter','DM Sans',sans-serif;cursor:pointer;transition:transform .15s,box-shadow .2s}
#app-login .app-btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(19,150,126,.3)}
.prt-login-note{font-size:12.5px;color:#9CA3AF;margin-top:14px}
.prt-login-features{display:flex;flex-direction:column;gap:10px;width:100%}
.prt-feature{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.65);backdrop-filter:blur(8px);border:1px solid rgba(17,24,39,.05);border-radius:14px;padding:12px 16px;text-align:left}
@media (prefers-color-scheme: dark){
  #app-login{background:linear-gradient(150deg,#12141d,#171a26)}
  .prt-login-card{background:#1b1e2b;border-color:rgba(255,255,255,.07);box-shadow:0 24px 60px rgba(0,0,0,.4)}
  .prt-login-title{color:#e8eaf2}
  #app-login .app-input{background:#12141d;border-color:rgba(255,255,255,.12);color:#e8eaf2}
  .prt-feature{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.07)}
}

/* Fix 16.39.1: una regla antigua ocultaba también el avatar del pill en móvil */
@media (max-width:560px){
  #app-dashboard .prt-user-pill .prt-avatar{display:flex !important}
}

/* ══ Tanda 14 (16.40.0): menú móvil canónico de Casave (popup) ═══════ */
.prtm{position:fixed;inset:0;z-index:950;pointer-events:none;opacity:0;transition:opacity .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:flex-start;justify-content:center;padding:10px}
.prtm--open{pointer-events:auto;opacity:1}
.prtm-overlay{position:absolute;inset:0;background:rgba(0,0,0,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.prtm-popup{position:relative;z-index:2;width:100%;max-width:440px;margin-top:8px;background:#fff;border-radius:22px;
  box-shadow:0 8px 24px rgba(0,0,0,.06),0 24px 64px rgba(0,0,0,.12);display:flex;flex-direction:column;overflow:hidden;
  transform:scale(.95) translateY(16px);opacity:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1)}
.prtm--open .prtm-popup{transform:scale(1) translateY(0);opacity:1}
.prtm-head{display:flex;align-items:center;justify-content:space-between;margin:16px 16px 8px;background:#F5F6F5;border-radius:99px;padding:6px 6px 6px 16px}
.prtm-head-logo .cvh-logo-svg,.prtm-head-logo .cvh-logo-img{height:20px;width:auto;display:block}
.prtm-close{width:34px;height:34px;border-radius:99px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #EFEFEE;cursor:pointer;transition:background .2s}
.prtm-close:hover{background:#F5F6F5}
.prtm-close svg{width:16px;height:16px;color:#6B6B66}
.prtm-items{padding:4px 22px 8px}
.prtm-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #F1F1F0;text-decoration:none}
.prtm-item:last-child{border-bottom:none}
.prtm-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.prtm-ico svg{width:18px;height:18px}
.prtm-name{font-family:'Inter',sans-serif;font-size:15px;font-weight:600;color:#121211}
.prtm-desc{font-family:'Inter',sans-serif;font-size:12px;color:#8A8A85;margin-top:1px}
.prtm-btns{display:flex;gap:8px;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #F1F1F0;background:rgba(255,255,255,.92)}
.prtm-btn{flex:1;padding:12px;border-radius:99px;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;border:none}
.prtm-btn--ghost{background:#fff;border:1.5px solid #E5E5E3;color:#D8543F}
.prtm-btn--ghost:hover{background:#FBEAE6}
.prtm-btn--dark{background:#121211;color:#fff}
.prtm-btn--dark:hover{background:#2a2a28}
@media (min-width:861px){.prtm{display:none !important}}
@media (prefers-color-scheme: dark){
  .prtm-popup{background:#171a23;box-shadow:0 24px 64px rgba(0,0,0,.5)}
  .prtm-head{background:rgba(255,255,255,.06)}
  .prtm-head-logo .cvh-logo-svg,.prtm-head-logo .cvh-logo-img{filter:brightness(0) invert(1)}
  .prtm-close{background:#1e222e;border-color:rgba(255,255,255,.1)}
  .prtm-close svg{color:#9aa0b5}
  .prtm-item{border-bottom-color:rgba(255,255,255,.07)}
  .prtm-name{color:#e8eaf2}
  .prtm-btns{background:rgba(23,26,35,.92);border-top-color:rgba(255,255,255,.07)}
  .prtm-btn--ghost{background:transparent;border-color:rgba(255,255,255,.15)}
  .prtm-btn--dark{background:#e8eaf2;color:#121211}
}

/* ══ Tanda 14b (16.41.0): login del portal = CLON del de account ════ */

/* Neutralizar el estilo anterior del login */
#app-login{background:#EDF0F7 !important;min-height:100vh;display:block;padding:0;position:relative;overflow:hidden}
#app-login::before{content:none !important}

/* Dashboard falso de fondo (idéntico a account) */
.pl-bg{position:absolute;inset:0;z-index:0;display:flex;background:linear-gradient(150deg,#EEF1F7,#E8ECF4);pointer-events:none}
.pl-bg-s{width:220px;flex-shrink:0;background:rgba(255,255,255,.6);padding:20px 12px;display:flex;flex-direction:column;gap:6px}
.pl-bg-l{height:24px;width:90px;background:rgba(0,0,0,.08);border-radius:6px;margin-bottom:14px}
.pl-bg-n{height:32px;border-radius:8px;background:rgba(0,0,0,.05)}
.pl-bg-ni{height:32px;border-radius:8px;background:rgba(255,255,255,.8)}
.pl-bg-m{flex:1;padding:16px 24px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.pl-bg-t{height:34px;width:260px;background:rgba(0,0,0,.07);border-radius:8px}
.pl-bg-c{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pl-bg-card{background:rgba(255,255,255,.6);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:7px}
.pl-bg-ci{width:28px;height:28px;border-radius:7px;background:rgba(0,0,0,.08)}
.pl-bg-cl{height:10px;background:rgba(0,0,0,.07);border-radius:5px}
.pl-bg-sec{background:rgba(255,255,255,.55);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:9px}
.pl-bg-stl{height:12px;width:120px;background:rgba(0,0,0,.09);border-radius:5px}
.pl-bg-row{height:16px;background:rgba(0,0,0,.06);border-radius:5px}
.pl-overlay{position:absolute;inset:0;z-index:1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(238,241,247,.5)}

/* Topbar del login */
.pl-topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 32px}
.pl-logo .cvh-logo-svg,.pl-logo .cvh-logo-img{height:22px;width:auto;display:block}
.pl-help{font-family:'Inter','DM Sans',sans-serif;font-size:13px;font-weight:600;color:#6B7280;text-decoration:none}
.pl-help:hover{color:#141413}

/* Shell + pasos */
.pl-main{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;padding:48px 20px 64px;min-height:calc(100vh - 80px)}
.pl-shell{width:100%;max-width:380px}
.pl-step{display:none}
.pl-step.on{display:block;animation:plSi .4s cubic-bezier(.16,1,.3,1) both}
.pl-step:not(.app-hidden){display:block;animation:plSi .4s cubic-bezier(.16,1,.3,1) both}
.pl-step.app-hidden{display:none !important}
@keyframes plSi{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.pl-dots{display:flex;gap:5px;margin-bottom:22px}
.pl-dot{width:5px;height:5px;border-radius:50%;background:#E5E7EB;transition:all .3s}
.pl-dot.done{background:#feec07}
.pl-dot.act{background:#feec07;width:18px;border-radius:2.5px}
.pl-back{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-family:'Inter','DM Sans',sans-serif;font-size:13px;font-weight:600;color:#6B7280;padding:0;margin-bottom:18px;transition:color .2s}
.pl-back:hover{color:#141413}
.pl-h1{font-family:'Inter',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.06em;line-height:1.12;margin:0 0 7px;color:#141413}
.pl-h1 em{font-style:normal;background:linear-gradient(135deg,#feec07,#107D69);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pl-sub{font-family:'Inter','DM Sans',sans-serif;font-size:13px;font-weight:500;color:#6B7280;margin:0 0 22px;line-height:1.55}
.pl-sub strong{color:#141413;font-weight:700}
.pl-field{margin-bottom:10px}
.pl-inp{width:100%;padding:13px 16px;font-family:'Inter','DM Sans',sans-serif;font-size:16px;font-weight:500;color:#141413;background:rgba(255,255,255,.75);border:2px solid #E5E7EB;border-radius:13px;outline:none;transition:all .2s;-webkit-appearance:none}
.pl-inp:focus{background:#fff;border-color:#feec07;box-shadow:0 0 0 4px rgba(19,150,126,.1)}
.pl-inp::placeholder{color:#C4C9D4;font-weight:400}
.pl-btn{width:100%;padding:14px;font-family:'Inter','DM Sans',sans-serif;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,#15A88E,#107D69);border:none;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s;margin-top:10px}
.pl-btn:hover{opacity:.88}
.pl-btn:disabled{opacity:.5;cursor:not-allowed}
.pl-err{background:rgba(239,68,68,.07);border:1.5px solid rgba(239,68,68,.18);border-radius:12px;padding:11px 14px;font-family:'Inter','DM Sans',sans-serif;font-size:13px;font-weight:600;color:#DC2626;margin-bottom:14px}
.pl-foot{text-align:center;font-family:'Inter','DM Sans',sans-serif;font-size:13px;color:#6B7280;margin-top:18px;line-height:1.5}
.pl-userrow{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.pl-useravatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#feec07,#d9a10e);display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:17px;font-weight:800;color:#fff;flex-shrink:0;overflow:hidden}
.pl-resend{text-align:center;margin-top:14px;font-family:'Inter','DM Sans',sans-serif;font-size:13px;color:#6B7280}
.pl-resend a{color:#feec07;font-weight:700;cursor:pointer}
#app-login .svm-spinner{margin:0;border-color:rgba(255,255,255,.3);border-top-color:#fff}

@media (max-width:480px){
  .pl-topbar{padding:16px 20px}
  .pl-main{padding:40px 16px 36px}
  .pl-h1{font-size:21px}
  .pl-bg-s{display:none}
}

/* ══ Tanda 12 (16.42.0): control del cliente sobre sus tickets ═══════ */

/* Contador dentro de las pestañas de filtro */
.prt-tab__count{display:inline-block;margin-left:6px;min-width:18px;padding:1px 6px;border-radius:99px;
  background:rgba(19,32,28,.10);color:inherit;font-size:11px;font-weight:700;line-height:16px;text-align:center}
.prt-tab__count:empty{display:none}
.prt-tab--active .prt-tab__count{background:rgba(255,255,255,.22)}

/* Chip de categoría/servicio en fila y detalle */
.prt-ticket-svc{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:600;
  background:rgba(19,150,126,.10);color:#d9a10e;white-space:nowrap}

/* Evento de sistema en el timeline (cerró / reabrió) */
.prt-tl__system{display:flex;justify-content:center;margin:4px 0}
.prt-tl__system span{background:rgba(19,32,28,.06);color:#5F5E5A;font-size:12px;font-weight:600;
  padding:5px 14px;border-radius:99px}

/* Acción del cliente: resolver / reabrir */
.prt-detail-actions{display:flex;justify-content:flex-end;margin:14px 0 0}
.prt-status-btn{border:none;border-radius:14px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;
  transition:transform .15s,box-shadow .2s,background .2s}
.prt-status-btn--resolve{background:rgba(19,150,126,.10);color:#d9a10e}
.prt-status-btn--resolve:hover{background:rgba(19,150,126,.16);transform:translateY(-1px)}
.prt-status-btn--reopen{background:rgba(19,32,28,.06);color:#1c1c1e}
.prt-status-btn--reopen:hover{background:rgba(19,32,28,.10);transform:translateY(-1px)}

/* Botón de adjuntar en el composer del hilo */
.prt-chat-attach{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;
  border:1.5px solid rgba(19,32,28,.12);border-radius:14px;color:#5F5E5A;cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;background:var(--surface,#fff)}
.prt-chat-attach:hover{border-color:rgba(19,150,126,.5);color:#d9a10e;background:rgba(19,150,126,.06)}
.prt-chat-attach-name{font-size:12px;color:#5F5E5A;margin:6px 2px 0;min-height:14px}

@media (prefers-color-scheme: dark){
  .prt-tab__count{background:rgba(255,255,255,.10)}
  .prt-ticket-svc{background:rgba(19,150,126,.16);color:#5ad4b9}
  .prt-tl__system span{background:rgba(255,255,255,.07);color:#9aa0b5}
  .prt-status-btn--resolve{background:rgba(19,150,126,.16);color:#5ad4b9}
  .prt-status-btn--reopen{background:rgba(255,255,255,.08);color:#e8eaf2}
  .prt-chat-attach{background:#1e222e;border-color:rgba(255,255,255,.12);color:#9aa0b5}
  .prt-chat-attach-name{color:#9aa0b5}
}

@media (max-width:480px){
  .prt-detail-actions{justify-content:stretch}
  .prt-status-btn{width:100%}
}

/* ══ Tanda 13 (16.43.0): turno, sin-leer y CSAT al resolver ═════════ */

/* Indicador de turno en la fila */
.prt-turn{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}
.prt-turn--you{background:rgba(201,122,69,.14);color:#B4632F}
.prt-turn--wait{background:rgba(19,32,28,.06);color:#5F5E5A}

/* Banner de turno en el detalle */
.prt-turn-banner{margin:2px 0 14px;padding:10px 14px;border-radius:12px;font-size:13px;font-weight:600}
.prt-turn-banner--you{background:rgba(201,122,69,.10);color:#B4632F}
.prt-turn-banner--wait{background:rgba(19,150,126,.08);color:#d9a10e}

/* Punto de "respuesta nueva sin leer" */
.prt-ticket-unread{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#D8543F;box-shadow:0 0 0 3px rgba(216,84,63,.15)}
.prt-ticket-row--unread .prt-ticket-subject{font-weight:700}

/* CSAT en línea tras marcar resuelto */
.prt-csat{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;justify-content:flex-end;margin:14px 0 0}
.prt-csat__q{font-size:13px;font-weight:600;color:#1c1c1e}
.prt-csat__stars{display:inline-flex;gap:4px}
.prt-csat__star{background:none;border:none;cursor:pointer;font-size:24px;line-height:1;color:rgba(19,32,28,.20);padding:0;transition:color .15s,transform .1s}
.prt-csat__star:hover,.prt-csat__star.is-on{color:#E0A93E}
.prt-csat__star:hover{transform:scale(1.12)}
.prt-csat__thanks{font-size:13px;font-weight:700;color:#d9a10e}

@media (prefers-color-scheme: dark){
  .prt-turn--you{background:rgba(201,122,69,.20);color:#e6a877}
  .prt-turn--wait{background:rgba(255,255,255,.07);color:#9aa0b5}
  .prt-turn-banner--you{background:rgba(201,122,69,.14);color:#e6a877}
  .prt-turn-banner--wait{background:rgba(19,150,126,.14);color:#5ad4b9}
  .prt-csat__q{color:#e8eaf2}
  .prt-csat__star{color:rgba(255,255,255,.20)}
}

@media (max-width:480px){
  .prt-csat{justify-content:center}
}

/* ══ Tanda 14 (16.46.0): buscador y paginación de tickets ══════════ */

.prt-search{display:flex;align-items:center;gap:9px;margin:14px 0 4px;padding:0 12px;border:1.5px solid rgba(19,32,28,.12);border-radius:12px;background:var(--surface,#fff);transition:border-color .2s,box-shadow .2s}
.prt-search:focus-within{border-color:rgba(19,150,126,.5);box-shadow:0 0 0 4px rgba(19,150,126,.08)}
.prt-search svg{color:#5F5E5A;flex:0 0 auto}
.prt-search__input{flex:1;border:none;outline:none;background:none;padding:11px 0;font-size:14px;font-family:'Inter',sans-serif;color:var(--text,#1c1c1e)}
.prt-search__input::placeholder{color:#9a9a95}

.prt-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(19,32,28,.06)}
.prt-pager__btn{min-width:38px;height:38px;border:1.5px solid rgba(19,32,28,.12);border-radius:10px;background:var(--surface,#fff);color:#1c1c1e;font-size:16px;cursor:pointer;transition:border-color .2s,background .2s}
.prt-pager__btn:hover:not(:disabled){border-color:var(--brand,#feec07);background:rgba(19,150,126,.06)}
.prt-pager__btn:disabled{opacity:.4;cursor:default}
.prt-pager__info{font-size:12.5px;font-weight:600;color:#5F5E5A}

@media (prefers-color-scheme: dark){
  .prt-search{background:#1e222e;border-color:rgba(255,255,255,.12)}
  .prt-search svg{color:#9aa0b5}
  .prt-search__input{color:#e8eaf2}
  .prt-pager__btn{background:#1e222e;border-color:rgba(255,255,255,.12);color:#e8eaf2}
  .prt-pager__info{color:#9aa0b5}
}


/* ══ TEMA CASAVE: texto tinta sobre el amarillo de marca ═══════════════
   El amarillo #feec07 con texto blanco no se lee; todos los componentes
   con fondo de marca pasan a tinta #1c1c1e (regla de la marca Casave). */
.cvh .app-btn-primary, .cvh .prt-chat-send, .cvh .svm-submit, .cvh .sw-btn--primary,
.cvh .cvh-header__login, .cvh .prt-status-btn--resolve, .cvh .cvh-art-cta__btn--primary,
.cvh .cvh-fb__btn, .cvh .prt-pager button, .cvh .cvh-result-item__go {
  color: #1c1c1e !important;
}

/* ============================================================
   Caja de descarga de la app dentro de los artículos (v6 ago 2026)
   El artículo "Descargar la app" no tenía ni un enlace a las
   tiendas: mandaba a la web y a buscarse la vida.
   ============================================================ */
.cvh-app-cta{
  background: var(--brand-lt); border: 1px solid var(--brand);
  border-radius: 16px; padding: 18px 20px; margin: 26px 0 10px;
}
.cvh-app-cta p{ margin: 0 0 10px; }
.cvh-app-cta p:last-child{ margin-bottom: 0; font-size: 13.5px; color: var(--muted); }
.cvh-app-cta__btn{
  display: inline-block; background: var(--brand); color: #16140F !important;
  font-weight: 700; text-decoration: none !important; padding: 11px 20px;
  border-radius: 999px; margin: 4px 6px 4px 0; transition: transform .15s;
}
.cvh-app-cta__btn:hover{ transform: translateY(-1px); background: var(--brand-dk); }
