:root{--purple:#820ad1;--purple-2:#a313e6;--purple-dark:#5f079d;--purple-soft:#f4eafa;--ink:#171717;--muted:#6f6f6f;--surface:#fff;--line:#e5e5e5;--ok:#168a57;--warn:#c57600;--danger:#c92b45;--shadow:0 18px 60px rgba(38,0,55,.14)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}body{min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{touch-action:manipulation}[hidden]{display:none!important}
.splash-view{position:fixed;inset:0;z-index:1000;background:linear-gradient(145deg,#6f00bb 0%,var(--purple) 46%,#a20ce1 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:opacity .36s ease,visibility .36s ease}.splash-view::before,.splash-view::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.splash-view::before{width:72vw;height:72vw;left:-45vw;top:-20vw}.splash-view::after{width:68vw;height:68vw;right:-38vw;bottom:-28vw}.splash-view.out{opacity:0;visibility:hidden}.splash-center{position:relative;z-index:2}.splash-logo{width:132px;height:132px;border-radius:38px;box-shadow:0 28px 68px rgba(48,0,70,.22)}.splash-footer{position:absolute;z-index:2;left:50%;bottom:max(44px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(260px,66vw);text-align:center}.splash-progress{height:4px;background:rgba(255,255,255,.28);border-radius:999px;overflow:hidden;margin-bottom:18px}.splash-progress i{display:block;width:40%;height:100%;background:#fff;border-radius:inherit;animation:splashLoad .8s ease forwards}.splash-footer strong{font-size:16px;letter-spacing:.04em}@keyframes splashLoad{from{width:10%}to{width:100%}}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,1fr);background:#fff}.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#7500bf 0%,var(--purple) 48%,#a40de1 100%);min-height:100vh}.visual-brand{position:absolute;z-index:4;left:48px;top:38px;display:flex;align-items:center;gap:14px;color:#fff}.visual-brand img{width:58px;height:58px;border-radius:18px}.visual-brand strong{font-size:24px}.money-stage{position:absolute;inset:0;perspective:1000px}.money-card{position:absolute;border-radius:30px;padding:28px 30px;color:#fff;box-shadow:0 34px 70px rgba(42,0,61,.26);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.money-card::after{content:"";position:absolute;right:-18%;bottom:-55%;width:78%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.11)}.money-card span{font-size:44px;font-weight:900;letter-spacing:-.07em}.money-card b{font-size:16px;letter-spacing:.03em}.money-card small{font-size:12px;opacity:.72}.money-a{width:52%;height:30%;left:9%;top:22%;background:linear-gradient(145deg,#a438df,#6300a3);transform:rotate(-9deg)}.money-b{width:56%;height:31%;right:4%;top:39%;background:linear-gradient(145deg,#fbf9fc,#dfd7e4);color:#5a0a85;transform:rotate(9deg)}.money-c{width:47%;height:25%;left:19%;bottom:9%;background:linear-gradient(145deg,#67169b,#3f005f);transform:rotate(-3deg)}.coin{position:absolute;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:30px;background:#fff;color:var(--purple);box-shadow:0 24px 50px rgba(38,0,54,.22)}.coin-a{right:14%;top:17%}.coin-b{left:9%;bottom:20%;width:58px;height:58px;font-size:22px;background:#e8bdf8}
.login-panel{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:56px 7vw;background:#fff}.login-shell{width:min(540px,100%)}.mobile-brand{display:none}.login-kicker,.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--purple);font-weight:900}.login-shell h1{font-size:clamp(40px,4.7vw,68px);line-height:1.01;letter-spacing:-.05em;margin:14px 0 18px}.login-subtitle{font-size:18px;color:var(--muted);line-height:1.55;margin:0 0 42px}.login-step>label:not(.remember){display:block;font-size:14px;font-weight:800;margin:0 0 10px}.input-shell{position:relative;display:flex;align-items:center;height:70px;border:1px solid #dedede;border-radius:22px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.input-shell:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px rgba(130,10,209,.08)}.input-icon{width:54px;display:grid;place-items:center;color:#666;flex:0 0 auto}.input-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.input-shell input:not([type=checkbox]){width:100%;height:100%;border:0;outline:0;background:transparent;padding:0 16px 0 0;font-size:18px;color:var(--ink)}.input-shell input::placeholder{color:#aaa}.field-help{margin:10px 0 28px;color:#8a8a8a;font-size:13px}.primary-action{width:100%;min-height:60px;border:0;border-radius:999px;padding:15px 26px;background:var(--purple);color:#fff;font-weight:800;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:transform .15s ease,background .15s ease,opacity .15s ease}.primary-action b{font-size:22px;font-weight:500}.primary-action:hover:not(:disabled){background:var(--purple-dark);transform:translateY(-1px)}.primary-action:disabled{background:#ddd;color:#9b9b9b;cursor:not-allowed}.chosen-user{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 12px}.chosen-user div{display:flex;flex-direction:column;gap:3px}.chosen-user span{font-size:22px;font-weight:700}.chosen-user strong{font-size:34px;letter-spacing:-.03em}.chosen-user button,.back-button{border:0;background:transparent;color:var(--purple);font-weight:800;cursor:pointer}.back-button{font-size:28px;padding:0;margin:0 0 24px}.password-copy{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 28px}.password-field input{padding-right:56px!important}.eye-button{position:absolute;right:7px;top:8px;width:52px;height:52px;border:0;background:transparent;display:grid;place-items:center;color:#555;cursor:pointer}.eye-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9}.remember{display:flex!important;align-items:center;gap:10px;margin:24px 0 28px;font-size:14px;color:#555;cursor:pointer}.remember input{width:20px;height:20px;accent-color:var(--purple)}
.toast-stack{position:fixed;right:20px;bottom:20px;z-index:1500;display:flex;flex-direction:column-reverse;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}.toast{pointer-events:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 48px rgba(0,0,0,.17);padding:15px 16px;display:grid;grid-template-columns:38px 1fr 26px;gap:12px;align-items:center;animation:toastIn .24s ease}.toast-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900}.toast.success .toast-icon{background:#e4f7ee;color:var(--ok)}.toast.error .toast-icon{background:#fde8ed;color:var(--danger)}.toast.info .toast-icon{background:var(--purple-soft);color:var(--purple)}.toast strong{display:block;font-size:14px;margin-bottom:3px}.toast p{margin:0;color:#6c6c6c;font-size:13px;line-height:1.35}.toast-close{border:0;background:transparent;color:#888;font-size:20px;cursor:pointer}.toast.out{animation:toastOut .2s ease forwards}@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(10px) scale(.98)}}
.app-view{min-height:100vh;background:#f6f6f6}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--purple);padding:24px 16px;z-index:10;display:flex;flex-direction:column;color:#fff}.side-brand{display:flex;align-items:center;gap:12px;padding:5px 8px 30px}.side-brand img{width:46px;height:46px;border-radius:15px;box-shadow:0 10px 25px rgba(40,0,59,.18)}.side-brand>div{display:flex;flex-direction:column}.side-brand strong{font-size:21px}.side-brand span{font-size:12px;color:rgba(255,255,255,.72)}.sidebar nav{display:grid;gap:5px}.nav-item,.ghost{border:0;background:transparent;color:rgba(255,255,255,.78);padding:13px 14px;border-radius:14px;text-align:left;font-weight:700;cursor:pointer}.nav-item span{display:inline-block;width:29px}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.14);color:#fff}.sidebar-footer{margin-top:auto}.ghost{width:100%;border:1px solid rgba(255,255,255,.25)}.main{margin-left:260px;min-height:100vh;padding:0 38px 48px}.topbar{height:96px;display:flex;align-items:center;gap:18px;position:sticky;top:0;background:rgba(246,246,246,.92);backdrop-filter:blur(16px);z-index:5}.topbar h2{margin:4px 0 0;font-size:20px}.profile-pill{margin-left:auto;display:flex;align-items:center;gap:10px}.profile-pill>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:900}.profile-pill div{display:flex;flex-direction:column}.profile-pill small{color:#777}.menu-button{display:none;background:#fff;border:1px solid var(--line);color:var(--purple);border-radius:12px;padding:9px}.content-view{max-width:1500px;margin:0 auto;padding-top:18px}.hero{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:34px;border-radius:28px;background:linear-gradient(135deg,var(--purple),#9d24df);color:#fff;box-shadow:0 20px 46px rgba(130,10,209,.18)}.hero .eyebrow{color:#ead3f8}.hero h1{font-size:38px;margin:7px 0}.hero p{color:rgba(255,255,255,.78);margin:0}.hero-balance{min-width:230px;text-align:right}.hero-balance small,.hero-balance span{display:block;color:rgba(255,255,255,.75)}.hero-balance strong{display:block;font-size:30px;margin:8px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metrics article,.panel-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:21px;box-shadow:0 8px 25px rgba(0,0,0,.035)}.metrics span{color:#777;font-size:12px}.metrics strong{display:block;font-size:25px;margin-top:9px}.grid-two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-head h3{margin:5px 0 0}.link-button{border:0;background:transparent;color:var(--purple);font-weight:800;cursor:pointer}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:560px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:#777;font-size:11px;letter-spacing:.05em}.badge{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.badge.ok{background:#e5f7ef;color:var(--ok)}.badge.warn{background:#fff2df;color:var(--warn)}.empty{text-align:center;color:#888}.subscription-card{display:flex;flex-direction:column;gap:10px;padding:17px;border-radius:16px;background:#faf7fc}.subscription-card span{color:var(--ok);font-weight:800;font-size:12px}.subscription-card small,.muted{color:#777;line-height:1.5}
@media(max-width:1050px){.login-view{grid-template-columns:1fr}.login-visual{min-height:42vh}.visual-brand{left:28px;top:26px}.money-a{width:45%;height:48%;top:23%}.money-b{width:46%;height:48%;top:36%}.money-c{width:38%;height:40%;bottom:-5%}.login-panel{min-height:auto;padding:48px 26px 60px}.login-shell h1{font-size:44px}.metrics{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.25)}.main{margin-left:0;padding:0 20px 35px}.menu-button{display:block}.topbar{height:82px}.profile-pill div{display:none}}
@media(max-width:640px){.login-view{display:block;background:#fff}.login-visual{min-height:40vh;border-radius:0 0 34px 34px}.visual-brand{display:none}.mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:24px}.mobile-brand img{width:48px;height:48px;border-radius:15px}.mobile-brand strong{font-size:21px}.money-card{border-radius:20px;padding:17px}.money-card span{font-size:26px}.money-card b{font-size:13px}.money-card small{font-size:10px}.money-a{width:58%;height:43%;left:4%;top:18%}.money-b{width:62%;height:44%;right:-6%;top:39%}.money-c{width:49%;height:36%;left:12%;bottom:-3%}.coin-a{width:58px;height:58px;right:10%;top:13%;font-size:20px}.coin-b{display:none}.login-panel{padding:30px 22px 44px}.login-shell h1{font-size:36px;line-height:1.04;margin:8px 0 14px}.login-subtitle{font-size:16px;margin-bottom:30px}.input-shell{height:64px;border-radius:19px}.primary-action{min-height:58px}.chosen-user span{font-size:18px}.chosen-user strong{font-size:30px}.toast-stack{right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:calc(100vw - 28px)}.main{padding:0 14px 28px}.hero{padding:24px;align-items:flex-start;flex-direction:column}.hero-balance{text-align:left;min-width:0}.hero h1{font-size:30px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metrics article{padding:16px}.metrics strong{font-size:20px}.profile-pill>span{width:36px;height:36px}.topbar{gap:10px}}

/* v4 · login con billetes venezolanos estilizados + dashboard móvil integrado */
.visual-corner-logo{position:absolute;z-index:5;right:9%;top:14%;width:72px;height:72px;border-radius:22px;box-shadow:0 18px 42px rgba(41,0,59,.23)}
.banknote-stage{isolation:isolate}.ven-note{position:absolute;overflow:hidden;border-radius:24px;padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 65px rgba(39,0,56,.25);border:1px solid rgba(255,255,255,.42);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.ven-note::before{content:"";position:absolute;inset:0;opacity:.24;background:repeating-linear-gradient(118deg,transparent 0 10px,rgba(255,255,255,.28) 10px 11px),radial-gradient(circle at 78% 50%,rgba(255,255,255,.4),transparent 34%)}.ven-note::after{content:"";position:absolute;width:48%;aspect-ratio:1;border-radius:50%;right:-12%;bottom:-36%;border:14px solid rgba(255,255,255,.16)}.ven-note>*{position:relative;z-index:2}.note-top,.note-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.note-top>span{font-size:11px;letter-spacing:.16em;font-weight:900}.note-top strong{font-size:44px;line-height:1;letter-spacing:-.06em}.note-center{display:flex;align-items:center;gap:14px}.note-center>div{display:flex;flex-direction:column;gap:2px}.note-center b{font-size:12px;letter-spacing:.07em}.note-center small{font-size:9px;letter-spacing:.12em;opacity:.72}.note-bottom{font-weight:900;font-size:11px;letter-spacing:.08em}.portrait{width:54px;height:54px;flex:0 0 auto;border-radius:50% 48% 44% 50%;background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.2));box-shadow:inset -8px -10px 0 rgba(0,0,0,.08);position:relative}.portrait::before{content:"";position:absolute;width:20px;height:25px;border-radius:50% 45% 52% 45%;left:18px;top:7px;background:currentColor;opacity:.5}.portrait::after{content:"";position:absolute;width:32px;height:18px;border-radius:55% 55% 35% 35%;left:12px;bottom:5px;background:currentColor;opacity:.38}.note-500{width:53%;height:29%;left:8%;top:24%;transform:rotate(-8deg);background:linear-gradient(145deg,#dcc9a2,#aabfa7 50%,#789687);color:#244f40}.note-200{width:57%;height:30%;right:3%;top:41%;transform:rotate(8deg);background:linear-gradient(145deg,#efe1bd,#d6c7e6 52%,#afa3cd);color:#5f4a86}.note-100{width:47%;height:25%;left:19%;bottom:8%;transform:rotate(-3deg);background:linear-gradient(145deg,#dfe5f2,#b7c8db 52%,#8da3bc);color:#31536c}.compact-subtitle{margin-top:-8px!important;margin-bottom:30px!important;font-size:16px!important}.profile-pill{border:0;background:transparent;padding:0;cursor:pointer;color:inherit;text-align:left}.profile-pill:focus-visible{outline:3px solid rgba(130,10,209,.22);outline-offset:5px;border-radius:999px}.side-brand>div{justify-content:center}.sidebar nav{min-height:0}.sidebar-footer{flex:0 0 auto}

@media(max-width:1050px){
  .visual-corner-logo{right:9%;top:12%;width:62px;height:62px;border-radius:19px}
  .note-500{width:47%;height:47%;top:21%}.note-200{width:48%;height:47%;top:35%}.note-100{width:39%;height:39%;bottom:-3%}
  .sidebar{height:100dvh;max-height:100dvh;padding-bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))}.sidebar nav{flex:1 1 auto;overflow-y:auto}.sidebar-footer{margin-top:14px}.ghost{min-height:48px}
}

@media(max-width:640px){
  .login-visual{min-height:31vh;border-radius:0 0 28px 28px}.visual-corner-logo{width:50px;height:50px;border-radius:16px;right:8%;top:11%}
  .ven-note{border-radius:16px;padding:12px 13px}.note-top>span{font-size:7px}.note-top strong{font-size:27px}.note-center{gap:8px}.portrait{width:34px;height:34px}.portrait::before{width:12px;height:16px;left:11px;top:4px}.portrait::after{width:21px;height:12px;left:7px;bottom:3px}.note-center b{font-size:8px}.note-center small{font-size:6px}.note-bottom{font-size:7px}.note-500{width:58%;height:42%;left:4%;top:18%}.note-200{width:61%;height:43%;right:-6%;top:40%}.note-100{width:49%;height:35%;left:12%;bottom:-2%}
  .login-panel{padding:18px 22px 26px}.mobile-brand{margin-bottom:14px}.mobile-brand img{width:44px;height:44px}.login-shell h1{font-size:32px;margin:4px 0 8px}.compact-subtitle{font-size:14px!important;margin:0 0 18px!important}.input-shell{height:58px;border-radius:18px}.input-shell input:not([type=checkbox]){font-size:17px}.primary-action{min-height:54px;margin-top:18px}.chosen-user{margin:0 0 16px}.chosen-user span{font-size:16px}.chosen-user strong{font-size:28px}.back-button{margin-bottom:12px}.remember{margin:18px 0 0}.password-field+.remember{margin-top:18px}.password-field~.primary-action{margin-top:18px}

  /* Dashboard: cabecera completa morada en móvil, no una tarjeta aislada. */
  .app-view{background:#fff}.main{padding:0 0 28px;background:#fff}.topbar{height:auto;min-height:88px;padding:16px 20px 10px;background:var(--purple);color:#fff;backdrop-filter:none}.topbar .eyebrow{color:rgba(255,255,255,.72)}.topbar h2{color:#fff}.menu-button{display:block;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26);color:#fff}.profile-pill>span{width:42px;height:42px;background:#fff;color:var(--purple)}.content-view{padding-top:0;max-width:none}.hero{border-radius:0 0 30px 30px;background:var(--purple);box-shadow:none;padding:12px 22px 30px;gap:20px}.hero h1{font-size:30px;margin:0}.hero-balance{text-align:left}.hero-balance strong{font-size:32px;margin:7px 0}.hero-balance small,.hero-balance span{color:rgba(255,255,255,.78)}.metrics{margin:18px 14px 14px}.grid-two{margin:0 14px}.metrics article,.panel-card{border-radius:20px}.generic-view,.content-view#genericView{padding:18px 14px 0}.sidebar{width:min(78vw,300px);padding-top:20px}.side-brand{padding-bottom:22px}.side-brand img{width:44px;height:44px}.side-brand strong{font-size:20px}.nav-item,.ghost{font-size:16px}.sidebar-footer{padding-top:10px}.ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28);font-weight:800}
}

@media(max-width:640px) and (max-height:760px){.login-visual{min-height:27vh}.login-panel{padding-top:14px}.mobile-brand{margin-bottom:10px}.login-shell h1{font-size:30px}.compact-subtitle{margin-bottom:14px!important}.primary-action{margin-top:14px}}

/* v5 · billetes reales proporcionados por el proyecto + login móvil anclado debajo del hero */
.banknote-photo{position:absolute;z-index:2;display:block;height:64%;width:auto;max-width:none;object-fit:contain;border-radius:16px;box-shadow:0 28px 62px rgba(39,0,56,.28);filter:saturate(.94) contrast(.98);transform-origin:center center}
.banknote-photo.note-500{left:9%;top:18%;transform:rotate(-8deg)}
.banknote-photo.note-200{right:7%;top:23%;transform:rotate(8deg)}
.banknote-photo.note-100{left:35%;bottom:2%;height:58%;transform:rotate(-2deg)}

@media(max-width:1050px){
  .banknote-photo.note-500{left:8%;top:9%;height:76%}
  .banknote-photo.note-200{right:9%;top:13%;height:76%}
  .banknote-photo.note-100{left:36%;bottom:-7%;height:67%}
}

@media(max-width:640px){
  .login-visual{min-height:40vh;border-radius:0 0 30px 30px}
  .visual-corner-logo{width:52px;height:52px;right:8%;top:9%;border-radius:16px}
  .banknote-photo{border-radius:12px;box-shadow:0 18px 40px rgba(39,0,56,.26)}
  .banknote-photo.note-500{left:5%;top:8%;height:74%;transform:rotate(-8deg)}
  .banknote-photo.note-200{right:4%;top:12%;height:75%;transform:rotate(8deg)}
  .banknote-photo.note-100{left:34%;bottom:-8%;height:65%;transform:rotate(-2deg)}

  .login-panel{display:block;min-height:60vh;padding:26px 22px max(30px,env(safe-area-inset-bottom));align-items:initial;justify-content:initial}
  .login-shell{width:100%;max-width:none}
  .mobile-brand{margin-bottom:22px}
  .login-shell h1{font-size:36px;line-height:1.04;margin:0 0 16px;max-width:360px}
  .compact-subtitle{font-size:16px!important;line-height:1.45;margin:0 0 42px!important;max-width:360px}
  .field-help{display:block;margin:10px 0 16px;color:#8a8a8a;font-size:13px}
  #usernameStep .primary-action{margin-top:8px}
}

@media(max-width:640px) and (max-height:760px){
  .login-visual{min-height:36vh}
  .login-panel{min-height:64vh;padding-top:20px}
  .mobile-brand{margin-bottom:14px}
  .login-shell h1{font-size:33px;margin-bottom:10px}
  .compact-subtitle{margin-bottom:28px!important}
  .field-help{margin-bottom:12px}
}


/* v6 · refinamiento visual del login solicitado */
.login-subtitle-spacer{height:62px}
.login-shell h1{font-size:clamp(34px,4vw,54px);font-weight:720;color:#2a2a2a;letter-spacing:-.035em}

/* Composición de billetes reales: 500 parcial horizontal a la izquierda, 100 completo al centro abajo, 200 parcial a la derecha. */
.banknote-photo{height:auto;width:auto;max-width:none;transform-origin:center center;filter:saturate(.95) contrast(.98) drop-shadow(0 22px 30px rgba(37,0,53,.22));box-shadow:none}
.banknote-photo.note-500{width:205px;height:auto;left:-62px;top:78px;transform:rotate(89deg);z-index:2}
.banknote-photo.note-100{width:150px;height:auto;left:50%;top:47%;bottom:auto;transform:translateX(-50%) rotate(-2deg);z-index:3}
.banknote-photo.note-200{width:198px;height:auto;right:-74px;top:76px;transform:rotate(91deg);z-index:2}
.visual-corner-logo{z-index:6}

@media(max-width:1050px){
  .login-subtitle-spacer{height:58px}
  .banknote-photo.note-500{width:178px;height:auto;left:-58px;top:72px}
  .banknote-photo.note-100{width:132px;height:auto;left:50%;top:45%;bottom:auto}
  .banknote-photo.note-200{width:174px;height:auto;right:-63px;top:73px}
}

@media(max-width:640px){
  .login-visual{min-height:36vh}
  .login-shell h1{font-size:30px;line-height:1.08;font-weight:700;color:#383838;margin:4px 0 0}
  .login-subtitle-spacer{height:66px}
  .banknote-photo.note-500{width:160px;height:auto;left:-54px;top:20px;transform:rotate(88deg);z-index:2}
  .banknote-photo.note-100{width:90px;height:auto;left:50%;top:116px;bottom:auto;transform:translateX(-50%) rotate(-2deg);z-index:3}
  .banknote-photo.note-200{width:158px;height:auto;right:-54px;top:22px;transform:rotate(92deg);z-index:2}
  .visual-corner-logo{width:48px;height:48px;right:7%;top:9%}
}

@media(max-width:640px) and (max-height:760px){
  .login-subtitle-spacer{height:52px}
  .login-visual{min-height:34vh}
  .banknote-photo.note-500{top:12px}.banknote-photo.note-100{top:102px}.banknote-photo.note-200{top:14px}
}

/* v8 · ajuste fino del login solicitado */
@media(max-width:640px){
  /* Más aire entre la marca y el título, manteniendo el formulario en la zona baja. */
  .mobile-brand{margin-bottom:30px}
  .login-shell h1{font-size:26px;line-height:1.12;font-weight:650;color:#4a4a4a;max-width:320px;margin:0}
  .login-subtitle-spacer{height:66px}

  /* Billetes reales: 500 más pequeño/fino y arriba; 200 diagonal hacia abajo; 100 emerge desde el borde inferior. */
  .banknote-photo.note-500{width:142px;height:auto;left:-58px;top:4px;transform:rotate(88deg) scaleX(.78);z-index:2}
  .banknote-photo.note-200{width:154px;height:auto;right:-64px;top:22px;transform:rotate(106deg) scaleX(.82);z-index:2}
  .banknote-photo.note-100{width:94px;height:auto;left:50%;top:218px;bottom:auto;transform:translateX(-50%) rotate(-2deg);z-index:3}
}

@media(max-width:640px) and (max-height:760px){
  .mobile-brand{margin-bottom:24px}
  .login-shell h1{font-size:25px}
  .login-subtitle-spacer{height:52px}
  .banknote-photo.note-500{top:-2px}
  .banknote-photo.note-200{top:14px}
  .banknote-photo.note-100{top:194px}
}

/* v9 · microajuste de la composición de billetes en móvil */
@media(max-width:640px){
  .banknote-photo.note-500{width:156px;left:-58px;top:-14px;transform:rotate(88deg) scaleX(.82);z-index:2}
  .banknote-photo.note-200{width:168px;right:-52px;top:-6px;transform:rotate(102deg) scaleX(.84);clip-path:inset(0 0 34% 0);z-index:2}
  .banknote-photo.note-100{width:112px;left:50%;top:168px;bottom:auto;transform:translateX(-50%) rotate(-2deg);z-index:3}
}
@media(max-width:640px) and (max-height:760px){
  .banknote-photo.note-500{top:-18px}
  .banknote-photo.note-200{top:-10px}
  .banknote-photo.note-100{top:150px}
}

/* v10 · hero sin billetes: beneficios PagReal con destello perimetral */
.benefit-stage{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:82px 12% 48px;z-index:2}
.benefit-card{position:relative;isolation:isolate;display:flex;align-items:center;gap:14px;width:min(430px,78%);min-height:78px;padding:14px 18px;border-radius:22px;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 42px rgba(51,0,79,.22);backdrop-filter:blur(12px);overflow:hidden}
.benefit-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--shine-angle,0deg),transparent 0 72%,rgba(255,255,255,.18) 76%,#fff 81%,#d9a8ff 85%,transparent 90% 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:benefitBorder 3.1s linear infinite;pointer-events:none;z-index:3}
.benefit-card::after{content:"";position:absolute;top:-50%;left:-45%;width:34%;height:200%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.2),rgba(255,255,255,.52),rgba(255,255,255,.16),transparent);transform:rotate(12deg);animation:benefitSweep 3.1s ease-in-out infinite;pointer-events:none;z-index:0}
.benefit-card>*{position:relative;z-index:2}.benefit-fast{align-self:flex-start;transform:translateX(2%)}.benefit-safe{align-self:center}.benefit-auto{align-self:flex-end;transform:translateX(-2%)}
.benefit-icon{width:48px;height:48px;flex:0 0 48px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.24)}.benefit-icon svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.benefit-fast .benefit-icon svg{fill:#fff;stroke:#fff}.benefit-copy{display:flex;flex-direction:column;gap:3px}.benefit-copy strong{font-size:18px;letter-spacing:-.01em}.benefit-copy small{font-size:12px;color:rgba(255,255,255,.72)}
@keyframes benefitBorder{to{--shine-angle:360deg}}@keyframes benefitSweep{0%,15%{left:-45%;opacity:0}30%{opacity:1}60%{left:118%;opacity:.9}72%,100%{left:118%;opacity:0}}
@property --shine-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@media(prefers-reduced-motion:reduce){.benefit-card::before,.benefit-card::after{animation:none}}
@media(max-width:1050px){.benefit-stage{padding:70px 8% 34px;gap:12px}.benefit-card{width:min(390px,72%);min-height:68px}.benefit-copy strong{font-size:17px}}
@media(max-width:640px){.benefit-stage{padding:48px 22px;gap:10px;justify-content:center}.benefit-card{width:86%;min-height:62px;padding:10px 12px;border-radius:18px;gap:11px}.benefit-fast{align-self:flex-start;transform:translateX(0)}.benefit-safe{align-self:center}.benefit-auto{align-self:flex-end;transform:translateX(0)}.benefit-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px}.benefit-icon svg{width:22px;height:22px}.benefit-copy strong{font-size:16px}.benefit-copy small{font-size:11px}.visual-corner-logo{z-index:6}}
