/* DeFi Oracle · Expresiva 02. Shared presentation; business rules live in the existing pages. */
:root {
  color-scheme: light;
  --primary: #1974ce; --primary-blue: #1974ce; --primary-strong: #1266b7;
  --accent: #07867e; --accent-green: #07867e; --brand-teal: #0c968d;
  --text: #142f40; --dark-slate: #142f40; --deep-charcoal: #142f40;
  --text-dim: #536f81; --muted-gray: #536f81; --muted: #536f81;
  --bg: #f2f7fb; --light-background: #f2f7fb; --panel: #fff; --panel-2: #f4f8fb;
  --border: #dce7ee; --border-light: #dce7ee;
  --radius-md: 16px; --radius-lg: 24px; --radius-xl: 30px;
  --v2-shadow: 0 20px 60px #34769c1c;
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html { scroll-padding-top: 32px; }
body.v2-expresiva {
  background: radial-gradient(ellipse at 87% 12%,#d7f5f3,transparent 47%),radial-gradient(ellipse at 10% 80%,#e0edff,transparent 50%),#f2f7fb;
  background-attachment: fixed; color: var(--text); font: 16px/1.5 var(--font-family);
  margin: 0; min-height: 100dvh; -webkit-text-size-adjust: 100%;
}
.v2-expresiva *, .v2-expresiva *::before, .v2-expresiva *::after { box-sizing: border-box; }
.v2-expresiva button,.v2-expresiva input,.v2-expresiva select,.v2-expresiva textarea { font-family: inherit; }
.v2-expresiva button, .v2-expresiva a { -webkit-tap-highlight-color: transparent; }
.v2-expresiva .df-icon { display:inline-block; flex:none; vertical-align:middle; overflow:visible; }
.v2-expresiva .df-icon-control { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.v2-expresiva :is(button,a,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid #1974ce; outline-offset: 4px; }
.v2-expresiva :is(input,select,textarea) { font-size: 16px; min-width: 0; max-width: 100%; }
.v2-expresiva :is(button,.btn,.btn-primary,.btn-secondary) { min-height: 44px; }
.v2-expresiva :is(.btn-primary,.btn-accent) { background: linear-gradient(115deg,#1974ce,#00818a); color: #fff; border: 0; border-radius: 15px; box-shadow: 0 8px 20px #0b8e9d26; }
.v2-expresiva .btn-secondary { background: #eef5fa; color: #17649e; border: 1px solid #dce7ee; border-radius: 15px; }
.v2-expresiva :is(h1,h2,h3) { color: #142f40; letter-spacing: -.035em; }
.v2-expresiva :is(.app-container,.app-shell,body>.app) { max-width: 1152px; width: 100%; margin: 0 auto; background: transparent; box-shadow: none; }
.v2-expresiva .page { background: transparent; min-height: 100dvh; }
.v2-expresiva .page-content { padding: 30px 24px 170px; overflow: visible; }
.v2-expresiva .home-container .page-content { display: block; margin: 0; background: transparent; box-shadow: none; border: 0; border-radius: 0; }
.v2-expresiva .home-container .page { padding-bottom: 0; }
.v2-expresiva .app-shell { padding: 30px 24px 170px; }
body.v2-expresiva>.app { padding: 30px 24px 170px; }
.v2-expresiva :is(.card,.profile-header,.stat-card,.recipient-card,.beneficiary-card,.last-send-card,.form-card,.menu-section,.settings-section) { border-radius: 24px; border-color: #e0e9ef; box-shadow: 0 8px 26px #2e60890b; background-color: #fff; }
.v2-expresiva :is(.topbar,.header) { background: #ffffffad; backdrop-filter: blur(22px); border: 1px solid #fff; color: #142f40; border-radius: 24px; box-shadow: 0 8px 24px #2e60890b; }
.v2-expresiva :is(.topbar,.header) :is(h1,h2,.subtitle,.back-btn,.back) { color: #142f40; }
.v2-expresiva :is(.modal-content,.rates-dialog,.login-modal-dialog,.simulator-dialog) { border-radius: 28px; border: 1px solid #e0e9ef; max-height: calc(100dvh - 32px); overflow-y: auto; background: #fff; }
.v2-expresiva .glass-nav { position: fixed; left: 50%; transform: translateX(-50%); bottom: max(12px,env(safe-area-inset-bottom)); width: calc(100% - 28px); max-width: 600px; height: 74px; padding: 8px; border-radius: 24px; border: 1px solid #ffffff; background: #ffffffe8; backdrop-filter: blur(24px); box-shadow: 0 12px 45px #234f7028; z-index: 80; display: flex; gap: 4px; }
.v2-expresiva .glass-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-decoration: none; flex: 1; min-width: 0; border-radius: 17px; color: #587081; padding: 5px 2px; }
.v2-expresiva .glass-nav-item.active { background: #e6f3fb; color: #1269ae; }
/* Respuesta inmediata al toque: sin la espera de 300 ms y con el mismo tono azul claro mientras el dedo esta apoyado */
.v2-expresiva .glass-nav-item { touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: background-color .12s ease, transform .12s ease; }
.v2-expresiva .glass-nav-item:active { background: #e6f3fb; transform: scale(.97); }
.v2-expresiva .glass-nav-item.active:active { background: #d4e8f6; }
.v2-expresiva .glass-nav-item.active .icon { color: #1269ae; }
.v2-expresiva .profile-name { color: #fff; }
.v2-expresiva .glass-nav-item .icon { display: grid; place-items: center; flex-shrink: 0; background: transparent; width: 25px; height: 25px; }
.v2-expresiva .glass-nav-item .icon svg { display: block; width: 24px; height: 24px; }
.v2-expresiva .glass-nav-item .label { margin: 0; }
.v2-expresiva .glass-nav-item .label { font-size: 12px; line-height: 1.3; }
.v2-expresiva .glass-nav-fab { display: none; }
.v2-nav-brand { display: none; }
.v2-nav-support { font-size: 13px; color: #53758b; text-decoration: none; }
.v2-skip { position: fixed; left: 16px; top: -120px; z-index: 20000; padding: 12px 18px; background: #fff; color: #1269ae; border-radius: 12px; }
.v2-skip:focus { top: 12px; }
.v2-intro { margin: 0 0 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.v2-intro h1 { font-size: clamp(30px,4vw,44px); font-weight: 650; line-height: 1.13; margin: 8px 0 12px; }
.v2-intro p { color: #536f81; margin: 8px 0; }
.v2-eyebrow { font-size: 12px; font-weight: 650; letter-spacing: .13em; color: #53758b; text-transform: uppercase; }
#userAvatar { width: 48px; height: 48px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: #d4ece8; border: 4px solid #fff; color: #20796e; font-weight: 650; }
.v2-dashboard { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 28px; align-items: start; }
.v2-quote { background: #fff; border: 1px solid #fff; border-radius: 32px; padding: 28px; box-shadow: var(--v2-shadow); min-width: 0; }
.v2-quote .rate-wrapper { margin: 0; padding: 0; }
.v2-quote .rate-card { background: #fff; border: 0; box-shadow: none; padding: 0; border-radius: 0; color: #142f40; }
.v2-quote .rate-label { color: #536f81; font-size: 14px; letter-spacing: 0; }
.v2-quote .rate-headline { margin-bottom: 22px; }
.v2-quote .rate-value { margin: 0; text-align: left; }
.v2-quote .rate-main { color: #142f40; font-size: 16px; font-weight: 550; }
.v2-quote .rate-number { color: #087c79; font-size: clamp(34px,4vw,52px); font-weight: 650; letter-spacing: -.05em; }
.v2-quote .rate-example { color: #536f81; font-size: 14px; margin: 16px 0 22px; }
.v2-quote .badge-live { background: #eaf8f3; color: #16765e; border: 0; }
.v2-quote .tramo-section { margin: 24px 0; }
.v2-quote .tramo-title { color: #536f81; margin: 0 0 12px; font-size: 14px; }
.v2-quote .tramo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.v2-quote .tramo-card { width: auto; min-width: 0; padding: 14px 8px; border-radius: 15px; border: 1px solid #dce7ee; background: #f7fafc; box-shadow: none; color: #142f40; }
.v2-quote .tramo-card.active { background: #eaf8f5; border-color: #0c968d; color: #066b62; }
.v2-quote .tramo-amount { display: block; font-size: 12px; line-height: 1.4; color: #536f81; }
.v2-quote .tramo-rate { font-size: 20px; margin-top: 7px; font-variant-numeric: tabular-nums; }
.v2-quote .primary-cta-section { margin: 0; }
.v2-quote .primary-cta-section .btn-primary { width: 100%; min-height: 54px; }
.v2-quote .cta-helper-text { font-size: 12px; margin: 14px 0 0; color: #536f81; }
.v2-magic-card { position: relative; overflow: hidden; padding: 28px; border: 1px solid #fff; border-radius: 30px; background: linear-gradient(130deg,#fff9,#e1f5f6b8); box-shadow: 0 20px 45px #34769c15; min-width: 0; }
.v2-magic-card h2 { font-size: clamp(26px,3vw,35px); line-height: 1.12; font-weight: 650; margin: 15px 0; max-width: 320px; }
.v2-magic-card p { color: #476a7e; font-size: 15px; line-height: 1.65; margin: 14px 0; }
.v2-magic-card button { cursor: pointer; }
.v2-magic-card :is(.v2-magic-example,.v2-message-example) { display: block; width: 100%; text-align: left; padding: 18px; background: #fff; border: 1px solid #dce7ee; border-radius: 20px 20px 20px 5px; color: #285d74; margin: 20px 0; }
.v2-magic-card .v2-magic-example small { display: block; margin-top: 10px; font-size: 12px; color: #53758b; }
.v2-magic-card .btn-primary { width: 100%; min-height: 52px; margin-top: 10px; }
.v2-magic-card::after { content: ''; position: absolute; width: 90px; height: 90px; right: -25px; top: -30px; border: 18px solid #ffffff65; border-radius: 50%; box-shadow: 0 0 40px #1d9ba51c; pointer-events: none; }
.v2-campaigns { margin: 36px 0; min-width: 0; }
.v2-campaigns h2,.v2-community h2 { font-size: 22px; font-weight: 650; margin: 0 0 8px; }
.v2-campaigns p,.v2-community p { color: #536f81; font-size: 14px; }
.v2-campaign-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.v2-campaign-card { display: block; text-align: left; background: #fff; padding: 0; border: 1px solid #fff; border-radius: 20px; box-shadow: 0 12px 30px #34769c12; overflow: hidden; text-decoration: none; color: #142f40; cursor: pointer; min-width: 0; }
.v2-campaign-card img { width: 100%; aspect-ratio: 1200/337; display: block; object-fit: cover; object-position: 50% 38%; }
.v2-campaign-card :is(span,strong) { display: block; padding: 12px 16px; font-size: 14px; font-weight: 600; }
.v2-community { margin: 32px 0; border-top: 1px solid #dce7ee; padding-top: 28px; }
.v2-community a { color: #1269ae; }
.v2-community-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.v2-community-grid a { display: block; overflow: hidden; border: 1px solid #e0e9ef; border-radius: 17px; background: #fff; padding: 10px; }
.v2-community-grid img { width: 100%; display: block; object-fit: contain; height: 130px; }
.v2-expresiva .recent-transfers-section { margin-top: 32px; }
.v2-expresiva .billetera-home { margin: 0 0 24px; }
.v2-public .app-container { max-width: 1240px; }
.v2-public .login-page { padding: 36px 28px; min-height: 100dvh; display: block; }
.v2-public .brand-header { margin: 0 0 24px; text-align: left; }
.v2-public .brand-logo-img { width: 145px; height: auto; margin: 0; }
.v2-public .brand-header .login-subtitle { color: #536f81; }
.v2-public .cards-carousel-container,.v2-public .cards-carousel { width: 100%; max-width: none; overflow: visible; height: auto; display: block; transform: none !important; }
.v2-public .carousel-card,.v2-public .login-card { width: 100%; min-width: 0; flex: none; border: 0; background: transparent; padding: 0; box-shadow: none; border-radius: 0; }
.v2-public .cards-dots,.v2-public .swipe-hint { display: none; }
.v2-public .v2-public-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); align-items: start; gap: 48px; }
.v2-public .v2-intro { display: block; }
.v2-public .v2-intro h1 { font-size: clamp(37px,4.5vw,57px); max-width: 550px; }
.v2-public .v2-intro img.v2-orbit { width: 180px; height: 180px; object-fit: contain; }
.v2-public .cta-area { display: grid; gap: 12px; margin-top: 20px; }
.v2-public .cta-actions { display: flex; gap: 12px; }
.v2-public .login-footer { font-size: 12px; color: #536f81; text-align: center; margin: 24px 0; }
.v2-public .testimonials-card { margin-top: 28px; }
.v2-public .testimonials-images-carousel { max-width: 580px; margin: 0 auto; }
.v2-public .feature-carousel { aspect-ratio: 1200/337; margin: 20px 0; border-radius: 20px; overflow: hidden; min-height: 0; height: auto; }
.v2-public .feature-slide,.v2-public .feature-banner { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
.v2-public .feature-dots { background: #113456b8; padding: 2px 8px; border-radius: 30px; bottom: 6px; }
.v2-public .feature-dot { min-height: 24px; min-width: 24px; width: 24px; height: 24px; border: 8px solid transparent; background-clip: padding-box; }
.v2-note { margin: 12px 0; color: #536f81; font-size: 13px; }
.v2-draft-notice { background: #edf7f9; color: #275b71; padding: 16px 18px; border: 1px solid #c9e5ec; border-radius: 16px; font-size: 14px; margin: 20px 0; }
.v2-public-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 48px; }
.v2-public-header nav { display: flex; align-items: center; gap: 14px; }
.v2-public-header button,.v2-section-heading>button { border: 0; background: transparent; color: #1269ae; font-weight: 600; cursor: pointer; }
.v2-public-header nav button:last-child { border: 1px solid #d1e4ee; border-radius: 30px; padding: 10px 18px; background: #ffffffa8; }
.v2-public-hero .v2-intro h1 span { color: #07867e; }
.v2-actions { display: flex; gap: 12px; margin-top: 26px; }
.v2-caption { font-size: 12px !important; color: #536f81; }
.v2-rate-spotlight { position: relative; margin-top: 15px; padding-top: 44px; transform: rotate(1deg); }
.v2-rate-spotlight::before { content: ''; display: block; position: absolute; right: 24px; top: -55px; width: 108px; height: 108px; background: url('../assets/orbit.png') center/contain no-repeat; pointer-events: none; }
.v2-rate-number { padding-top: 18px; color: #142f40; font-size: 16px; }
.v2-rate-number strong { display: block; font-size: clamp(45px,6vw,68px); letter-spacing: -.065em; line-height: 1.2; color: #087c79; }
.v2-rate-number>span:last-child { display: inline; color: #536f81; }
.v2-currency-route { display: flex; align-items: center; gap: 10px; margin: 22px 0; color: #536f81; font-size: 14px; }
.v2-currency-route img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.v2-rate-spotlight .btn { width: 100%; }
.v2-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.v2-section-heading h2 { font-size: 24px; margin: 8px 0 0; }
.v2-section-heading a { color: #1269ae; font-size: 14px; white-space: nowrap; }
.v2-rates-overview { margin: 42px 0; }
#v2PublicTiers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
#v2PublicTiers .tier-card { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; border: 1px solid #fff; border-radius: 20px; background: #ffffffb8; padding: 24px; color: #536f81; box-shadow: 0 10px 26px #34769c0c; }
#v2PublicTiers .tier-card.best-rate { border-color: #8ed4c9; background: #edf9f5; }
#v2PublicTiers strong,#v2PublicTiers .tramo-rate { font-size: 26px; font-weight: 650; color: #146d70; }
.v2-expresiva .feature-carousel { position: relative; height: auto; min-height: 0; aspect-ratio: 1200/337; border-radius: 24px; overflow: hidden; box-shadow: 0 16px 40px #34769c22; background: #1476cc; }
.v2-expresiva .feature-slide { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .2s ease; }
.v2-expresiva .feature-slide.active { opacity: 1; pointer-events: auto; visibility: visible; }
.v2-expresiva .v2-campaign-art { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; }
.v2-expresiva .feature-banner { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
.v2-expresiva .feature-dots { position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; gap: 2px; background: #12334cbb; border-radius: 24px; padding: 0 6px; }
.v2-expresiva .feature-dot { border: 8px solid transparent; background: #ffffff88; background-clip: padding-box; border-radius: 50%; width: 24px; height: 24px; min-height: 24px; padding: 0; cursor: pointer; }
.v2-expresiva .feature-dot.active { background-color: #fff; }
.v2-how-it-works { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; margin: 45px 0; }
.v2-how-it-works article { border-top: 1px solid #c8dfe9; padding: 20px 0; }
.v2-how-it-works article>span { color: #16858c; font-size: 13px; }
.v2-how-it-works h3 { font-size: 19px; margin: 10px 0; }
.v2-how-it-works p { color: #536f81; font-size: 14px; }
.v2-referral-info { border-radius: 24px; background: #ffffffa8; padding: 28px; margin: 24px 0; }
.v2-referral-info p { color: #536f81; }
.v2-quick-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.v2-quick-links a { display: block; background: #ffffffa8; border: 1px solid #fff; padding: 12px 18px; border-radius: 25px; font-size: 13px; text-decoration: none; color: #1269ae; }
.v2-expresiva .testimonials-images-carousel { overflow: hidden; width: 100%; max-width: 640px; margin: 24px auto; border-radius: 24px; background: #fff; border: 1px solid #e0e9ef; }
.v2-expresiva .testimonials-images-track { display: flex; transition: transform .2s ease; }
.v2-expresiva .testimonial-image-slide { min-width: 100%; padding: 20px; }
.v2-expresiva .testimonial-screenshot { display: block; width: 100%; height: 170px; object-fit: contain; }
.v2-expresiva .testimonials-dots { display: flex; justify-content: center; gap: 4px; padding: 8px; }
.v2-expresiva .testimonial-dot { width: 36px; height: 36px; min-height: 36px; border-radius: 50%; border: 12px solid #fff; background: #beceda; cursor: pointer; }
.v2-expresiva .testimonial-dot.active { background: #1974ce; }
.v2-instagram-follow { display: block; margin: 18px 0; text-align: center; text-decoration: none; font-weight: 600; }
.v2-public-footer { margin: 40px 0 0; text-align: center; }
.v2-expresiva .footer { background: #fffffff5; backdrop-filter: blur(20px); border: 1px solid #e0e9ef; border-radius: 20px; }
.v2-expresiva #montoCLP,.v2-expresiva #montoVES { font-size: 30px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
@media(min-width:1000px) {
 .v2-auth { padding-left: 228px; }
 .v2-auth :is(.app-container,.app-shell,body>.app) { max-width: 1190px; }
 .v2-auth .page-content { padding: 48px 40px 120px; }
 .v2-auth .app-shell { padding: 48px 40px 120px; }
 .v2-auth .glass-nav { left: 0; top: 0; bottom: 0; transform: none; width: 228px; height: 100dvh; border-radius: 0; padding: 38px 20px 28px; border: 0; border-right: 1px solid #fff; background: #ffffffa8; display: flex; flex-direction: column; gap: 8px; box-shadow: none; }
 .v2-auth .glass-nav-item { flex: none; width: 100%; min-height: 54px; flex-direction: row; justify-content: flex-start; gap: 14px; padding: 13px; }
 .v2-auth .glass-nav-item .label { font-size: 14px; }
 .v2-nav-brand { display: block; margin-bottom: 45px; }
 .v2-nav-brand img { width: 144px; height: auto; display: block; }
 .v2-nav-support { margin-top: auto; padding: 14px; }
 .v2-auth #magic-burbuja { bottom: 24px !important; }
 .v2-auth #magic-ventana { bottom: 100px !important; }
 .v2-auth .footer { left: calc(50% + 114px); transform: translateX(-50%); width: min(780px,calc(100% - 300px)); max-width: none; }
}
@media(max-width:999px) {
 .v2-nav-support { display: none; }
 .v2-dashboard { gap: 20px; }
 .v2-public .v2-public-hero { gap: 24px; }
}
@media(max-width:700px) {
 .v2-dashboard,.v2-public .v2-public-hero { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .v2-expresiva .page-content,.v2-expresiva .app-shell { padding: 26px 18px 170px; }
 .v2-intro { margin-bottom: 24px; }
 .v2-intro h1 { font-size: 32px; }
 .v2-quote,.v2-magic-card { padding: 23px; border-radius: 27px; }
 .v2-campaign-grid { grid-template-columns: minmax(0,1fr); }
 .v2-community-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .v2-public .login-page { padding: 26px 18px; }
 .v2-public .v2-intro h1 { font-size: 40px; }
 .v2-public .v2-intro img.v2-orbit { width: 115px; height: 115px; }
 .v2-public .v2-campaigns { margin: 26px 0; }
 .v2-public-header { padding-bottom: 28px; gap: 12px; }
 .v2-public-header .brand-logo-img { width: 112px; }
 .v2-public-header nav { gap: 6px; font-size: 13px; }
 .v2-public-header nav button:last-child { padding: 8px 12px; }
 .v2-public-header nav button:first-child { display: none; }
 .v2-rate-spotlight { margin-top: 14px; }
 .v2-rate-spotlight::before { width: 88px; height: 88px; top: -36px; }
 #v2PublicTiers { gap: 8px; }
 #v2PublicTiers .tier-card { padding: 16px 10px; font-size: 12px; }
 #v2PublicTiers strong,#v2PublicTiers .tramo-rate { font-size: 19px; }
 .v2-section-heading { align-items: flex-start; flex-wrap: wrap; }
 .v2-section-heading h2 { font-size: 22px; }
 .v2-how-it-works { grid-template-columns: minmax(0,1fr); gap: 0; margin: 24px 0; }
 .v2-expresiva .feature-carousel { border-radius: 15px; }
 .v2-expresiva .feature-dots { bottom: 2px; }
 .v2-expresiva .footer { bottom: 94px; width: calc(100% - 24px); max-width: 580px; }
 .v2-expresiva .tooltip { right: 0; left: auto; transform: none; max-width: min(240px,75vw); white-space: normal; }
}
@media(max-width:360px) {
 .v2-expresiva .page-content,.v2-expresiva .app-shell { padding-left: 12px; padding-right: 12px; }
 .v2-quote,.v2-magic-card { padding: 18px; }
 .v2-quote .tramo-grid { gap: 4px; }
 .v2-quote .tramo-card { padding: 12px 4px; }
 .v2-quote .tramo-rate { font-size: 18px; }
 .v2-public .v2-intro h1 { font-size: 34px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Complete interior layouts: the same hierarchy as the approved presentation. */
.v2-expresiva [id^="v2"],.v2-expresiva #filaInstalarApp { scroll-margin-top: 36px; }
.v2-nav-secondary { display: none; }
.v2-expresiva .glass-nav { right: auto; margin: 0; animation: none !important; }
.v2-expresiva .v2-interior-shell { width: 100%; max-width: 1180px; margin: 0 auto; }
.v2-expresiva .page-content.v2-interior-shell { display: block; background: transparent; box-shadow: none; border: 0; border-radius: 0; backdrop-filter: none; }
.v2-page-perfil .page,.v2-page-destinatario-form .page { padding: 0; gap: 0; }
.v2-expresiva .v2-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; padding: 0; margin: 0 0 34px; color: var(--text); }
.v2-expresiva .v2-heading-copy { flex: 1; min-width: 0; }
.v2-expresiva .v2-page-heading h1 { font-size: clamp(30px,3vw,42px); font-weight: 650; line-height: 1.15; letter-spacing: -.045em; margin: 9px 0 12px; }
.v2-expresiva .v2-page-heading .v2-page-subtitle { font-size: 16px; line-height: 1.6; color: #536f81; max-width: 680px; margin: 0; opacity: 1; }
.v2-expresiva .v2-page-heading :is(.btn-back,.back-btn,.back,.back-button) { flex-shrink: 0; width: 44px; height: 44px; background: #fff; color: #176caa; border: 1px solid #dce7ee; border-radius: 14px; }
.v2-expresiva .v2-surface { background: #fff; border: 1px solid #e4edf2; border-radius: 26px; box-shadow: 0 12px 36px #244e6a0c; }
.v2-expresiva .v2-empty-panel { padding: 50px 24px; min-height: 320px; text-align: center; }
.v2-expresiva .v2-empty-content { max-width: 450px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.v2-expresiva .v2-empty-panel .empty-icon { width: 80px; height: 80px; display: grid; place-items: center; border-radius: 27px; background: linear-gradient(140deg,#e8f1ff,#dff7f1); color: #197f93; margin: 0 auto 10px; font-size: 34px; }
.v2-expresiva .v2-empty-panel .empty-icon svg { width: 36px; height: 36px; }
.v2-expresiva .v2-empty-panel :is(.empty-title,h2,h3) { font-size: 25px; font-weight: 600; margin: 0; }
.v2-expresiva .v2-empty-panel :is(.empty-text,p) { font-size: 15px; line-height: 1.6; margin: 0; color: #536f81; }
.v2-expresiva .v2-empty-panel .v2-empty-action { min-height: 50px; margin: 12px auto 0; padding: 13px 23px; display: inline-flex; align-items: center; justify-content: center; width: auto; }
.v2-expresiva .v2-activity-panel { overflow: visible; padding: 12px 16px 24px; }
.v2-page-historico .header-top { margin: 0; width: 100%; }
.v2-page-historico .header-stats { display: flex; gap: 40px; background: #fff; border-radius: 20px; border: 1px solid #e4edf2; padding: 22px 28px; margin-top: 22px; }
.v2-page-historico .v2-page-heading { display: block; }
.v2-page-historico :is(.stat-value,.stat-val) { font-size: 25px; font-variant-numeric: tabular-nums; }
.v2-page-historico .filter-wrap { padding: 10px 10px 22px; }
.v2-page-historico .content { padding: 0; }
.v2-page-historico .hist-card { border: 1px solid #e3edf2; border-radius: 19px; padding: 22px; box-shadow: none; }
.v2-page-historico .amount-clp { font-size: 20px; }
.v2-page-historico .date-label { margin: 22px 0 14px; color: #536f81; }
.v2-page-destinatarios .page { padding: 0; }
.v2-page-destinatarios .v2-recipient-toolbar { display: flex; align-items: center; gap: 16px; margin: 24px 0; }
.v2-page-destinatarios .search-box { flex: 1; max-width: none; background: #fff; min-height: 54px; border: 1px solid #dbe7ed; border-radius: 17px; }
.v2-page-destinatarios .v2-recipient-panel { padding: 24px; }
.v2-page-destinatarios .recipients-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.v2-page-destinatarios .recipient-card { box-shadow: none; border: 1px solid #e1ebf1; margin: 0; min-width: 0; }
.v2-page-destinatarios .add-recipient-cta { position: static; transform: none; width: 100%; max-width: 1180px; margin: -125px auto 0; padding: 0 40px 150px; text-align: center; background: transparent; }
.v2-page-destinatarios .add-recipient-cta button { width: auto; min-width: 220px; padding: 15px 24px; }
.v2-page-destinatario-form .v2-recipient-form { max-width: 780px; margin: 0 auto; padding: 30px; }












.v2-page-perfil .v2-profile-overview { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; align-items: stretch; margin-bottom: 26px; }
.v2-page-perfil .profile-hero { background: linear-gradient(130deg,#fff,#e7f7f5); color: #142f40; margin: 0; padding: 30px; }
.v2-page-perfil .profile-hero::before,.v2-page-perfil .profile-hero::after { display: none; }
.v2-page-perfil .profile-name { color: #142f40; font-size: 26px; }
.v2-page-perfil :is(.profile-eyebrow,.profile-email) { color: #536f81; opacity: 1; }
.v2-page-perfil .profile-badge { color: #176f65; background: #e5f5ec; border: 1px solid #bce0d4; }
.v2-page-perfil .profile-avatar { background: #d7eeec; color: #147786; border: 4px solid #fff; }
.v2-page-perfil .metric-grid { height: 100%; margin: 0; grid-template-columns: 1fr 1fr; gap: 16px; }
.v2-page-perfil .metric-card { border: 1px solid #e4edf2; border-radius: 24px; background: #fff; box-shadow: none; padding: 25px; justify-content: center; display: flex; flex-direction: column; }
.v2-page-perfil .metric-value { font-size: 32px; font-variant-numeric: tabular-nums; }
.v2-page-perfil :is(.v2-account-section,.v2-benefits-section,.v2-business-section) { padding: 28px; margin: 26px 0; }
.v2-page-perfil .section-title { font-size: 23px; font-weight: 650; }
.v2-page-perfil .data-item { padding: 20px 0; }
.v2-page-perfil .referido-card { background: #f7fafc; border: 1px solid #dce8ed; border-radius: 20px; box-shadow: none; padding: 22px; }
.v2-page-perfil .referido-card summary { padding: 4px 0; color: #176d87; }
.v2-page-perfil .referido-card[open] summary { margin-bottom: 15px; }
.v2-page-soporte .support-shell { max-width: 1180px; padding: 48px 40px 150px; }
.v2-page-soporte .v2-support-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 28px; }
.v2-page-soporte .v2-support-intro { grid-column: 1/-1; text-align: left; display: block; max-width: none; margin: 0; }
.v2-page-soporte .support-hero h1 { font-size: clamp(30px,3vw,42px); }
.v2-page-soporte .v2-support-intro .hero-description { max-width: 680px; font-size: 16px; margin-left: 0; }
.v2-page-soporte :is(.v2-send-guide,.v2-support-faq) { margin: 0; padding: 28px; width: 100%; max-width: none; }
.v2-page-soporte .support-main { overflow: hidden; }
.v2-page-soporte .support-footer { grid-column: 1/-1; }
.v2-page-registro .v2-registration-shell { max-width: 820px; padding: 40px 30px; min-height: 100dvh; }
.v2-page-registro>.app.v2-registration-shell { max-width: 820px; margin: 0 auto; border: 0; box-shadow: none; background: transparent; padding: 40px 30px; }
.v2-page-registro .v2-page-heading .logo { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; flex: 1; min-width: 0; }
.v2-page-registro .v2-page-heading .logo img { width: 110px; max-width: 100%; height: auto; }
.v2-page-registro #logoutBtn { flex-shrink: 0; align-self: flex-start; padding: 10px 15px; }
.v2-page-destinatario-form .form-footer { left: 50%; transform: translateX(-50%); bottom: max(94px,calc(86px + env(safe-area-inset-bottom))); width: calc(100% - 24px); max-width: 780px; border: 1px solid #dce7ee; border-radius: 22px; box-shadow: 0 12px 35px #2452741a; background: #fffffff5; }
.v2-page-registro .v2-registration-form { padding: 30px; }
.v2-page-registro .v2-form-intro { margin: 0 0 28px; padding: 20px; border-radius: 20px; background: #eef8f7; color: #376a77; }
.v2-page-registro label { display: block; margin-bottom: 8px; }
.v2-page-registro input,.v2-page-registro select { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: 13px; }

/* Discovery uses the same cards and controls across public and account pages. */
.v2-expresiva .feature-carousel:has(.v2-campaign-copy) { aspect-ratio: auto; height: 290px; background: #fff; }
.v2-expresiva .feature-slide:has(.v2-campaign-copy) { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); align-items: center; gap: 30px; padding: 24px 30px; }
.v2-campaign-copy { min-width: 0; }
.v2-campaign-copy h3 { font-size: clamp(25px,2.5vw,34px); line-height: 1.2; margin: 0 0 14px; font-weight: 650; }
.v2-campaign-copy p { margin: 0 0 20px; line-height: 1.6; }
.v2-campaign-copy button { border: 0; color: #14798b; background: #ebf7f5; border-radius: 12px; padding: 12px 17px; font-weight: 600; cursor: pointer; }
.v2-campaign-copy a.v2-campaign-cta { display: inline-flex; align-items: center; min-height: 44px; color: #14798b; background: #ebf7f5; border-radius: 12px; padding: 12px 17px; font-weight: 600; text-decoration: none; }
.v2-expresiva .feature-slide:has(.v2-campaign-copy) .v2-campaign-art { height: auto; aspect-ratio: 1200/337; overflow: hidden; border-radius: 17px; box-shadow: 0 10px 25px #1a598216; }
.v2-campaign-controls { display: flex; gap: 10px; align-items: center; padding-top: 14px; flex-wrap: wrap; }
.v2-campaign-controls [data-campaign-count] { margin-right: auto; color: #536f81; font-size: 13px; }
.v2-campaign-controls :is([data-campaign-prev],[data-campaign-next]) { display: grid; place-items: center; border: 1px solid #d5e5ec; border-radius: 50%; min-width: 44px; width: 44px; background: #fff; color: #227e91; font-size: 21px; cursor: pointer; }
.v2-campaign-controls .feature-dots { position: static; transform: none; background: transparent; padding: 0; }
.v2-campaign-controls .feature-dot { background-color: #acc2d2; }
.v2-campaign-controls .feature-dot.active { background-color: #1974ce; }
.v2-expresiva .v2-dashboard-side { display: grid; gap: 22px; min-width: 0; }
.v2-expresiva .v2-dashboard-bottom { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 26px; margin: 30px 0; }
.v2-dashboard-bottom .recent-transfers-section { margin: 0; padding: 26px; background: #fff; border: 1px solid #e4edf2; border-radius: 26px; }
.v2-people-card,.v2-active-request { padding: 26px; background: #fff; border: 1px solid #e4edf2; border-radius: 26px; box-shadow: 0 12px 36px #244e6a0c; }
.v2-people-card h2,.v2-active-request h2 { font-size: 23px; font-weight: 650; margin: 0 0 18px; }
.v2-person-card { display: flex; align-items: center; gap: 13px; padding: 14px 0; border-bottom: 1px solid #edf2f5; color: #142f40; text-decoration: none; }
.v2-person-card:last-child { border-bottom: 0; }
.v2-person-avatar { display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; border-radius: 16px; background: #e8f6f0; color: #1c8576; font-weight: 650; }
.v2-person-card small { display: block; color: #536f81; font-size: 13px; }
.v2-active-request { background: linear-gradient(135deg,#fff,#f0f9fb); }
.v2-active-request a { color: #1269ae; }
.v2-active-request-link { display: grid; grid-template-columns: 1fr auto; gap: 12px; text-decoration: none; }
.v2-active-request-link>strong { font-size: 23px; font-weight: 650; }
.v2-active-request-link>.v2-active-request-cta { grid-column: 1/-1; border-top: 1px solid #dce8ee; padding-top: 14px; font-size: 14px; }
.v2-dashboard-send h2 { font-size: clamp(29px,3vw,38px); line-height: 1.18; font-weight: 650; margin: 14px 0; }
.v2-dashboard-send>p { color: #536f81; font-size: 15px; line-height: 1.6; }
.v2-dashboard-send>.btn-primary { width: 100%; min-height: 54px; margin: 8px 0; }
.v2-quote-amounts { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; padding: 23px 18px; margin: 26px 0; background: #f3f9fb; border: 1px solid #dcebf0; border-radius: 20px; }
.v2-quote-amounts>div { min-width: 0; }
.v2-quote-amounts>div>span { display: block; color: #536f81; font-size: 13px; margin-bottom: 10px; }
.v2-quote-amounts strong { font-size: clamp(22px,2.4vw,30px); font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.04em; overflow-wrap: anywhere; }
.v2-quote-amounts>div:last-child strong { color: #137b71; }
.v2-quote-amounts small { font-size: 13px; }
.v2-quote-arrow { color: #78a3b6; }
.v2-person-card { display: grid; grid-template-columns: 46px minmax(0,1fr); column-gap: 13px; row-gap: 3px; }
.v2-person-avatar { grid-row: 1/3; }
.v2-person-card strong { min-width: 0; overflow-wrap: anywhere; }
.v2-person-card small { grid-column: 2; }
.v2-preferences-section { padding: 28px; margin: 26px 0; }
.v2-preferences-section h2 { font-size: 23px; margin: 0 0 10px; }
.v2-preferences-section>p { font-size: 14px; color: #536f81; margin: 0 0 20px; }
.v2-rates-overview .tramo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.v2-rates-overview .tramo-card { width: auto; min-width: 0; display: flex; flex-direction: column; padding: 22px; border-radius: 20px; border: 1px solid #dce7ee; background: #fff; box-shadow: 0 10px 26px #34769c0c; color: #142f40; }
.v2-rates-overview .tramo-card.active,.v2-rates-overview .tramo-card.best-rate { border-color: #8ed4c9; background: #edf9f5; }
.v2-rates-overview .tramo-card { position: relative; }
.v2-best-badge { position: absolute; top: -11px; right: 12px; background: #127d72; color: #fff; padding: 3px 9px; border-radius: 8px; font-size: 12px; font-weight: 600; }
.v2-rates-overview .tramo-amount { font-size: 14px; color: #536f81; }
.v2-rates-overview .tramo-rate { font-size: 28px; color: #146d70; margin-top: 12px; }
.v2-public .v2-magic-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 35px; }
.v2-public .v2-magic-card .v2-eyebrow,.v2-public .v2-magic-card h2,.v2-public .v2-magic-card>p { grid-column: 1; }
.v2-public .v2-magic-card .v2-message-example { grid-column: 2; grid-row: 1/4; align-self: center; margin: 0; }
.v2-public .v2-magic-card>.btn-primary { grid-column: 2; grid-row: 4/6; align-self: center; }
.v2-expresiva .testimonials-images-carousel[hidden] { display: none !important; }
.v2-reference-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.v2-community .v2-section-heading>div { flex: 1; }
.v2-community .instagram-btn { flex: none; width: auto; display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 0; padding: 0; text-decoration: none; }
.v2-reference-card { border: 1px solid #e4edf2; border-radius: 25px; background: #fff; text-align: left; padding: 25px; color: #334f60; cursor: pointer; }
.v2-reference-card>span { display: block; font-size: 13px; color: #86718e; }
.v2-reference-card blockquote { margin: 22px 0 32px; font-size: 16px; line-height: 1.6; min-height: 52px; }
.v2-reference-card small { color: #536f81; font-size: 13px; }
.v2-reference-controls { display: flex; align-items: center; gap: 15px; margin: 14px 0; color: #536f81; font-size: 13px; }
.v2-reference-controls p { margin-right: auto; }
.v2-reference-controls button { width: 44px; min-width: 44px; border: 0; border-radius: 50%; background: #ffffffb8; color: #227e91; font-size: 20px; cursor: pointer; }
.v2-reference-dialog { width: min(580px,calc(100% - 32px)); max-height: calc(100dvh - 40px); border: 1px solid #dce7ee; border-radius: 26px; padding: 26px; color: #142f40; box-shadow: 0 30px 90px #142f4030; }
.v2-reference-dialog::backdrop { background: #112e4a88; backdrop-filter: blur(5px); }
.v2-reference-dialog h2 { font-size: 24px; margin: 12px 30px 20px 0; }
.v2-reference-dialog img { display: block; width: 100%; max-height: 60dvh; object-fit: contain; }
.v2-reference-dialog p { color: #536f81; font-size: 14px; }
.v2-reference-close { position: absolute; right: 13px; top: 13px; width: 44px; border: 0; border-radius: 50%; background: #edf4f7; color: #176caa; font-size: 25px; cursor: pointer; }
@media(min-width:1000px) {
 .v2-auth .v2-nav-secondary { display: flex; flex-direction: column; gap: 5px; border-top: 1px solid #dae7ef; margin-top: 24px; padding-top: 20px; }
 .v2-nav-secondary a { color: #536f81; font-size: 13px; text-decoration: none; padding: 11px 12px; border-radius: 12px; }
 .v2-nav-secondary a:hover { background: #e9f4f8; color: #1269ae; }
 .v2-nav-brand { margin-bottom: 30px; }
 .v2-page-historico>.app{ padding: 48px 40px 145px; }
 .v2-auth .v2-interior-shell { min-height: 0; }
 .v2-page-destinatario-form .form-footer { left: calc(50% + 114px); bottom: 24px; width: min(780px,calc(100% - 300px)); }
}
@media(max-width:700px) {
 .v2-public-header { flex-wrap: wrap; }
 .v2-public-header nav { flex: 1 1 100%; flex-wrap: wrap; gap: 8px; min-width: 0; }
 .v2-public-header nav button:last-child { margin-left: auto; }
 .v2-expresiva .v2-page-heading { gap: 12px; margin-bottom: 26px; align-items: flex-start; }
 .v2-expresiva .v2-page-heading h1 { font-size: 31px; }
 .v2-expresiva .v2-page-heading .v2-page-subtitle { font-size: 14px; }
 .v2-expresiva .v2-empty-panel { padding: 35px 18px; min-height: 300px; }
 .v2-page-historico .header-stats { padding: 19px; gap: 25px; }
 .v2-page-historico .v2-activity-panel { padding: 10px; }
 .v2-page-destinatarios .v2-recipient-toolbar { flex-wrap: wrap; }
 .v2-page-destinatarios .recipients-list { grid-template-columns: minmax(0,1fr); }
 .v2-page-destinatarios .v2-recipient-panel { padding: 16px; }
 .v2-page-destinatarios .add-recipient-cta { padding: 0 18px 170px; margin-top: -130px; }
 .v2-page-destinatario-form .v2-recipient-form { padding: 23px 18px; }





 .v2-page-perfil .v2-profile-overview { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .v2-page-perfil .profile-hero { padding: 25px 20px; }
 .v2-page-perfil :is(.v2-account-section,.v2-benefits-section,.v2-business-section) { padding: 22px 18px; }
 .v2-page-perfil .metric-card { padding: 20px; }
 .v2-page-perfil .metric-value { font-size: 27px; }
 .v2-page-soporte .support-shell { padding: 26px 18px 175px; }
 .v2-page-soporte .v2-support-layout { display: block; }
 .v2-page-soporte :is(.v2-send-guide,.v2-support-faq) { padding: 23px 18px; margin-top: 24px; }
 .v2-page-registro .v2-registration-shell { padding: 26px 18px; }
 .v2-page-registro>.app.v2-registration-shell { padding: 26px 18px; }
 .v2-page-registro .v2-registration-form { padding: 23px 18px; }
 .v2-expresiva .feature-carousel:has(.v2-campaign-copy) { height: 380px; }
 .v2-expresiva .feature-slide:has(.v2-campaign-copy) { display: flex; flex-direction: column; gap: 20px; padding: 24px 20px; justify-content: space-between; }
 .v2-campaign-copy { width: 100%; }
 .v2-campaign-copy h3 { font-size: 27px; }
 .v2-campaign-copy p { margin-bottom: 12px; font-size: 14px; }
 .v2-campaign-controls { gap: 5px; }
 .v2-campaign-controls [data-campaign-count] { font-size: 12px; width: 100%; margin-bottom: 5px; }
 .v2-expresiva .v2-dashboard-bottom { grid-template-columns: minmax(0,1fr); }
 .v2-rates-overview .tramo-grid { gap: 7px; }
 .v2-rates-overview .tramo-card { padding: 15px 9px; }
 .v2-rates-overview .tramo-amount { font-size: 12px; }
 .v2-rates-overview .tramo-rate { font-size: 21px; }
 .v2-public .v2-magic-card { display: block; }
 .v2-public .v2-magic-card .v2-message-example { margin: 20px 0; }
 .v2-reference-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .v2-reference-card { padding: 23px; }
 .v2-reference-card blockquote { min-height: 0; margin: 18px 0 23px; }
 .v2-reference-controls { flex-wrap: wrap; gap: 9px; }
 .v2-reference-controls p { width: 100%; }
 .v2-reference-dialog { padding: 20px; }
}

/* A visible update notice reserves its measured height without moving bottom navigation. */
html[data-defi-update-banner] { scroll-padding-top: calc(32px + var(--defi-update-inset, 0px)); }
html[data-defi-update-banner] body.v2-expresiva { padding-top: var(--defi-update-inset, 0px); }
@media (min-width: 701px) {
 html[data-defi-update-banner] body.v2-expresiva .glass-nav { top: var(--defi-update-inset, 0px); height: calc(100dvh - var(--defi-update-inset, 0px)); overflow-y: auto; }
}
