:root{--pv-bg:#07101e;--pv-surface:#0d1829;--pv-surface2:#111f33;--pv-line:rgba(148,163,184,.16);--pv-text:#f8fafc;--pv-muted:#94a3b8;--pv-accent:#facc15;--pv-accent2:#f59e0b;--pv-good:#34d399;--pv-warn:#f59e0b;--pv-danger:#fb7185;--pv-shadow:0 22px 60px rgba(0,0,0,.28)}html[data-theme="light"]{--pv-bg:#f4f7fb;--pv-surface:#fff;--pv-surface2:#f8fafc;--pv-line:#e2e8f0;--pv-text:#0f172a;--pv-muted:#64748b;--pv-shadow:0 18px 46px rgba(15,23,42,.08)}*{box-sizing:border-box}body.portal-v4{margin:0;background:radial-gradient(circle at 80% -10%,rgba(250,204,21,.08),transparent 28%),var(--pv-bg);color:var(--pv-text);font-family:DM Sans,sans-serif;min-height:100vh}.portal-v4 button,.portal-v4 input,.portal-v4 select,.portal-v4 textarea{font:inherit}.pv4-topbar{height:70px;position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1180px)/2));background:color-mix(in srgb,var(--pv-bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--pv-line)}.pv4-logo{display:flex;align-items:center;gap:10px;color:var(--pv-text);text-decoration:none;font-weight:800}.pv4-logo img{width:34px;height:34px;border-radius:10px;object-fit:contain;background:#fff}.pv4-top-actions{display:flex;gap:8px}.pv4-icon-btn{width:40px;height:40px;border:1px solid var(--pv-line);background:var(--pv-surface);color:var(--pv-text);border-radius:13px;display:grid;place-items:center;text-decoration:none;cursor:pointer}.pv4-main{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:24px 0 110px}.pv4-auth,.pv4-onboarding{min-height:calc(100vh - 110px);display:grid;place-items:center}.pv4-auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border:1px solid var(--pv-line);border-radius:30px;background:var(--pv-surface);box-shadow:var(--pv-shadow)}.pv4-auth-visual{min-height:560px;padding:54px;background:linear-gradient(145deg,#0c1830,#16233b);position:relative;overflow:hidden;color:#fff}.pv4-auth-visual:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(250,204,21,.13);filter:blur(10px);right:-140px;bottom:-140px}.pv4-auth-visual img{width:76px;height:76px;background:#fff;border-radius:22px;padding:10px;margin-bottom:70px}.pv4-auth-visual span,.pv4-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#facc15}.pv4-auth-visual h1{font:800 clamp(2.1rem,4vw,3.4rem)/1.05 Manrope,sans-serif;max-width:500px;margin:12px 0 18px}.pv4-auth-visual p{color:#cbd5e1;max-width:430px;line-height:1.7}.pv4-auth-form{padding:54px;display:flex;flex-direction:column;justify-content:center}.pv4-auth-form h2,.pv4-onboarding-copy h1,.pv4-page-head h1{font-family:Manrope,sans-serif;margin:10px 0 9px}.pv4-auth-form>p,.pv4-onboarding-copy>p,.pv4-page-head>p{color:var(--pv-muted);line-height:1.65;margin:0 0 26px}.pv4-auth-form label,.pv4-profile-form>label,.pv4-support-form label{display:grid;gap:8px;font-weight:700;font-size:.88rem}.pv4-input{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--pv-line);background:var(--pv-surface2);border-radius:14px}.pv4-input input,.pv4-profile-form input,.pv4-profile-form select,.pv4-support-form select,.pv4-support-form textarea,.pv4-dialog textarea{width:100%;border:1px solid var(--pv-line);background:var(--pv-surface2);color:var(--pv-text);border-radius:13px;padding:13px 14px;outline:none}.pv4-input input{border:0;background:transparent;padding-left:0}.pv4-primary,.pv4-secondary{border:0;border-radius:14px;padding:14px 18px;font-weight:800;cursor:pointer}.pv4-primary{background:var(--pv-accent);color:#111827;display:flex;align-items:center;justify-content:center;gap:10px}.pv4-secondary{background:var(--pv-surface2);color:var(--pv-text);border:1px solid var(--pv-line)}.pv4-auth-form form{display:grid;gap:16px}.pv4-community{margin-top:18px;padding:18px;border-radius:16px;border:1px solid var(--pv-line);background:var(--pv-surface2)}.pv4-community span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--pv-accent);font-weight:800}.pv4-community h3{margin:7px 0}.pv4-community p{color:var(--pv-muted);font-size:.88rem}.pv4-community input{width:100%;padding:12px;border:1px solid var(--pv-line);border-radius:12px;background:var(--pv-surface);color:var(--pv-text);margin-bottom:10px}.pv4-trust,.pv4-profile-note{display:flex;gap:10px;margin-top:20px;color:var(--pv-muted);font-size:.82rem;line-height:1.5}.pv4-msg{padding:11px 13px;border-radius:12px;margin-top:12px;font-size:.85rem}.pv4-msg.err{background:rgba(244,63,94,.12);color:#fecdd3}.pv4-msg.ok{background:rgba(16,185,129,.12);color:#a7f3d0}.pv4-onboarding-card{width:min(980px,100%);display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--pv-line);border-radius:28px;overflow:hidden;background:var(--pv-surface);box-shadow:var(--pv-shadow)}.pv4-onboarding-copy{padding:52px;background:linear-gradient(150deg,#101c30,#15243d);color:#fff}.pv4-onboarding-copy p{color:#cbd5e1}.pv4-profile-form{padding:42px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.pv4-profile-form>label:first-of-type,.pv4-avatar-picker,.pv4-profile-form fieldset,.pv4-profile-form>.pv4-primary,.pv4-profile-form>.pv4-msg{grid-column:1/-1}.pv4-profile-form label small,.pv4-birthday small,.pv4-profile-form legend small{font-weight:500;color:var(--pv-muted)}.pv4-avatar-picker{display:flex;align-items:center;gap:16px;padding:14px;background:var(--pv-surface2);border:1px solid var(--pv-line);border-radius:18px}.pv4-avatar-preview{width:76px;height:76px;border-radius:22px;border:1px dashed var(--pv-line);overflow:hidden;background:var(--pv-surface);color:var(--pv-muted);cursor:pointer}.pv4-avatar-preview img{width:100%;height:100%;object-fit:cover}.pv4-avatar-picker div{display:grid;gap:4px}.pv4-avatar-picker span{font-size:.78rem;color:var(--pv-muted)}.pv4-avatar-picker div button{border:0;background:transparent;color:var(--pv-accent);padding:0;text-align:left;font-weight:800;cursor:pointer}.pv4-birthday{display:grid;grid-template-columns:1fr 110px 150px;gap:10px;align-items:end}.pv4-birthday>div{display:grid}.pv4-profile-form fieldset{border:0;padding:0;margin:2px 0}.pv4-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.pv4-chips input{display:none}.pv4-chips span{display:block;padding:9px 12px;border-radius:999px;border:1px solid var(--pv-line);cursor:pointer}.pv4-chips input:checked+span{border-color:var(--pv-accent);background:rgba(250,204,21,.1)}.pv4-app{max-width:1080px;margin:0 auto}.pv4-greeting{display:flex;justify-content:space-between;align-items:center;margin:8px 0 22px}.pv4-user{display:flex;align-items:center;gap:12px}.pv4-user-avatar,.pv4-account-avatar{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#1e293b,#334155);display:grid;place-items:center;overflow:hidden;font-weight:800;color:#fff}.pv4-user-avatar img,.pv4-account-avatar img{width:100%;height:100%;object-fit:cover}.pv4-user small{display:block;color:var(--pv-muted)}.pv4-user strong{font:800 1.15rem/1.2 Manrope,sans-serif}.pv4-text-action{display:flex;align-items:center;gap:8px;color:var(--pv-text);text-decoration:none;border:1px solid var(--pv-line);border-radius:13px;padding:10px 12px;background:var(--pv-surface)}.pv4-panel{display:none}.pv4-panel.active{display:block}.pv4-entry-campaign{margin-bottom:18px}.pv4-promo-card{position:relative;overflow:hidden;border:1px solid var(--pv-line);border-radius:24px;padding:26px;background:linear-gradient(135deg,var(--pv-surface),color-mix(in srgb,var(--pv-accent) 8%,var(--pv-surface)));box-shadow:var(--pv-shadow)}.pv4-promo-card:after{content:"";position:absolute;width:160px;height:160px;border:1px solid color-mix(in srgb,var(--pv-accent) 35%,transparent);border-radius:50%;right:-50px;top:-65px}.pv4-promo-card small{color:var(--pv-accent);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.pv4-promo-card h2{font-family:Manrope,sans-serif;margin:8px 0}.pv4-promo-card p{color:var(--pv-muted);max-width:700px}.pv4-promo-card button{margin-top:8px}.pv4-promo-card.theme-halloween{background:linear-gradient(135deg,#171222,#2d1833);border-color:rgba(249,115,22,.26)}.pv4-promo-card.theme-halloween small{color:#fb923c}.pv4-promo-card.theme-birthday{background:linear-gradient(135deg,#15162d,#2a1f45)}.pv4-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid var(--pv-line);border-radius:22px;background:var(--pv-surface);margin-bottom:14px}.pv4-next span{color:var(--pv-muted);font-size:.8rem}.pv4-next h2{font:800 1.2rem Manrope,sans-serif;margin:4px 0}.pv4-next p{margin:0;color:var(--pv-muted)}.pv4-next button,.pv4-section-head button,.pv4-support-benefit button{border:0;background:transparent;color:var(--pv-accent);font-weight:800;cursor:pointer}.pv4-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 30px}.pv4-quick-grid button{min-height:88px;border:1px solid var(--pv-line);background:var(--pv-surface);color:var(--pv-text);border-radius:18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;padding:16px;cursor:pointer;text-align:left}.pv4-quick-grid i{color:var(--pv-accent);font-size:1.15rem}.pv4-section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 12px}.pv4-section-head small,.pv4-page-head .pv4-eyebrow{color:var(--pv-accent);text-transform:uppercase;font-weight:800;letter-spacing:.1em}.pv4-section-head h2{font:800 1.2rem Manrope,sans-serif;margin:3px 0}.pv4-service-list{display:grid;gap:10px}.pv4-service-card{border:1px solid var(--pv-line);background:var(--pv-surface);border-radius:18px;padding:17px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.pv4-service-card .main{min-width:0}.pv4-service-card .topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pv4-service-card h3{margin:0;font:800 1rem Manrope,sans-serif}.pv4-service-card .state{font-size:.7rem;font-weight:800;border-radius:999px;padding:4px 8px;background:rgba(52,211,153,.1);color:#6ee7b7}.pv4-service-card .state.renew{background:rgba(245,158,11,.12);color:#fbbf24}.pv4-service-card .state.history{background:rgba(148,163,184,.12);color:var(--pv-muted)}.pv4-service-card .meta{display:flex;gap:14px;color:var(--pv-muted);font-size:.8rem;margin-top:7px;flex-wrap:wrap}.pv4-account-hint{font-family:DM Mono,monospace;color:var(--pv-muted)}.pv4-service-actions{display:flex;gap:8px;align-items:center}.pv4-service-actions button,.pv4-service-actions a{border:1px solid var(--pv-line);background:var(--pv-surface2);color:var(--pv-text);border-radius:12px;padding:10px 12px;text-decoration:none;cursor:pointer;font-weight:700;font-size:.82rem}.pv4-service-actions .primary-action{background:var(--pv-accent);border-color:var(--pv-accent);color:#111827}.pv4-support-benefit{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid var(--pv-line);background:var(--pv-surface2);border-radius:18px;margin-top:24px}.pv4-support-benefit>i{width:42px;height:42px;border-radius:13px;background:rgba(250,204,21,.12);display:grid;place-items:center;color:var(--pv-accent)}.pv4-support-benefit div{display:grid;gap:3px;flex:1}.pv4-support-benefit span{font-size:.82rem;color:var(--pv-muted)}.pv4-page-head{margin:8px 0 24px}.pv4-page-head h1{font-size:clamp(1.6rem,4vw,2.4rem)}.pv4-service-filter{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin-bottom:10px}.pv4-service-filter button{white-space:nowrap;border:1px solid var(--pv-line);background:var(--pv-surface);color:var(--pv-muted);border-radius:999px;padding:10px 13px;cursor:pointer}.pv4-service-filter button.active{color:#111827;background:var(--pv-accent);border-color:var(--pv-accent)}.pv4-service-filter b{margin-left:5px}.pv4-campaign-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pv4-campaign-card{border:1px solid var(--pv-line);background:var(--pv-surface);border-radius:20px;padding:20px;position:relative;overflow:hidden}.pv4-campaign-card .kind{color:var(--pv-accent);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.pv4-campaign-card h3{font:800 1.08rem Manrope,sans-serif;margin:7px 0}.pv4-campaign-card p{color:var(--pv-muted);font-size:.85rem;line-height:1.55}.pv4-campaign-card .foot{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:15px}.pv4-campaign-card .foot span{font-size:.75rem;color:var(--pv-muted)}.pv4-campaign-card button{border:0;background:transparent;color:var(--pv-accent);font-weight:800;cursor:pointer}.pv4-reward-list,.pv4-case-list{display:grid;gap:9px}.pv4-row-card{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--pv-line);background:var(--pv-surface);border-radius:16px;padding:14px}.pv4-row-card small{display:block;color:var(--pv-muted);margin-top:3px}.pv4-row-card .status{font-size:.75rem;color:var(--pv-accent);font-weight:800}.pv4-support-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;border:1px solid var(--pv-line);background:var(--pv-surface);border-radius:20px}.pv4-support-form .wide{grid-column:1/-1}.pv4-account-card{display:flex;align-items:center;gap:16px;border:1px solid var(--pv-line);background:var(--pv-surface);border-radius:22px;padding:20px}.pv4-account-avatar{width:72px;height:72px;border-radius:22px}.pv4-account-card>div:nth-child(2){flex:1}.pv4-account-card h2{margin:0}.pv4-account-card p,.pv4-account-card span{color:var(--pv-muted);font-size:.84rem}.pv4-account-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.pv4-account-stats article{border:1px solid var(--pv-line);background:var(--pv-surface);border-radius:17px;padding:18px}.pv4-account-stats b{display:block;font-size:1.4rem}.pv4-account-stats span{color:var(--pv-muted);font-size:.8rem}.pv4-security-card{margin-top:12px;display:flex;gap:14px;padding:18px;border:1px solid var(--pv-line);border-radius:17px;background:var(--pv-surface2)}.pv4-security-card i{color:var(--pv-accent)}.pv4-security-card div{display:grid;gap:4px}.pv4-security-card span{color:var(--pv-muted);font-size:.82rem}.pv4-bottom{position:fixed;z-index:55;left:50%;bottom:14px;transform:translateX(-50%);width:min(620px,calc(100% - 20px));height:68px;border:1px solid var(--pv-line);border-radius:22px;background:color-mix(in srgb,var(--pv-surface) 94%,transparent);box-shadow:var(--pv-shadow);backdrop-filter:blur(20px);display:grid;grid-template-columns:repeat(5,1fr);padding:6px}.pv4-bottom button{border:0;background:transparent;color:var(--pv-muted);border-radius:16px;cursor:pointer;display:grid;place-items:center;align-content:center;gap:4px;font-size:.7rem}.pv4-bottom i{font-size:1rem}.pv4-bottom button.active{background:rgba(250,204,21,.12);color:var(--pv-accent)}.pv4-dialog{width:min(650px,calc(100% - 24px));border:1px solid var(--pv-line);border-radius:24px;background:var(--pv-surface);color:var(--pv-text);padding:22px;box-shadow:var(--pv-shadow)}.pv4-dialog::backdrop{background:rgba(2,8,23,.72);backdrop-filter:blur(9px)}.pv4-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.pv4-dialog-head small{color:var(--pv-accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.pv4-dialog-head h2{margin:4px 0;font-family:Manrope,sans-serif}.pv4-dialog-head button{width:40px;height:40px;border-radius:12px;border:1px solid var(--pv-line);background:var(--pv-surface2);color:var(--pv-text);cursor:pointer}.pv4-task-list{display:grid;gap:10px}.pv4-task{padding:13px;border:1px solid var(--pv-line);border-radius:14px;background:var(--pv-surface2)}.pv4-task a{color:var(--pv-accent);font-weight:700}.pv4-task input[type="text"],.pv4-task input[type="file"]{width:100%;margin-top:8px}.pv4-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.pv4-wheel-dialog{width:min(680px,calc(100% - 20px));text-align:center}.pv4-wheel-stage{position:relative;width:min(520px,100%);margin:auto}.pv4-wheel-stage canvas{width:100%;height:auto;filter:drop-shadow(0 20px 35px rgba(0,0,0,.25))}.pv4-wheel-pointer{position:absolute;z-index:2;left:50%;top:-4px;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:28px solid var(--pv-accent)}.pv4-winners{margin-top:16px;display:grid;gap:8px}.pv4-winner{padding:12px;border-radius:13px;background:var(--pv-surface2);font-weight:800}.pv4-small-dialog{width:min(470px,calc(100% - 24px))}.pv4-small-dialog>p{color:var(--pv-muted);line-height:1.6}.pv4-small-dialog textarea{margin:6px 0 12px}.pv4-birthday-moment{position:relative;overflow:hidden;border:1px solid rgba(250,204,21,.22);background:linear-gradient(135deg,#1d1730,#232241);border-radius:24px;padding:24px;margin-bottom:18px;color:#fff}.pv4-birthday-moment canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pv4-birthday-moment div{position:relative;z-index:1}.pv4-birthday-moment span{color:#fde68a;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.pv4-birthday-moment strong{display:block;font:800 1.55rem Manrope,sans-serif;margin:5px 0}.pv4-birthday-moment p{margin:0;color:#cbd5e1}.pv4-empty{border:1px dashed var(--pv-line);border-radius:17px;padding:24px;text-align:center;color:var(--pv-muted)}@media(max-width:760px){.pv4-main{width:min(100% - 20px,1180px);padding-top:12px}.pv4-auth-shell,.pv4-onboarding-card{grid-template-columns:1fr}.pv4-auth-visual{min-height:auto;padding:28px}.pv4-auth-visual img{width:54px;height:54px;margin-bottom:28px}.pv4-auth-form,.pv4-profile-form,.pv4-onboarding-copy{padding:28px}.pv4-profile-form{grid-template-columns:1fr}.pv4-profile-form>label,.pv4-birthday{grid-column:1/-1}.pv4-birthday{grid-template-columns:1fr 1fr}.pv4-birthday>div{grid-column:1/-1}.pv4-quick-grid{grid-template-columns:repeat(3,1fr)}.pv4-service-card{grid-template-columns:1fr}.pv4-service-actions{flex-wrap:wrap}.pv4-campaign-grid{grid-template-columns:1fr}.pv4-support-form{grid-template-columns:1fr}.pv4-support-form .wide{grid-column:1}.pv4-account-card{align-items:flex-start;flex-wrap:wrap}.pv4-account-card>div:nth-child(2){min-width:180px}.pv4-account-stats{grid-template-columns:repeat(3,1fr)}.pv4-topbar{height:62px;padding:0 12px}.pv4-logo span{display:none}.pv4-greeting{margin-top:0}.pv4-text-action span{display:none}.pv4-next{align-items:flex-start;flex-direction:column}.pv4-bottom{bottom:8px}.pv4-dialog{padding:18px}}@media(max-width:480px){.pv4-quick-grid{grid-template-columns:1fr 1fr}.pv4-quick-grid button:last-child{grid-column:1/-1}.pv4-service-actions{display:grid;grid-template-columns:1fr 1fr}.pv4-account-stats article{padding:14px}.pv4-bottom span{font-size:.63rem}.pv4-bottom{height:64px}.pv4-profile-form,.pv4-auth-form,.pv4-onboarding-copy{padding:22px}}
.pv4-dialog-label{display:grid;gap:7px;font-weight:700;margin-bottom:10px}.pv4-dialog-label small{color:var(--pv-muted);font-weight:500}.pv4-dialog-label input{width:100%;border:1px solid var(--pv-line);background:var(--pv-surface2);color:var(--pv-text);border-radius:13px;padding:13px 14px}.pv4-dialog-separator{display:flex;align-items:center;gap:10px;color:var(--pv-muted);font-size:.75rem;margin:14px 0}.pv4-dialog-separator:before,.pv4-dialog-separator:after{content:"";height:1px;background:var(--pv-line);flex:1}

.pv4-wa-link{text-decoration:none;text-align:center;display:flex;justify-content:center;align-items:center;gap:9px}.pv4-campaign-card.theme-halloween{background:linear-gradient(135deg,#171222,#2d1833);border-color:rgba(249,115,22,.24)}.pv4-campaign-card.theme-birthday{background:linear-gradient(135deg,#15162d,#2a1f45);border-color:rgba(196,181,253,.25)}.pv4-campaign-card.theme-christmas{background:linear-gradient(135deg,#0c1f1d,#173128);border-color:rgba(52,211,153,.22)}.pv4-campaign-card.theme-launch{background:linear-gradient(135deg,#0c1b2f,#17284a);border-color:rgba(103,232,249,.2)}

.pv4-wa-link[hidden]{display:none!important}

/* =========================================================
   V4.2 · flujo por pantallas + TOTP integrado + perfil
   ========================================================= */
.portal-v4 [hidden]{display:none!important}
.portal-v4[data-portal-stage="login"] .pv4-main,
.portal-v4[data-portal-stage="profile"] .pv4-main{width:100%;max-width:none;padding:0;margin:0}
.portal-v4[data-portal-stage="login"] .pv4-auth,
.portal-v4[data-portal-stage="profile"] .pv4-onboarding{min-height:calc(100svh - 70px);place-items:stretch}
.portal-v4[data-portal-stage="login"] .pv4-auth-shell,
.portal-v4[data-portal-stage="profile"] .pv4-onboarding-card{width:100%;min-height:calc(100svh - 70px);border-radius:0;border:0;border-bottom:1px solid var(--pv-line);box-shadow:none}
.pv4-screen-enter{animation:pv4ScreenIn .34s cubic-bezier(.2,.75,.25,1) both}
@keyframes pv4ScreenIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pv4-auth-visual{display:flex;flex-direction:column;justify-content:center}
.pv4-auth-visual:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;border:1px solid rgba(250,204,21,.12);left:-250px;top:-280px}
.pv4-auth-points{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.pv4-auth-points span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);color:#dbeafe!important;letter-spacing:0!important;text-transform:none!important;font-size:.78rem!important;font-weight:700!important}
.pv4-auth-points i{color:#facc15}
.pv4-auth-form{max-width:620px;width:100%;margin:auto}
.pv4-onboarding-copy{display:flex;flex-direction:column;justify-content:center}
.pv4-profile-form{align-content:center;max-width:760px;width:100%;margin:auto}
.pv4-profile-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}
.pv4-profile-actions .pv4-primary,.pv4-profile-actions .pv4-secondary{min-width:170px}
.pv4-account-shortcut{height:40px;border:1px solid var(--pv-line);background:var(--pv-surface);color:var(--pv-text);border-radius:13px;padding:4px 10px 4px 5px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800}
.pv4-top-avatar{width:30px;height:30px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#1e293b,#334155);color:#fff;font-size:.72rem}
.pv4-top-avatar img{width:100%;height:100%;object-fit:cover}
.pv4-account-shortcut>span:last-child{font-size:.78rem}

/* TOTP dentro de la tarjeta del servicio */
.pv4-service-card.has-totp{align-items:start}
.pv4-totp-inline{grid-column:1/-1;border:1px solid color-mix(in srgb,var(--pv-accent) 24%,var(--pv-line));background:linear-gradient(135deg,color-mix(in srgb,var(--pv-accent) 5%,var(--pv-surface2)),var(--pv-surface2));border-radius:16px;padding:13px 14px;display:grid;gap:11px}
.pv4-totp-head{display:flex;align-items:center;gap:10px;min-width:0}
.pv4-totp-head>i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(250,204,21,.11);color:var(--pv-accent)}
.pv4-totp-head>div{min-width:0;flex:1;display:grid;gap:2px}
.pv4-totp-head strong{font:800 .86rem Manrope,sans-serif}
.pv4-totp-head small{color:var(--pv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv4-totp-ready{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pv4-totp-ready p{margin:0;color:var(--pv-muted);font-size:.8rem;line-height:1.45}
.pv4-totp-generate,.pv4-totp-verify{border:0;border-radius:12px;background:var(--pv-accent);color:#111827;padding:10px 13px;font-weight:800;cursor:pointer;white-space:nowrap}
.pv4-totp-generate:disabled,.pv4-totp-verify:disabled{opacity:.65;cursor:wait}
.pv4-totp-manual{border-top:1px solid var(--pv-line);padding-top:11px;display:grid;gap:9px}
.pv4-totp-manual>p{margin:0;color:var(--pv-muted);font-size:.8rem;line-height:1.5}
.pv4-totp-manual-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.pv4-totp-manual input{width:100%;min-width:0;border:1px solid var(--pv-line);background:var(--pv-surface);color:var(--pv-text);border-radius:12px;padding:10px 12px;font-family:DM Mono,monospace;text-transform:uppercase}
.pv4-totp-request-link{justify-self:start;border:0;background:transparent;color:var(--pv-accent);padding:0;cursor:pointer;font-weight:800;font-size:.78rem}
.pv4-totp-message{font-size:.78rem;line-height:1.45;padding:9px 10px;border-radius:10px;background:rgba(244,63,94,.1);color:#fecdd3}
.pv4-inline-code{display:grid;gap:10px;border-top:1px solid var(--pv-line);padding-top:12px}
.pv4-inline-code-main{display:flex;align-items:center;gap:12px}
.pv4-inline-code-digits{font:800 clamp(1.7rem,6vw,2.8rem)/1 DM Mono,monospace;letter-spacing:.1em;color:var(--pv-text);user-select:all;min-width:0;flex:1}
.pv4-inline-code-copy,.pv4-inline-code-sound{width:38px;height:38px;border:1px solid var(--pv-line);border-radius:11px;background:var(--pv-surface);color:var(--pv-text);cursor:pointer;display:grid;place-items:center}
.pv4-inline-code-copy.copied{background:#d1fae5;color:#065f46;border-color:transparent}
.pv4-inline-code-progress{height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--pv-text) 8%,transparent)}
.pv4-inline-code-progress span{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pv-accent),var(--pv-accent2));transition:width .14s linear}
.pv4-inline-code-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--pv-muted);font-size:.76rem}
.pv4-inline-code.expired .pv4-inline-code-digits{font-family:DM Sans,sans-serif;font-size:1rem;letter-spacing:0;color:var(--pv-muted)}
.pv4-inline-code.expired .pv4-inline-code-copy{display:none}

/* Cumpleaños */
.pv4-birthday-moment{min-height:138px;display:flex;align-items:center;isolation:isolate;background:radial-gradient(circle at 86% 28%,rgba(250,204,21,.22),transparent 25%),linear-gradient(135deg,#1d1730,#232241)}
.pv4-birthday-copy{padding-right:150px}
.pv4-birthday-gifts{position:absolute!important;right:24px;top:50%;transform:translateY(-50%);display:flex!important;align-items:center;gap:5px;z-index:2!important}
.pv4-birthday-gifts b{display:block;font-size:2.4rem;filter:drop-shadow(0 9px 13px rgba(0,0,0,.2));animation:pv4GiftFloat 2.5s ease-in-out infinite}
.pv4-birthday-gifts b:nth-child(2){font-size:1.45rem;animation-delay:.25s}.pv4-birthday-gifts b:nth-child(3){font-size:3.1rem;animation-delay:.5s}
@keyframes pv4GiftFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(4deg)}}

@media(max-width:760px){
  .portal-v4[data-portal-stage="login"] .pv4-auth-shell,.portal-v4[data-portal-stage="profile"] .pv4-onboarding-card{grid-template-columns:1fr}
  .portal-v4[data-portal-stage="login"] .pv4-auth-visual{min-height:38svh;padding:30px 26px}
  .portal-v4[data-portal-stage="login"] .pv4-auth-visual img{width:52px;height:52px;margin-bottom:22px}
  .portal-v4[data-portal-stage="login"] .pv4-auth-visual h1{font-size:clamp(2rem,10vw,2.8rem);margin-bottom:10px}
  .portal-v4[data-portal-stage="login"] .pv4-auth-form{padding:30px 24px;min-height:calc(62svh - 62px)}
  .portal-v4[data-portal-stage="profile"] .pv4-onboarding-copy{padding:28px 24px}
  .portal-v4[data-portal-stage="profile"] .pv4-profile-form{padding:26px 22px}
  .pv4-profile-actions{flex-direction:column-reverse}.pv4-profile-actions>*{width:100%}
  .pv4-account-shortcut>span:last-child{display:none}.pv4-account-shortcut{padding-right:5px}
  .pv4-totp-ready{align-items:flex-start;flex-direction:column}.pv4-totp-generate{width:100%}
  .pv4-birthday-copy{padding-right:76px}.pv4-birthday-gifts{right:10px}.pv4-birthday-gifts b{font-size:1.7rem}.pv4-birthday-gifts b:nth-child(2){display:none}.pv4-birthday-gifts b:nth-child(3){font-size:2rem}
}
@media(max-width:480px){.pv4-totp-manual-row{grid-template-columns:1fr}.pv4-totp-verify{width:100%}.pv4-inline-code-digits{font-size:1.9rem;letter-spacing:.07em}}

/* V4.2.1 · Código dentro de Mi Cuenta con la estética original de codigo.html */
.pv4-original-code-theme{position:relative;overflow:hidden;border:1px solid rgba(89,215,255,.34);border-radius:24px;padding:16px;background:linear-gradient(160deg,rgba(7,16,30,.96),rgba(7,16,30,.88));box-shadow:0 18px 42px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06);color:#edf4ff;isolation:isolate}
.pv4-original-code-theme::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -12%,rgba(89,215,255,.22),transparent 34%),radial-gradient(circle at 100% 0%,rgba(255,96,150,.11),transparent 38%);pointer-events:none;z-index:-2}
.pv4-code-theme-glow{position:absolute;inset:-55%;z-index:-1;background:linear-gradient(115deg,transparent 43%,rgba(255,255,255,.08) 50%,transparent 57%);transform:translateX(-60%) rotate(10deg);animation:pv4CodeGlass 5.6s ease-in-out infinite;pointer-events:none}
@keyframes pv4CodeGlass{0%,46%{transform:translateX(-60%) rotate(10deg);opacity:0}58%{opacity:.8}84%,100%{transform:translateX(60%) rotate(10deg);opacity:0}}
.pv4-code-theme-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}.pv4-code-theme-head>span{display:inline-flex;align-items:center;gap:7px;color:#bfe7ff;font-size:.73rem;font-weight:900;letter-spacing:.04em}.pv4-original-code-theme .pv4-inline-code-sound{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#dff4ff}
.pv4-code-theme-gif{width:min(250px,100%);margin:12px auto 4px;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.26),0 0 18px rgba(89,215,255,.10)}.pv4-code-theme-gif[hidden]{display:none}.pv4-code-theme-gif img{display:block;width:100%;max-height:132px;object-fit:cover}
.pv4-original-code-theme .pv4-inline-code-main{position:relative;margin-top:12px;padding:15px 12px;border:1px solid #59d7ff;border-radius:20px;background:rgba(3,10,20,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 14px 32px rgba(47,124,255,.13)}
.pv4-original-code-theme .pv4-inline-code-digits{color:#fff;font:1000 clamp(2rem,7vw,3.4rem)/1 DM Mono,ui-monospace,monospace;letter-spacing:.12em;text-align:center;text-shadow:0 0 20px rgba(89,215,255,.22);padding-left:.12em}
.pv4-original-code-theme.waiting .pv4-inline-code-digits,.pv4-original-code-theme.expired .pv4-inline-code-digits{font:900 1rem/1.25 DM Sans,sans-serif;letter-spacing:0;color:#dff4ff;padding-left:0}
.pv4-original-code-theme .pv4-inline-code-copy{position:absolute;right:10px;top:50%;transform:translateY(-50%);border-color:rgba(89,215,255,.32);background:rgba(6,57,84,.46);color:#dff4ff}.pv4-original-code-theme .pv4-inline-code-copy.copied{background:#d1fae5;color:#065f46}
.pv4-code-theme-hint{margin:9px 2px 0;text-align:center;color:#bae6fd;font-size:.72rem;font-weight:800;line-height:1.4}
.pv4-original-code-theme .pv4-inline-code-progress{height:10px;margin-top:12px;background:rgba(255,255,255,.13)}.pv4-original-code-theme .pv4-inline-code-progress span{background:linear-gradient(90deg,#59d7ff,#2f7cff);box-shadow:0 0 14px rgba(89,215,255,.22)}
.pv4-original-code-theme .pv4-inline-code-foot{color:#cbd7ea;margin-top:8px}.pv4-original-code-theme .pv4-inline-code-foot b{color:#dff4ff;font-variant-numeric:tabular-nums}
html[data-theme="light"] .pv4-original-code-theme{color:#edf4ff}
@media(max-width:480px){.pv4-original-code-theme{padding:13px;border-radius:20px}.pv4-original-code-theme .pv4-inline-code-digits{font-size:2.25rem;letter-spacing:.09em}.pv4-code-theme-gif img{max-height:115px}}
