/* Creado por Ing. Emigdio Zarate con Claude Code como gestor y Gemini como agente */
:root {
  --bg:#001E3C; --bg-card:#002D5A;
  --steel:#1E8FD8; --steel-lt:#4AABEC;
  --orange:#EA580C; --orange-lt:#FB923C;
  --green:#22C55E; --red:#DC2626; --amber:#D97706; --purple:#7C3AED;
  --white:#FFFFFF; --gray:#94A3B8;
  --text:#E2E8F0; --text-dim:#94A3B8;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter','Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
.app-wrap{max-width:430px;margin:0 auto;min-height:100vh}
@media(min-width:500px){body{background:#000d1f}.app-wrap{background:var(--bg);box-shadow:0 0 80px rgba(0,0,0,.7)}}

.portal-header{position:sticky;top:0;z-index:100;background:rgba(0,20,48,.97);backdrop-filter:blur(16px);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07)}
.header-back{color:var(--gray);font-size:.8rem;font-weight:600;text-decoration:none}
.header-back:hover{color:var(--white)}
.header-title{font-size:.78rem;font-weight:700;color:var(--orange)}

/* PLAN SELECTOR */
.plan-selector{padding:1.25rem 1.25rem .75rem;border-bottom:1px solid rgba(255,255,255,.07)}
.plan-selector-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:.6rem}
.plan-pills{display:flex;gap:.5rem}
.plan-pill{flex:1;padding:.6rem .5rem;border:1px solid rgba(255,255,255,.12);border-radius:.55rem;background:transparent;color:var(--text-dim);font-size:.75rem;font-weight:600;cursor:pointer;text-align:center;transition:all .2s;font-family:inherit}
.plan-pill.active{border-color:var(--orange);background:rgba(234,88,12,.15);color:var(--orange-lt)}

/* SELECTED PLAN CARD */
.plan-detail{margin:1rem 1.25rem;background:var(--bg-card);border:1px solid rgba(255,255,255,.09);border-radius:.8rem;padding:1.1rem}
.plan-detail-name{font-size:.95rem;font-weight:800;margin-bottom:.2rem}
.plan-detail-price{font-size:1.75rem;font-weight:800;margin-bottom:.1rem}
.plan-detail-price small{font-size:.78rem;font-weight:400;color:var(--text-dim)}
.plan-detail-note{font-size:.72rem;color:var(--green);margin-bottom:.75rem}
.plan-detail-items{list-style:none;font-size:.75rem;color:var(--text-dim)}
.plan-detail-items li{padding:.22rem 0;display:flex;gap:.4rem;border-bottom:1px solid rgba(255,255,255,.05)}
.plan-detail-items li::before{content:"✓";color:var(--green);font-weight:700;flex-shrink:0}

/* STEPS */
.steps-section{padding:1.25rem 1.25rem .5rem}
.steps-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:.9rem}
.step-row{display:flex;gap:.75rem;margin-bottom:.85rem;align-items:flex-start}
.step-circle{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff}
.step-circle.done{background:var(--green)}
.step-circle.active{background:var(--orange)}
.step-circle.pending{background:rgba(255,255,255,.12);color:var(--text-dim)}
.step-content{flex:1;padding-top:.15rem}
.step-title{font-size:.82rem;font-weight:700;margin-bottom:.15rem}
.step-desc{font-size:.72rem;color:var(--text-dim);line-height:1.5}

