/* ── Polarvex Design System — Ámbar · Navy · Consultora ── */
:root {
  --pv-navy:       #1E3A5F;
  --pv-navy-dark:  #0F2342;
  --pv-amber:      #F59E0B;
  --pv-amber-dark: #B45309;
  --pv-amber-bg:   #FFFBEB;
  --pv-text:       #111827;
  --pv-text-muted: #6B7280;
  --pv-text-sub:   #9CA3AF;
  --pv-bg:         #F9FAFB;
  --pv-surface:    #FFFFFF;
  --pv-border:     rgba(0,0,0,0.08);
  --pv-border-md:  rgba(0,0,0,0.13);
  --pv-radius:     12px;
  --pv-radius-sm:  8px;
  --pv-font:       'Inter', system-ui, sans-serif;
  --pv-display:    'Sora', system-ui, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --pv-text:      #F3F4F6;
    --pv-text-muted:#9CA3AF;
    --pv-text-sub:  #6B7280;
    --pv-bg:        #0B1222;
    --pv-surface:   #111827;
    --pv-border:    rgba(255,255,255,0.07);
    --pv-border-md: rgba(255,255,255,0.13);
    --pv-amber-bg:  rgba(245,158,11,0.1);
  }
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{font-family:var(--pv-font);background:var(--pv-bg);color:var(--pv-text);line-height:1.6;-webkit-font-smoothing:antialiased}

