:root{
  --bg:#eef5fb;
  --card:#ffffff;
  --text:#081a3a;
  --muted:#6b7a99;
  --line:#dbe3ee;
  --brand:#14b7d4;
  --brand-dark:#0a9fbc;
  --brand-deep:#07839b;
  --ok:#20b26b;
  --shadow:0 12px 28px rgba(8,26,58,.09);
  --radius:20px;
}
*{box-sizing:border-box}
html,body{
  margin:0;padding:0;min-height:100%;
  background:linear-gradient(180deg,#f3f9ff 0%,#eef5fb 100%);
  color:var(--text);font-family:Inter,system-ui,sans-serif
}
body{min-height:100dvh;position:relative;overflow-x:hidden}
.bg-orb{position:fixed;border-radius:50%;filter:blur(44px);opacity:.16;pointer-events:none;z-index:0}
.orb-a{width:160px;height:160px;background:#14b7d4;top:-45px;left:-60px}
.orb-b{width:190px;height:190px;background:#80e7ff;right:-70px;top:120px}

.app-shell{
  position:relative;z-index:1;max-width:430px;margin:0 auto;
  min-height:100dvh;display:flex;flex-direction:column
}
.glass{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;border-bottom:1px solid rgba(219,227,238,.72)
}
.brand-logo{
  display:block;
  width:min(54vw,240px);
  height:auto;
  object-fit:contain;
}
.top-tag{
  flex:0 0 auto;
  padding:7px 10px;border-radius:999px;background:#e7f8fc;color:var(--brand-deep);
  font-weight:700;font-size:11px;border:1px solid #cceef5
}

.page{padding:8px 10px 12px;flex:1}
.hero{
  border:1px solid rgba(219,227,238,.72);
  border-radius:20px;padding:8px 10px;box-shadow:var(--shadow);margin-bottom:8px
}
.hero-chip{
  width:max-content;margin:0 auto 6px;padding:5px 9px;border-radius:999px;
  background:#e8f7fb;color:var(--brand-deep);font-size:10px;font-weight:700
}
.stepper{
  display:flex;justify-content:center;align-items:center;gap:0;
  margin:4px auto 4px;max-width:300px
}
.stepper .step{
  width:34px;height:34px;border-radius:50%;border:2px solid #cfd8e5;background:#fff;
  color:#6f7d97;display:grid;place-items:center;font-weight:800;font-size:15px;z-index:2
}
.stepper .step.active{
  background:var(--brand);border-color:var(--brand);color:#fff;
  box-shadow:0 6px 14px rgba(20,183,212,.22)
}
.stepper .step.done{border-color:var(--brand);color:var(--brand)}
.stepper .line{height:3px;flex:1;background:#d8e1ec}
.stepper .line.done{background:var(--brand)}
.step-caption{text-align:center;color:var(--brand-deep);font-size:12px;font-weight:700;margin:2px 0 0}

.screen{display:none}
.screen.active{display:block}

h1{
  font-size:clamp(24px,6.7vw,36px);
  line-height:1.02;text-align:center;margin:6px 0 6px;font-weight:900;letter-spacing:-.04em
}
.lead{
  text-align:center;color:var(--muted);font-size:13px;line-height:1.28;
  max-width:330px;margin:0 auto 8px
}

.card{
  background:var(--card);border:1px solid rgba(219,227,238,.88);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:12px;margin:8px 0
}
.premium-card{box-shadow:0 12px 24px rgba(8,26,58,.07)}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.label{font-size:13px;font-weight:700;margin-bottom:6px}
.big-value{font-size:28px;font-weight:900;letter-spacing:-.04em}
.big-value .money{color:var(--brand-deep)}
.big-value .unit{font-size:18px;color:var(--muted);font-weight:600}
.icon-box{
  width:40px;height:40px;border-radius:12px;background:linear-gradient(180deg,#f0fbfe,#e6f8fc);
  display:grid;place-items:center;font-size:18px;border:1px solid #d8eef4
}

.range{width:100%;margin:8px 0 4px}
.range-accent{accent-color:var(--brand-deep)}
.range-legend{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
.range-legend-terms{gap:7px}

.summary-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  border-radius:16px;padding:10px;margin:8px 0
}
.premium-summary{
  background:linear-gradient(180deg,#eefbfe,#ebf6fb);border:1px solid #d3e8ef
}
.summary-item{display:flex;align-items:center;gap:8px;min-width:0}
.summary-item small{display:block;color:var(--muted);font-size:10px;line-height:1.1}
.summary-item strong{display:block;font-size:13px;color:var(--brand-deep);line-height:1.15;word-break:break-word}
.summary-icon{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid #cfe7ee;font-size:14px;flex:0 0 auto
}

.primary-btn,.secondary-btn{
  width:100%;border:none;border-radius:16px;padding:13px 14px;font-size:17px;font-weight:800;cursor:pointer
}
.primary-btn{
  background:linear-gradient(90deg,var(--brand-deep),var(--brand));
  color:#fff;box-shadow:0 12px 24px rgba(20,183,212,.22)
}
.secondary-btn{
  background:#fff;border:2px solid var(--brand-deep);color:var(--brand-deep);margin-top:8px
}
.micro-note{text-align:center;color:var(--muted);font-size:11px;margin:8px 0 0}

.field{display:block;margin-bottom:10px}
.field span{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.field input{
  width:100%;height:46px;border-radius:14px;border:1px solid var(--line);
  padding:0 12px;font-size:16px;outline:none;background:#fff
}
.field input:focus{border-color:var(--brand-deep);box-shadow:0 0 0 4px rgba(20,183,212,.12)}
.hint-row{color:var(--muted);font-size:12px;line-height:1.25}

.info-box,.green-ok,.success-box,.next-step-box{
  border-radius:16px;padding:12px;background:#f4fafc;border:1px solid #d7e9ef;margin:8px 0
}
.accent-box{background:#eef9fd}
.info-box strong,.green-ok strong,.success-box strong,.next-step-box strong{
  display:block;font-size:14px;margin-bottom:4px
}
.info-box p,.success-box p,.next-step-box p{margin:0;color:var(--muted);line-height:1.25;font-size:12px}
.green-ok{
  background:#effaf4;border-color:#cdeedb;color:var(--ok);font-size:14px;font-weight:800;text-align:center
}

.otp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0 10px}
.otp{
  width:100%;height:48px;border-radius:12px;border:2px solid #d7e0eb;
  text-align:center;font-size:24px;outline:none;background:#fff
}
.otp:focus{border-color:var(--brand-deep)}

.success-box{display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center}
.success-soft{background:#f2fbff}
.phone-illu{font-size:28px;text-align:center}

.offer-card .offer-bank{font-size:16px;font-weight:800;margin:4px 0 10px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.offer-grid small{display:block;color:var(--muted);font-size:10px}
.offer-grid strong{display:block;font-size:14px;color:var(--brand-deep);line-height:1.15;word-break:break-word}

.checkbox-row{display:flex;align-items:flex-start;gap:8px;margin:10px 0 8px;font-size:13px;line-height:1.25}
.checkbox-row input{width:16px;height:16px;accent-color:var(--brand-deep);margin-top:1px}

.result-box{
  background:#f7fbff;border:1px solid #d7e6f2;border-radius:14px;padding:12px;
  white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.4
}

.toast{
  position:fixed;left:50%;bottom:14px;transform:translateX(-50%) translateY(120px);
  background:#081a3a;color:#fff;padding:11px 12px;border-radius:12px;opacity:0;transition:.25s;
  max-width:min(92vw,390px);z-index:100;font-size:12px
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.footer-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;
  padding:10px 8px 12px;border-top:1px solid rgba(219,227,238,.72);color:#23355d;font-size:10px
}
.footer-strip small{color:var(--muted);font-size:9px}

@media (min-width:390px){
  .app-shell{max-width:440px}
  .brand-logo{width:min(56vw,250px)}
  .topbar{padding:11px 13px}
  .page{padding:9px 11px 13px}
  .hero{padding:9px 10px}
}
@media (min-width:430px){
  .app-shell{max-width:460px}
  .brand-logo{width:min(58vw,265px)}
}
@media (max-height:860px){
  .footer-strip{display:none}
}
@media (max-height:760px){
  .brand-logo{width:min(50vw,210px)}
  .topbar{padding:8px 10px}
  .top-tag{padding:6px 8px;font-size:10px}
  .page{padding:7px 9px 10px}
  .hero{padding:7px 8px;margin-bottom:7px}
  .stepper .step{width:30px;height:30px;font-size:13px}
  h1{font-size:clamp(22px,6.2vw,32px);margin:4px 0}
  .lead{font-size:12px;margin-bottom:6px}
  .card{padding:10px;margin:7px 0}
  .big-value{font-size:25px}
  .summary-row{padding:8px}
  .field input{height:42px;font-size:15px}
  .otp{height:44px;font-size:21px}
  .primary-btn,.secondary-btn{padding:12px 13px;font-size:16px}
}


/* PP_LOGO_COMPACT_CROP_V1
   - mantiene el logo real
   - menos recorte vertical
   - header un poco más alto, sin volver al scroll
*/
.topbar{
  padding:10px 12px !important;
  min-height:64px;
}

.brand-logo-wrap{
  width:min(48vw, 180px);
  height:42px;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  flex:0 1 auto;
}

.brand-logo{
  display:block;
  width:100%;
  max-width:none !important;
  height:auto;
  object-fit:contain;
  transform:translateY(-18%);
  transform-origin:top left;
}

.page{
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.hero{
  padding:10px 10px !important;
  margin-top:4px !important;
  margin-bottom:8px !important;
}

.hero-chip{
  margin-bottom:6px !important;
}

h1{
  margin:5px 0 4px !important;
}

.lead{
  margin-bottom:7px !important;
}

.card{
  margin:8px 0 !important;
}

.summary-row{
  margin:8px 0 !important;
}

.info-box,.green-ok,.success-box,.next-step-box{
  margin:8px 0 !important;
}

@media (min-width:390px){
  .brand-logo-wrap{
    width:min(50vw, 190px);
    height:44px;
  }
}

@media (min-width:430px){
  .brand-logo-wrap{
    width:min(52vw, 200px);
    height:46px;
  }
}

@media (max-height:860px){
  .topbar{
    padding:9px 10px !important;
    min-height:60px;
  }

  .brand-logo-wrap{
    width:min(46vw, 170px);
    height:39px;
  }

  .brand-logo{
    transform:translateY(-16%);
  }
}

@media (max-height:760px){
  .topbar{
    padding:8px 9px !important;
    min-height:56px;
  }

  .brand-logo-wrap{
    width:min(44vw, 160px);
    height:36px;
  }

  .brand-logo{
    transform:translateY(-14%);
  }

  .page{
    padding:8px 8px 8px !important;
  }

  .hero{
    padding:8px 8px !important;
    margin-top:2px !important;
    margin-bottom:6px !important;
  }

  h1{
    font-size:clamp(21px, 6vw, 30px) !important;
    margin:3px 0 !important;
  }

  .lead{
    font-size:11px !important;
    line-height:1.22 !important;
    margin-bottom:5px !important;
  }

  .card{
    padding:9px !important;
    margin:6px 0 !important;
  }

  .big-value{
    font-size:24px !important;
  }

  .summary-row{
    padding:7px !important;
    gap:5px !important;
  }

  .summary-item{
    gap:6px !important;
  }

  .summary-item small{
    font-size:9px !important;
  }

  .summary-item strong{
    font-size:12px !important;
  }

  .summary-icon{
    width:27px !important;
    height:27px !important;
    font-size:12px !important;
  }

  .primary-btn,.secondary-btn{
    padding:11px 12px !important;
    font-size:15px !important;
  }
}
\n\n/* PP_LOGO_VENV_FINAL_V1
   - usa logo recortado real
   - más visible (+~5mm)
   - mantiene layout compacto y sin scroll
*/
.topbar{
  padding:10px 12px !important;
  min-height:72px !important;
}

.brand-logo,
.brand-logo-wrap{
  display:none !important;
}

.brand-mark{
  width:min(68vw, 262px);
  height:48px;
  flex:0 0 auto;
  background-image:url('/assets/logo-peype-analytics-header.png?v=static');
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
}

.page{
  padding-top:10px !important;
}

.hero{
  margin-top:4px !important;
}

@media (min-width:390px){
  .brand-mark{
    width:min(70vw, 276px);
    height:50px;
  }
}

@media (min-width:430px){
  .brand-mark{
    width:min(72vw, 290px);
    height:52px;
  }
}

@media (max-height:860px){
  .topbar{
    padding:9px 11px !important;
    min-height:68px !important;
  }
  .brand-mark{
    width:min(62vw, 236px);
    height:43px;
  }
  .page{
    padding-top:8px !important;
  }
}

@media (max-height:760px){
  .topbar{
    padding:8px 10px !important;
    min-height:64px !important;
  }
  .brand-mark{
    width:min(58vw, 214px);
    height:39px;
  }
  .page{
    padding-top:7px !important;
  }
}