/* BANK DATA SECTION */
.bank-section{margin:0 1.25rem 1rem;background:rgba(0,25,60,.6);border:1px solid rgba(255,255,255,.1);border-radius:.8rem;overflow:hidden}
.bank-section-head{background:rgba(217,119,6,.15);border-bottom:1px solid rgba(217,119,6,.2);padding:.65rem 1rem;display:flex;align-items:center;gap:.5rem}
.bank-section-head span{font-size:.72rem;font-weight:700;color:#fbbf24}
.bank-pending-badge{background:rgba(217,119,6,.25);border:1px solid rgba(217,119,6,.4);color:#fbbf24;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;margin-left:auto}
.bank-body{padding:.9rem 1rem}
.bank-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.bank-row:last-child{border:none}
.bank-label{font-size:.7rem;color:var(--text-dim);font-weight:600;letter-spacing:.03em}
.bank-value{font-size:.82rem;font-weight:700;color:var(--white);text-align:right;max-width:60%}
.bank-value.pending{color:var(--amber);font-style:italic;font-size:.72rem;font-weight:400}
.bank-pending-note{background:rgba(217,119,6,.1);border:1px dashed rgba(217,119,6,.3);border-radius:.5rem;padding:.65rem .85rem;margin-top:.75rem;font-size:.7rem;color:#fbbf24;line-height:1.55}

/* PAYMENT METHODS */
.methods-section{padding:.5rem 1.25rem 1rem}
.methods-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:.7rem}
.method-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:.65rem;padding:.8rem 1rem;margin-bottom:.55rem}
.method-name{font-size:.82rem;font-weight:700;margin-bottom:.2rem}
.method-desc{font-size:.72rem;color:var(--text-dim);line-height:1.5}

/* FORM */
.form-section{padding:.75rem 1.25rem 1.5rem}
.form-section-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-bottom:.9rem}
.form-group{margin-bottom:1rem}
label{display:block;font-size:.74rem;font-weight:600;color:var(--gray);margin-bottom:.35rem}
input,textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:.6rem;padding:.75rem 1rem;color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s;-webkit-appearance:none;resize:vertical}
input:focus,textarea:focus{border-color:var(--orange);background:rgba(255,255,255,.09)}
.form-note{font-size:.68rem;color:var(--text-dim);margin-top:.3rem;line-height:1.5}

/* WHATSAPP CTA */
.wa-cta{display:flex;align-items:center;justify-content:center;gap:.6rem;background:#25D366;color:#fff;font-size:.95rem;font-weight:700;padding:.9rem;border-radius:.75rem;text-decoration:none;transition:opacity .2s;width:100%;margin-bottom:.6rem;border:none;cursor:pointer;font-family:inherit}
.wa-cta:hover{opacity:.88}
.wa-cta.disabled{opacity:.4;pointer-events:none}

.or-row{text-align:center;font-size:.72rem;color:var(--text-dim);margin:.5rem 0}

/* ACTIVATE LINK */
.activate-link-box{background:rgba(30,143,216,.08);border:1px solid rgba(30,143,216,.2);border-radius:.7rem;padding:.85rem 1rem;text-align:center;margin-top:.5rem}
.activate-link-box p{font-size:.75rem;color:var(--text-dim);margin-bottom:.5rem;line-height:1.5}
.activate-link-box a{color:var(--steel-lt);font-weight:700;font-size:.82rem;text-decoration:none}

.portal-footer{padding:1.4rem 1.25rem 1.8rem;text-align:center;border-top:1px solid rgba(255,255,255,.07);margin-top:.5rem}
.portal-footer a.ft-logo{display:inline-block;margin-bottom:.55rem;opacity:.5;transition:opacity .2s}
.portal-footer a.ft-logo:hover{opacity:.85}
.portal-footer a.ft-logo img{height:28px;object-fit:contain;border-radius:4px;display:block}
.portal-footer p{font-size:.68rem;color:var(--text-dim);line-height:1.6}
#scrollTop{position:fixed;bottom:1.8rem;left:1.8rem;z-index:200;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,#EA580C,#FB923C);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(234,88,12,.45);opacity:0;transform:translateY(16px) scale(.8);transition:opacity .35s,transform .35s;pointer-events:none}
#scrollTop.show{opacity:1;transform:none;pointer-events:auto}
#scrollTop:hover{box-shadow:0 6px 28px rgba(234,88,12,.7);transform:scale(1.1) translateY(-2px)}
#scrollTop:active{transform:scale(.9)}