/* ── Nav ── */
.pv-nav{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:62px;background:var(--pv-navy-dark);position:sticky;top:0;z-index:100}
.pv-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.pv-brand__name{font-family:var(--pv-display);font-size:19px;font-weight:600;color:#fff;letter-spacing:-0.3px}
.pv-brand__name strong{color:var(--pv-amber);font-weight:700}
.pv-nav__links{display:flex;gap:1.5rem}
.pv-nav__link{font-size:14px;color:rgba(255,255,255,0.6);text-decoration:none;transition:color 0.15s}
.pv-nav__link:hover{color:#fff}

/* ── Hero ── */
.pv-hero{background:linear-gradient(160deg,#0F2342 0%,#1E3A5F 60%,#1B3458 100%);padding:5rem 2rem 4rem;text-align:center}
.pv-hero__eyebrow{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var(--pv-amber);margin-bottom:1rem}
.pv-hero__title{font-family:var(--pv-display);font-size:44px;font-weight:700;color:#fff;line-height:1.15;letter-spacing:-1px;margin-bottom:1.25rem}
.pv-hero__desc{font-size:16px;color:rgba(255,255,255,0.65);max-width:540px;margin:0 auto 2rem;line-height:1.75}
.pv-hero__stats{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}
.pv-stat{padding:0.75rem 1.5rem;text-align:center}
.pv-stat strong{display:block;font-family:var(--pv-display);font-size:24px;font-weight:700;color:var(--pv-amber)}
.pv-stat span{font-size:12px;color:rgba(255,255,255,0.5)}
.pv-stat-sep{width:1px;height:36px;background:rgba(255,255,255,0.15)}

/* ── Container ── */
.pv-container{max-width:980px;margin:0 auto;padding:0 1.5rem}

/* ── Section ── */
.pv-section{background:var(--pv-surface);border:0.5px solid var(--pv-border);border-radius:var(--pv-radius);padding:1.75rem;margin:1.5rem 0}
.pv-section__head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.pv-section__num{font-family:var(--pv-display);font-size:28px;font-weight:700;color:var(--pv-amber);opacity:0.4;line-height:1;flex-shrink:0;padding-top:2px}
.pv-section__title{font-family:var(--pv-display);font-size:18px;font-weight:600;color:var(--pv-text);margin-bottom:4px}
.pv-section__sub{font-size:13px;color:var(--pv-text-muted);line-height:1.6}

/* ── Fields ── */
.pv-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pv-field--wide{grid-column:span 2}
.pv-field{display:flex;flex-direction:column;gap:5px}
.pv-label{font-size:12px;font-weight:500;color:var(--pv-text-muted)}
.pv-input,.pv-select{padding:9px 12px;border:0.5px solid var(--pv-border-md);border-radius:var(--pv-radius-sm);background:var(--pv-surface);color:var(--pv-text);font-size:14px;font-family:var(--pv-font);outline:none;transition:border-color 0.15s}
.pv-input:focus,.pv-select:focus{border-color:var(--pv-amber)}
@media(max-width:600px){.pv-fields-grid{grid-template-columns:1fr}.pv-field--wide{grid-column:span 1}}

/* ── Level guide ── */
.pv-level-guide{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.5rem;padding:12px 16px;background:var(--pv-bg);border-radius:var(--pv-radius-sm);border:0.5px solid var(--pv-border)}
.pv-lg-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--pv-text-muted)}
.pv-lg-item span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--c);color:#fff;font-size:11px;font-weight:700}

/* ── Dimension card ── */
.pv-dim{border:0.5px solid var(--pv-border);border-radius:var(--pv-radius);margin-bottom:1rem;overflow:hidden;transition:border-color 0.2s}
.pv-dim:hover{border-color:var(--dim-color)}
/* dim-bg es siempre un pastel claro (ej. #EFF6FF) — forzamos texto oscuro
   independientemente del color-scheme del navegador */
.pv-dim__header{display:flex;align-items:center;gap:14px;padding:1rem 1.25rem;background:var(--dim-bg);border-bottom:0.5px solid rgba(0,0,0,0.08);color-scheme:light}
.pv-dim__icon{width:38px;height:38px;border-radius:9px;background:var(--dim-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.pv-dim__meta{flex:1}
.pv-dim__name{font-size:15px;font-weight:500;color:#111827!important}
.pv-dim__desc{font-size:12px;color:#6B7280!important;margin-top:2px}
.pv-dim__score-preview{text-align:center;font-family:var(--pv-display);color:var(--dim-color)}
.pv-dim__score-preview span{display:block;font-size:22px;font-weight:700;line-height:1}
.pv-dim__score-preview small{font-size:11px;color:#9CA3AF!important}

/* ── Questions ── */
/* El área de preguntas tiene fondo de la superficie pero convive con --dim-bg
   en el número de pregunta — forzamos también esos textos a oscuro */
.pv-questions{padding:0.75rem 1.25rem 1rem;background:var(--pv-surface)}
.pv-question{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:10px 0;border-bottom:0.5px solid var(--pv-border)}
.pv-question:last-child{border-bottom:none}
.pv-question__text{display:flex;gap:10px;align-items:flex-start}
.pv-question__num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;background:var(--dim-bg);color:var(--dim-color);border-radius:5px;font-size:11px;font-weight:600;flex-shrink:0;margin-top:2px}
.pv-question__label{font-size:13px;color:var(--pv-text);line-height:1.5}
.pv-question__hint{font-size:11px;color:var(--pv-text-muted);margin-top:2px;line-height:1.4}
.pv-question__slider{display:flex;align-items:center;gap:8px;min-width:200px}
.pv-slider{flex:1;accent-color:var(--dim-color);cursor:pointer}
.pv-slider__labels{display:none}
.pv-slider__val{font-size:13px;font-weight:600;min-width:24px;text-align:center;color:var(--dim-color)}
@media(max-width:700px){.pv-question{grid-template-columns:1fr}.pv-question__slider{min-width:0}}

/* ── Submit ── */
.pv-submit{background:var(--pv-navy-dark);border-radius:var(--pv-radius);padding:1.5rem;margin:1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pv-submit__index{color:rgba(255,255,255,0.6);font-size:14px}
.pv-submit__index strong{color:var(--pv-amber);font-family:var(--pv-display);font-size:28px;font-weight:700;margin:0 4px}
.pv-submit__index span{color:rgba(255,255,255,0.4)}
.pv-submit__actions{display:flex;gap:10px;flex-wrap:wrap}

/* ── Buttons ── */
.pv-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:var(--pv-amber);color:#0F2342;border:none;border-radius:var(--pv-radius-sm);font-size:14px;font-weight:600;font-family:var(--pv-font);cursor:pointer;text-decoration:none;transition:opacity 0.15s,transform 0.1s}
.pv-btn-primary:hover{opacity:0.88}
.pv-btn-primary:active{transform:scale(0.98)}
.pv-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.8);border:0.5px solid rgba(255,255,255,0.2);border-radius:var(--pv-radius-sm);font-size:14px;font-family:var(--pv-font);cursor:pointer;transition:background 0.15s}
.pv-btn-secondary:hover{background:rgba(255,255,255,0.14)}
.pv-btn-outline{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;color:var(--pv-text);border:0.5px solid var(--pv-border-md);border-radius:var(--pv-radius-sm);font-size:14px;font-family:var(--pv-font);cursor:pointer;text-decoration:none;transition:background 0.15s}
.pv-btn-outline:hover{background:var(--pv-bg)}

/* ── Result hero ── */
.pv-result__hero{padding:2.5rem 0 0}
.pv-result__hero-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.pv-result__eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--pv-amber);margin-bottom:6px;font-weight:500}
.pv-result__company{font-family:var(--pv-display);font-size:30px;font-weight:700;color:#fff;letter-spacing:-0.5px;margin-bottom:10px}
.pv-result__tags{display:flex;flex-wrap:wrap;gap:6px}
.pv-tag-light{font-size:12px;padding:3px 10px;background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.75);border-radius:4px;display:inline-flex;align-items:center;gap:5px}
.pv-tag-light .ti{font-size:13px}

.pv-index-ring{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.pv-index-ring svg{position:absolute;top:0;left:0}
.pv-index-ring__val{position:relative;font-family:var(--pv-display);font-size:26px;font-weight:700;color:var(--pv-amber);margin-top:38px}
.pv-index-ring__lbl{position:relative;font-size:10px;color:rgba(255,255,255,0.5);text-align:center}

.pv-level-banner{border:1px solid;border-radius:var(--pv-radius-sm);padding:12px 16px;margin-bottom:0;background:rgba(255,255,255,0.05);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pv-level-banner__label{font-size:14px;font-weight:600}
.pv-level-banner__desc{font-size:13px;color:rgba(255,255,255,0.6)}

/* ── Result body ── */
.pv-result__body{padding-top:1.5rem;padding-bottom:4rem}

.pv-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1.25rem}
@media(max-width:600px){.pv-summary-cards{grid-template-columns:1fr}}
.pv-scard{display:flex;align-items:flex-start;gap:12px;padding:1rem 1.25rem;border-radius:var(--pv-radius);border:0.5px solid var(--pv-border)}
.pv-scard .ti{font-size:22px;flex-shrink:0;margin-top:2px}
.pv-scard--amber{background:var(--pv-amber-bg);border-color:#FDE68A;color-scheme:light}.pv-scard--amber .ti{color:var(--pv-amber-dark)}
.pv-scard--amber .pv-scard__val{color:#78350F!important}.pv-scard--amber .pv-scard__lbl{color:#92400E!important}
.pv-scard--red{background:#FEF2F2;border-color:#FECACA;color-scheme:light}.pv-scard--red .ti{color:#DC2626}
.pv-scard--red .pv-scard__val{color:#991B1B!important}.pv-scard--red .pv-scard__lbl{color:#7F1D1D!important}
.pv-scard--navy{background:#EFF6FF;border-color:#BFDBFE;color-scheme:light}.pv-scard--navy .ti{color:#1D4ED8}
.pv-scard--navy .pv-scard__val{color:#1E3A5F!important}.pv-scard--navy .pv-scard__lbl{color:#1E40AF!important}
.pv-scard__val{font-size:14px;font-weight:600;color:var(--pv-text)}
.pv-scard__lbl{font-size:12px;color:var(--pv-text-muted);margin-top:2px}

/* ── Cards ── */
.pv-card{background:var(--pv-surface);border:0.5px solid var(--pv-border);border-radius:var(--pv-radius);padding:1.25rem 1.5rem;margin-bottom:1.25rem}
.pv-card__title{font-family:var(--pv-display);font-size:16px;font-weight:600;color:var(--pv-text);margin-bottom:1rem;display:flex;align-items:center;gap:8px}
.pv-card__title .ti{color:var(--pv-navy)}
.pv-card__sub{font-size:13px;color:var(--pv-text-muted);margin-bottom:1rem;line-height:1.6}
.pv-card--amber{border-color:#FDE68A;background:var(--pv-amber-bg)}
.pv-card--success{border-color:#BBF7D0;background:#F0FDF4;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:2rem}
.pv-card--success h2{font-size:17px;color:var(--pv-text)}
.pv-card--success p{font-size:14px;color:var(--pv-text-muted);max-width:520px}

/* ── Viz row ── */
.pv-viz-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}
@media(max-width:640px){.pv-viz-row{grid-template-columns:1fr}}

/* ── Bars ── */
.pv-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pv-bar-row__icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.pv-bar-row__body{flex:1}
.pv-bar-row__head{display:flex;justify-content:space-between;margin-bottom:4px;font-size:13px}
.pv-bar-track{height:6px;background:var(--pv-bg);border-radius:3px;overflow:hidden;border:0.5px solid var(--pv-border)}
.pv-bar-fill{height:100%;border-radius:3px;transition:width 0.5s ease}

/* ── Detail grid ── */
.pv-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:700px){.pv-detail-grid{grid-template-columns:1fr}}
.pv-detail-card{border:0.5px solid var(--pv-border);border-radius:var(--pv-radius-sm);overflow:hidden}
.pv-detail-card__head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--dim-bg);color-scheme:light}
.pv-detail-card__icon{font-size:18px;color:var(--dim-color)}
.pv-detail-card__name{font-size:13px;font-weight:500;color:#111827!important}
.pv-detail-card__score{font-size:11px;color:#6B7280!important;margin-top:1px}
.pv-detail-card__questions{padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.pv-sub__text{font-size:12px;color:var(--pv-text);margin-bottom:4px;line-height:1.4}
.pv-sub{display:flex;align-items:center;gap:8px}
.pv-sub__bar{flex:1;height:5px;background:var(--pv-bg);border-radius:3px;overflow:hidden}
.pv-sub__fill{height:100%;border-radius:3px}
.pv-sub__val{font-size:12px;font-weight:600;min-width:16px;text-align:right;color:var(--pv-text-muted)}

/* ── Opportunities ── */
.pv-opp{border-left:3px solid var(--pv-amber);padding:12px 14px;margin-bottom:10px;border-radius:0 var(--pv-radius-sm) var(--pv-radius-sm) 0;background:var(--pv-surface)}
.pv-opp__head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:6px}
.pv-opp__badge{font-size:11px;padding:2px 9px;border-radius:4px;font-weight:500;margin-left:auto}
.pv-opp__text{font-size:13px;color:var(--pv-text-muted);line-height:1.6;margin-bottom:8px}
.pv-quick-wins{display:flex;flex-wrap:wrap;gap:6px}
.pv-qw{font-size:11px;padding:3px 10px;background:var(--pv-navy-dark);color:rgba(255,255,255,0.8);border-radius:4px;display:inline-flex;align-items:center;gap:4px}
.pv-qw .ti{font-size:12px;color:var(--pv-amber)}

/* ── Result actions ── */
.pv-result-actions{display:flex;gap:10px;flex-wrap:wrap;padding:1rem 0}

/* ── Footer ── */
.pv-footer{text-align:center;padding:1.5rem;font-size:12px;color:var(--pv-text-sub);border-top:0.5px solid var(--pv-border)}

/* ── Tag (form) ── */
.pv-tag{font-size:11px;padding:2px 8px;background:var(--pv-bg);border:0.5px solid var(--pv-border-md);border-radius:4px;color:var(--pv-text-muted)}

/* ── Landing page ── */
.pv-landing-hero{background:linear-gradient(160deg,#0F2342 0%,#1E3A5F 60%,#1B3458 100%);padding:5rem 0 4.5rem}
.pv-landing-hero__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
@media(max-width:800px){.pv-landing-hero__grid{grid-template-columns:1fr}}

.pv-eyebrow-dark{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--pv-amber-dark);font-weight:600;margin-bottom:0.75rem}
.pv-eyebrow-light{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--pv-amber);font-weight:600;margin-bottom:0.75rem}

.pv-section-block{padding:4.5rem 0}
.pv-section-block--alt{background:var(--pv-bg)}
.pv-section-block--navy{background:linear-gradient(160deg,#0F2342 0%,#1E3A5F 100%)}
.pv-section-block__head{text-align:center;max-width:560px;margin:0 auto 3rem}
.pv-section-block__head h2{font-family:var(--pv-display);font-size:28px;font-weight:700;color:var(--pv-text);letter-spacing:-0.5px;margin-bottom:0.75rem}
.pv-section-block__sub{font-size:15px;color:var(--pv-text-muted);line-height:1.6}

.pv-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.pv-benefits-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pv-benefits-grid{grid-template-columns:1fr}}
.pv-benefit-card{background:var(--pv-surface);border:0.5px solid var(--pv-border);border-radius:var(--pv-radius);padding:1.5rem}
.pv-benefit-card__icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:1rem}
.pv-benefit-card h3{font-size:15px;font-weight:600;color:var(--pv-text);margin-bottom:8px}
.pv-benefit-card p{font-size:13px;color:var(--pv-text-muted);line-height:1.65}

.pv-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:800px){.pv-steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.pv-steps{grid-template-columns:1fr}}
.pv-step{text-align:center}
.pv-step__num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--pv-amber);color:#0F2342;font-family:var(--pv-display);font-weight:700;font-size:16px;margin-bottom:1rem}
.pv-step h3{font-size:14px;font-weight:600;color:var(--pv-text);margin-bottom:6px}
.pv-step p{font-size:13px;color:var(--pv-text-muted);line-height:1.6}

.pv-dims-preview{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:700px){.pv-dims-preview{grid-template-columns:1fr}}
.pv-dim-preview{display:flex;align-items:center;gap:14px;background:var(--bg);border:0.5px solid var(--pv-border);border-radius:var(--pv-radius-sm);padding:1rem 1.25rem}
.pv-dim-preview__icon{width:38px;height:38px;border-radius:9px;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.pv-dim-preview__name{font-size:14px;font-weight:600;color:var(--pv-text)}
.pv-dim-preview__desc{font-size:12px;color:var(--pv-text-muted);margin-top:2px}

.pv-plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:850px){.pv-plans-grid{grid-template-columns:1fr}}
.pv-plan-card{position:relative;background:rgba(255,255,255,0.04);border:0.5px solid rgba(255,255,255,0.1);border-radius:var(--pv-radius);padding:1.75rem 1.5rem;display:flex;flex-direction:column}
.pv-plan-card--highlight{background:rgba(245,158,11,0.08);border-color:var(--pv-amber)}
.pv-plan-card__badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--pv-amber);color:#0F2342;font-size:11px;font-weight:700;padding:3px 12px;border-radius:99px}
.pv-plan-card h3{font-family:var(--pv-display);font-size:18px;font-weight:700;color:#fff;margin-bottom:6px}
.pv-plan-card__desc{font-size:12px;color:rgba(255,255,255,0.55);min-height:32px;margin-bottom:1rem}
.pv-plan-card__price{margin-bottom:1.25rem}
.pv-plan-card__amount{font-family:var(--pv-display);font-size:30px;font-weight:700;color:var(--pv-amber)}
.pv-plan-card__period{font-size:12px;color:rgba(255,255,255,0.5);margin-left:4px}
.pv-plan-card__features{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:1.5rem;flex:1}
.pv-plan-card__features li{font-size:13px;color:rgba(255,255,255,0.8);display:flex;align-items:center;gap:8px}
.pv-plan-card__features .ti{color:#22C55E;font-size:15px}

.pv-final-cta{padding:4.5rem 0;text-align:center}
.pv-final-cta h2{font-family:var(--pv-display);font-size:26px;font-weight:700;color:var(--pv-text);margin-bottom:0.5rem}
.pv-final-cta p{font-size:15px;color:var(--pv-text-muted);margin-bottom:1.5rem}

/* ── Admin panel ── */
.pv-admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--pv-border);margin-bottom:1.5rem}
.pv-admin-tab{padding:10px 16px;font-size:13px;color:var(--pv-text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.pv-admin-tab:hover{color:var(--pv-text)}
.pv-admin-tab--active{color:var(--pv-navy);border-bottom-color:var(--pv-amber);font-weight:600}

.pv-badge{display:inline-block;font-size:11px;padding:2px 9px;border-radius:99px;background:var(--pv-bg);color:var(--pv-text-muted);font-weight:500}
.pv-badge--amber{background:var(--pv-amber-bg);color:var(--pv-amber-dark)}
.pv-badge--green{background:#F0FDF4;color:#065F46}
.pv-badge--red{background:#FEF2F2;color:#991B1B}

/* ── Usage banner & plan limits ── */
.pv-usage-banner{display:flex;align-items:center;gap:1.5rem;background:var(--pv-navy-dark);color:#fff;border-radius:var(--pv-radius);padding:0.85rem 1.25rem;margin:1.5rem 0;flex-wrap:wrap}
.pv-usage-banner__plan{display:flex;align-items:center;gap:6px;font-size:13px}
.pv-usage-banner__plan .ti{color:var(--pv-amber)}
.pv-usage-banner__stats{display:flex;gap:1.25rem;font-size:12px;color:rgba(255,255,255,0.7)}
.pv-usage-banner__stats strong{color:#fff}
.pv-usage-banner__upgrade{margin-left:auto;font-size:12px;color:var(--pv-amber);text-decoration:none;font-weight:500}
.pv-usage-banner__upgrade:hover{text-decoration:underline}

.pv-plan-error{display:flex;align-items:flex-start;gap:12px;background:#FEF2F2;border:0.5px solid #FECACA;border-radius:var(--pv-radius-sm);padding:1rem 1.25rem;margin:1rem 0}
.pv-plan-error .ti{font-size:22px;color:#DC2626;flex-shrink:0;margin-top:2px}
.pv-plan-error strong{font-size:14px;color:#991B1B;display:block;margin-bottom:3px}
.pv-plan-error p{font-size:13px;color:#7F1D1D}

.pv-existing-companies{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem}
.pv-existing-companies__label{font-size:12px;color:var(--pv-text-muted);margin-right:4px}
.pv-company-chip{font-size:12px;padding:5px 12px;background:var(--pv-bg);border:0.5px solid var(--pv-border-md);border-radius:99px;cursor:pointer;color:var(--pv-text);transition:background 0.15s}
.pv-company-chip:hover{background:var(--pv-amber-bg);border-color:#FDE68A}

/* ── Auth (login/register) ── */
.pv-auth-card{background:var(--pv-surface);border-radius:var(--pv-radius);padding:2rem;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.pv-auth-card__head{text-align:center;margin-bottom:1.5rem}
.pv-auth-card__head h1{font-family:var(--pv-display);font-size:22px;font-weight:700;color:var(--pv-text);margin-bottom:6px}
.pv-auth-card__head p{font-size:13px;color:var(--pv-text-muted)}
.pv-auth-errors{color:#DC2626;font-size:13px;margin-bottom:0.75rem}
.pv-auth-errors:empty{display:none}
.pv-field-error{color:#DC2626;font-size:12px;margin-top:3px;display:block}
.pv-checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--pv-text-muted);margin:0.5rem 0 1rem;cursor:pointer}
.pv-auth-switch{text-align:center;font-size:13px;color:var(--pv-text-muted);margin-top:1.5rem}
.pv-auth-switch a{color:var(--pv-amber-dark);font-weight:500;text-decoration:none}
.pv-auth-switch a:hover{text-decoration:underline}
.pv-field{margin-bottom:1rem}

/* ── Account menu in nav ── */
.pv-nav__user{display:flex;align-items:center;gap:14px}
.pv-nav__user-name{font-size:13px;color:rgba(255,255,255,0.85)}
.pv-nav__plan-badge{font-size:10px;padding:2px 8px;background:rgba(245,158,11,0.2);color:var(--pv-amber);border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}
.pv-nav__logout-btn{background:none;border:none;color:rgba(255,255,255,0.6);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:5px;font-family:var(--pv-font)}
.pv-nav__logout-btn:hover{color:#fff}


/* ── Account dashboard ── */
.pv-account-header{display:flex;align-items:center;gap:1.25rem;background:var(--pv-surface);border:0.5px solid var(--pv-border);border-radius:var(--pv-radius);padding:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
.pv-account-avatar{width:56px;height:56px;border-radius:50%;background:var(--pv-navy);color:var(--pv-amber);font-family:var(--pv-display);font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pv-account-header__name{font-family:var(--pv-display);font-size:20px;font-weight:700;color:var(--pv-text)}
.pv-account-header__meta{font-size:13px;color:var(--pv-text-muted);margin-top:2px}
.pv-account-grid{display:grid;grid-template-columns:350px 1fr;gap:1.25rem}
@media(max-width:900px){.pv-account-grid{grid-template-columns:1fr}}

.pv-card--plan{border-top:3px solid var(--pv-amber)}
.pv-plan-current__name{font-family:var(--pv-display);font-size:24px;font-weight:700;color:var(--pv-text);margin-bottom:4px}
.pv-plan-current__price{font-size:14px;color:var(--pv-amber-dark);font-weight:500;margin-bottom:8px}
.pv-plan-current__meta{font-size:12px;color:var(--pv-text-muted);display:flex;align-items:center;gap:6px;margin-bottom:4px}
.pv-plan-current__meta strong{color:var(--pv-text)}
.pv-usage-row{display:flex;justify-content:space-between;font-size:13px;color:var(--pv-text);margin-bottom:5px}
.pv-usage-row strong{color:var(--pv-text)}

.pv-upgrade-plans{display:flex;flex-direction:column;gap:10px}
.pv-upgrade-plan{background:var(--pv-bg);border:0.5px solid var(--pv-border);border-radius:var(--pv-radius-sm);padding:12px 14px}
.pv-upgrade-plan--highlight{border-color:var(--pv-amber);background:var(--pv-amber-bg)}
.pv-upgrade-plan--current{opacity:0.7}
.pv-upgrade-plan__head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.pv-upgrade-plan__name{font-weight:600;font-size:14px;color:var(--pv-text)}
.pv-upgrade-plan__price{font-size:13px;color:var(--pv-text-muted);margin-bottom:3px}
.pv-upgrade-plan__limits{font-size:11px;color:var(--pv-text-sub)}

.pv-diag-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:0.5px solid var(--pv-border)}
.pv-diag-row:last-of-type{border-bottom:none}
.pv-diag-row__info{flex:1}
.pv-diag-row__company{font-size:13px;font-weight:500;color:var(--pv-text)}
.pv-diag-row__meta{font-size:11px;color:var(--pv-text-muted)}
.pv-diag-row__score{font-family:var(--pv-display);font-size:18px;font-weight:700;min-width:36px;text-align:center}

.pv-quick-action{display:flex;align-items:center;gap:12px;padding:12px;border:0.5px solid var(--pv-border);border-radius:var(--pv-radius-sm);text-decoration:none;background:var(--pv-surface);transition:background 0.15s}
.pv-quick-action:hover{background:var(--pv-bg)}
.pv-quick-action .ti:first-child{font-size:20px;color:var(--pv-navy);width:28px;text-align:center}

/* ── Alert banners ── */
.pv-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--pv-radius-sm);font-size:14px;margin-bottom:1.25rem}
.pv-alert--success{background:#F0FDF4;border:0.5px solid #BBF7D0;color:#166534}
.pv-alert--error{background:#FEF2F2;border:0.5px solid #FECACA;color:#991B1B}

/* ── Text contrast: dark text on fixed light backgrounds ──────────────────
   Regla general: si el fondo del ancestro es claro FIJO (pastel hardcodeado),
   usamos colores oscuros hardcodeados para que dark-mode no los rompa.
   Si el fondo puede variar con el tema (--pv-surface, --pv-bg), usamos vars. */

/* Landing: sección "Beneficios" / "Cómo funciona" — su h2 y párrafo intro
   están directamente sobre el fondo oscuro del hero/body, deben ser claros */
.pv-section-block .pv-section-block__head h2{color:#fff!important}
.pv-section-block .pv-section-block__head p{color:rgba(255,255,255,0.7)!important}
/* Excepciones: secciones con fondo claro explícito */
.pv-section-block--alt .pv-section-block__head h2{color:#111827!important}
.pv-section-block--alt .pv-section-block__head p{color:#6B7280!important}

/* Benefit cards: tienen background:var(--pv-surface) — en light es blanco,
   en dark es #111827. El texto debe adaptarse al tema del card. */
.pv-benefit-card h3{color:var(--pv-text)!important}
.pv-benefit-card p{color:var(--pv-text-muted)!important}

/* Steps ("Cómo funciona"): sobre --pv-bg que varía con el tema */
.pv-step h3{color:var(--pv-text)!important}
.pv-step p{color:var(--pv-text-muted)!important}

/* CTA final: sobre fondo blanco/--pv-bg */
.pv-final-cta h2{color:var(--pv-text)!important}
.pv-final-cta p{color:var(--pv-text-muted)!important}

/* Dim preview en landing */
.pv-dim-preview{background:var(--pv-surface)}
.pv-dim-preview__name{color:var(--pv-text)!important}
.pv-dim-preview__desc{color:var(--pv-text-muted)!important}

/* Cards (fondo --pv-surface — se adapta al tema) */
.pv-card__title{color:var(--pv-text)!important}
.pv-card p{color:var(--pv-text-muted)}

/* Áreas de oportunidad */
.pv-opp-item__text{color:var(--pv-text-muted)!important}

/* Resultado: barras, sub-questions, tabla */
.pv-bar-row__name{color:var(--pv-text)!important}
.pv-sub__text{color:var(--pv-text)!important}
td{color:var(--pv-text)}

/* Level guide */
.pv-lg-item{color:var(--pv-text-muted)}

@media print{
  .pv-nav,.pv-result-actions,.pv-btn-primary,.pv-btn-outline,.pv-btn-secondary{display:none!important}
  .pv-result__hero{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .pv-card{break-inside:avoid}
}
