
/* ══════════════════════════════════════════
   VARIABLES & RESET
══════════════════════════════════════════ */
:root{
  --bg:#090E1A;
  --bg2:#0D1422;
  --card:#111927;
  --card2:#162030;
  --border:rgba(255,255,255,0.07);
  --border2:rgba(255,255,255,0.12);
  --gold:#F0A500;
  --gold2:#FFD060;
  --teal:#00C9A7;
  --teal2:rgba(0,201,167,0.15);
  --blue:#4A8FFF;
  --red:#E03030;
  --text:#ECF0FA;
  --text2:#7A8799;
  --text3:#3A4555;
  --green:#00C9A7;
  --radius:14px;
  --radius-sm:10px;
  --nav-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;}
body{
  font-family:'Outfit',sans-serif;
  background:var(--bg);
  color:var(--text);
  display:flex;flex-direction:column;
  position:relative;
}
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 70% 40% at 10% 0%,rgba(74,143,255,0.07) 0%,transparent 60%),
    radial-gradient(ellipse 50% 30% at 90% 100%,rgba(240,165,0,0.05) 0%,transparent 60%);
}

/* ══════════════════════════════════════════
   SPLASH SCREEN
══════════════════════════════════════════ */
.splash-screen{
  position:fixed;inset:0;z-index:99999;
  background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:24px;
  transition:opacity .5s ease;
}
.splash-screen.splash-hide{opacity:0;pointer-events:none;}
.splash-screen.splash-screen-hidden{display:none;}
.splash-logo-wrap{
  width:120px;height:120px;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.splash-logo{
  width:100%;height:100%;object-fit:contain;
  position:relative;z-index:1;
  animation:splashPulse 2.5s ease-in-out infinite;
}
/* Ondas circulares sutiles detrás del logo — solo CSS, sin imágenes/canvas */
.splash-rings{
  position:absolute;inset:-42px;z-index:0;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
}
.splash-ring{
  position:absolute;border-radius:50%;
  border:1px solid var(--border2);
}
.splash-ring-1{
  width:160px;height:160px;opacity:.22;
  border-top-color:var(--teal);
  animation:splashRingSpin 14s linear infinite;
}
.splash-ring-2{
  width:204px;height:204px;opacity:.14;
  border-top-color:var(--blue);
  animation:splashRingSpin 18s linear infinite reverse;
}
.splash-progress{width:180px;height:4px;border-radius:4px;background:var(--border2);overflow:hidden;margin-top:48px;}
.splash-progress-bar{
  width:40%;height:100%;border-radius:4px;
  background:linear-gradient(90deg,var(--teal),var(--blue));
  animation:splashProgress 1.4s ease-in-out infinite;
}
.splash-text-group{display:flex;flex-direction:column;align-items:center;gap:5px;}
.splash-text{
  color:var(--text2);font-size:.86rem;font-weight:500;
  letter-spacing:.02em;text-align:center;
}
.splash-subtext{
  color:var(--text3);font-size:.66rem;font-weight:500;
  letter-spacing:.06em;text-align:center;
  text-transform:uppercase;opacity:.8;
}
@keyframes splashPulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.03);}
}
@keyframes splashRingSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes splashProgress{
  0%{transform:translateX(-150%);}
  100%{transform:translateX(350%);}
}

/* ══════════════════════════════════════════
   LOGIN — KEYFRAMES
══════════════════════════════════════════ */
@keyframes logoGlow{
  0%,100%{filter:invert(var(--logo-invert,0)) brightness(var(--logo-brightness,1)) drop-shadow(0 0 14px rgba(74,143,255,.45)) drop-shadow(0 0 28px rgba(0,201,167,.12));transform:scale(1);}
  50%{filter:invert(var(--logo-invert,0)) brightness(var(--logo-brightness,1)) drop-shadow(0 0 36px rgba(74,143,255,.8)) drop-shadow(0 0 60px rgba(0,201,167,.28));transform:scale(1.018);}
}
@keyframes glowRing{
  0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1);}
  50%{opacity:.08;transform:translate(-50%,-50%) scale(1.2);}
}
@keyframes cardSlideUp{
  from{opacity:0;transform:translateY(30px) scale(.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes floatPart{
  0%{opacity:0;transform:translateY(0) scale(1);}
  20%{opacity:var(--op,.35);}
  80%{opacity:var(--op,.35);}
  100%{opacity:0;transform:translateY(var(--dy,-140px)) translateX(var(--dx,0px)) scale(.5);}
}
@keyframes shimmerBtn{
  0%{background-position:200% center;}
  100%{background-position:-200% center;}
}
/* ══════════════════════════════════════════
   LOGIN
══════════════════════════════════════════ */
#loginScreen{
  position:fixed;inset:0;z-index:999;
  background:var(--bg);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:32px;gap:0;overflow:hidden;
}
#loginScreen::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 90% 60% at 50% 20%,rgba(74,143,255,.09) 0%,transparent 65%),
    radial-gradient(ellipse 60% 50% at 15% 85%,rgba(0,201,167,.06) 0%,transparent 55%),
    radial-gradient(ellipse 50% 40% at 85% 75%,rgba(240,165,0,.04) 0%,transparent 55%);
}
.login-bg-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.lp{position:absolute;border-radius:50%;background:var(--clr,rgba(74,143,255,.4));animation:floatPart var(--dur,9s) var(--del,0s) ease-in-out infinite;}
.login-logo-wrap{
  display:flex;flex-direction:column;align-items:center;
  gap:18px;z-index:1;margin-bottom:24px;
}
.login-logo-core{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:240px;flex-shrink:0;
}
.login-logo-glow-ring{
  position:absolute;inset:-24px;border-radius:24px;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(74,143,255,.22) 0%,rgba(0,201,167,.08) 50%,transparent 75%);
  animation:glowRing 4.5s ease-in-out infinite;
}
.login-logo-img{
  width:100%;height:auto;object-fit:contain;display:block;
  position:relative;z-index:1;
  animation:logoGlow 4.5s ease-in-out infinite;
}
.login-brand{display:none;}
.login-tagline{
  font-size:.7rem;color:rgba(255,255,255,.38);font-weight:500;
  text-transform:uppercase;letter-spacing:3px;text-align:center;
  line-height:1.6;
}
.login-sub{
  color:var(--text2);font-size:.8rem;font-weight:500;
  text-transform:uppercase;letter-spacing:2px;margin-top:2px;
}
.login-card{
  background:rgba(17,25,39,.88);
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  padding:28px 24px;
  width:100%;max-width:360px;
  position:relative;z-index:1;
  backdrop-filter:blur(16px);
  box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04);
  animation:cardSlideUp .55s cubic-bezier(.16,1,.3,1) both;
}
.login-card h2{
  font-size:1.2rem;font-weight:700;text-align:center;margin-bottom:6px;
}
.login-card p{
  color:var(--text2);font-size:.82rem;text-align:center;margin-bottom:24px;
}
.input-field{
  position:relative;margin-bottom:14px;
}
.input-field i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--text3);font-size:.85rem;transition:color .2s;
}
.input-field input,
.input-field select{
  width:100%;
  background:rgba(9,14,26,.7);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-sm);
  color:var(--text);
  font-family:'Outfit',sans-serif;
  font-size:.95rem;
  padding:13px 14px 13px 40px;
  outline:none;
  transition:border-color .22s,box-shadow .22s;
}
.input-field select{
  appearance:none;
}
.input-field select option{
  background:#111827;
  color:#f8fafc;
}
.input-field input:focus,
.input-field select:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(74,143,255,.14);
}
.input-field input:focus + i,.input-field:focus-within i{color:var(--blue);}
.input-field input::placeholder{color:var(--text3);}
.btn-primary{
  width:100%;
  background:linear-gradient(270deg,var(--teal),#00906e,var(--blue),var(--teal));
  background-size:300% auto;
  color:#090E1A;
  border:none;border-radius:var(--radius-sm);
  padding:14px;
  font-family:'Outfit',sans-serif;font-size:1rem;font-weight:800;
  cursor:pointer;letter-spacing:.3px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity .2s,transform .12s,box-shadow .2s;
  animation:shimmerBtn 4s linear infinite;
  box-shadow:0 4px 20px rgba(0,201,167,.25);
}
.btn-primary:hover{opacity:.92;box-shadow:0 6px 28px rgba(0,201,167,.35);}
.btn-primary:active{transform:scale(.98);opacity:.88;}
.register-toggle{
  text-align:center;font-size:.8rem;color:var(--text2);margin-top:12px;
}
.register-toggle a{color:var(--teal);text-decoration:none;font-weight:600;}
.register-toggle a:hover{color:var(--teal2,#7ff5e4);text-decoration:underline;}

/* ══════════════════════════════════════════
   HEADER
══════════════════════════════════════════ */
#appWrap{display:flex;flex-direction:column;height:100%;position:relative;z-index:1;}
header{
  background:rgba(9,14,26,0.95);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 16px;height:56px;flex-shrink:0;
}
.logo{display:flex;align-items:center;gap:10px;}
html[data-theme="light"] .logo img{
  filter:invert(1) brightness(0.85);
}
html[data-theme="light"] .splash-logo{
  filter:invert(1) brightness(0.85);
}
.header-actions{display:flex;align-items:center;gap:8px;}
.btn-tasas{
  background:var(--card2);
  border:1px solid var(--border2);
  color:var(--text);border-radius:8px;
  padding:6px 14px;font-family:'Outfit',sans-serif;
  font-size:.78rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:6px;
  transition:background .2s;
}
.btn-tasas:active{background:var(--border2);}
/* ══════════════════════════════════════════
   TICKER
══════════════════════════════════════════ */
.ticker{
  background:var(--card);
  border-bottom:1px solid var(--border);
  padding:8px 0;flex-shrink:0;
  overflow:hidden;position:relative;
}
.ticker-inner{
  display:flex;gap:0;
  animation:tickerMove 30s linear infinite;
  width:max-content;
}
.ticker-group{
  display:flex;
  align-items:center;
}
.ticker-loop-gap{
  width:clamp(72px,12vw,160px);
  flex:0 0 clamp(72px,12vw,160px);
  position:relative;
}
.ticker-loop-gap::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:32px;
  height:1px;
  transform:translate(-50%,-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
}
.ticker:hover .ticker-inner{animation-play-state:paused;}
@keyframes tickerMove{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
.tick{
  display:flex;align-items:center;gap:6px;
  padding:0 20px;border-right:1px solid var(--border);
  white-space:nowrap;
}
.tick-label{
  font-size:.72rem;color:var(--text2);font-weight:600;
  text-transform:uppercase;letter-spacing:.5px;
}
/* Logos de moneda — reemplazan emojis de bandera/marca, escalan con font-size */
.cur-icon{
  width:1em;height:1em;border-radius:50%;object-fit:cover;
  vertical-align:-0.15em;display:inline-block;
}
/* Tamaños fijos por contexto: .cw-bal-cur/.tick-label tienen font-size muy
   pequeño (.58-.62rem), por lo que 1em deja los logos microscópicos. */
.cw-bal-cur .cur-icon{
  width:18px;height:18px;
  vertical-align:middle;
  margin-right:4px;
}
.tick-label .cur-icon{
  width:14px;height:14px;
  vertical-align:middle;
  margin-right:2px;
}
.tick-val{
  font-family:'JetBrains Mono',monospace;
  font-size:.82rem;font-weight:600;color:var(--text);
}
.tick-up{color:var(--teal);font-size:.68rem;font-weight:700;}
.tick-down{color:var(--red);font-size:.68rem;font-weight:700;}

/* ══════════════════════════════════════════
   MAIN SCROLL
══════════════════════════════════════════ */
.main-scroll{
  flex:1;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(var(--nav-h) + 12px);
}
.main-scroll::-webkit-scrollbar{display:none;}

/* ══════════════════════════════════════════
   BOTTOM NAV
══════════════════════════════════════════ */
.bottom-nav{
  position:fixed;bottom:0;left:0;right:0;
  height:var(--nav-h);
  background:rgba(9,14,26,0.97);
  backdrop-filter:blur(20px);
  border-top:1px solid var(--border);
  display:flex;z-index:50;
}
.nav-item{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:4px;
  cursor:pointer;border:none;background:none;
  color:var(--text3);transition:color .2s;
  padding:6px 2px;
  position:relative;
}
.nav-item.active{color:var(--teal);}
.nav-item i{font-size:1.05rem;}
.nav-item span{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;}
.nav-item.nav-primary{
  flex:1.12;
  color:var(--text3);
}
.nav-item.nav-primary i{
  width:39px;height:39px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-top:-11px;margin-bottom:0;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:none;
}
.nav-item.nav-primary.active{color:var(--teal);}
.nav-item.nav-primary.active i{
  background:radial-gradient(circle at 50% 35%,rgba(0,201,167,.22),rgba(0,201,167,.08) 58%,rgba(74,143,255,.08));
  border-color:rgba(0,201,167,.35);
}
.nav-item.nav-primary.active i{box-shadow:0 0 28px rgba(0,201,167,.34),inset 0 0 16px rgba(0,201,167,.12);}
.nav-badge{
  position:absolute;top:6px;right:calc(50% - 16px);
  background:var(--red);color:#fff;
  font-size:.5rem;font-weight:700;
  width:14px;height:14px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* ══════════════════════════════════════════
   TAB PANELS
══════════════════════════════════════════ */
.tab-panel{display:none;padding:16px;}
.tab-panel.active{display:block;}

/* ══════════════════════════════════════════
   CARDS
══════════════════════════════════════════ */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  margin-bottom:14px;
  position:relative;overflow:hidden;
}
.card-title{
  font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;
  color:var(--text2);margin-bottom:16px;
  display:flex;align-items:center;gap:8px;
}
.card-title i{color:var(--gold);font-size:.8rem;}

/* ══════════════════════════════════════════
   INICIO
══════════════════════════════════════════ */
.home-dashboard{
  display:grid;
  grid-template-columns:minmax(340px,.95fr) minmax(0,1.45fr);
  align-items:start;
  gap:14px;
  width:100%;
  min-width:0;
}
.home-topbar{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-width:0;
}
.home-topbar .home-greeting{margin-bottom:0;}
.home-profile-btn{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(0,201,167,.35);
  background:linear-gradient(135deg,rgba(0,201,167,.22),rgba(74,143,255,.16));
  color:var(--text);
  font-family:'Outfit',sans-serif;
  font-size:.9rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 0 24px rgba(0,201,167,.16);
  overflow:hidden;
}
.home-profile-btn img{width:100%;height:100%;display:block;object-fit:cover;}
.home-hero-card,
.home-card{
  background:linear-gradient(145deg,rgba(17,25,39,.96),rgba(9,14,26,.92));
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.home-hero-card{
  position:sticky;top:14px;overflow:hidden;padding:26px 24px 24px;
  min-height:520px;
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.home-hero-card::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 85% 10%,rgba(0,201,167,.16),transparent 34%),
             radial-gradient(circle at 12% 90%,rgba(74,143,255,.08),transparent 38%);
}
.home-hero-copy{position:relative;z-index:1;max-width:100%;}
.home-greeting{
  color:var(--text);
  font-size:1rem;
  font-weight:800;
  margin-bottom:14px;
  letter-spacing:.1px;
}
.home-kicker{display:block;color:var(--text2);font-size:1rem;font-weight:700;margin-bottom:12px;}
.home-hero-copy strong{display:block;font-size:4rem;line-height:.95;font-weight:800;letter-spacing:0;overflow-wrap:anywhere;}
.home-hero-copy small{display:block;margin-top:14px;color:var(--teal);font-size:1rem;font-weight:700;}
.home-sparkline{position:relative;right:auto;top:auto;width:100%;max-width:none;height:150px;margin:26px 0 2px;overflow:visible;}
.home-spark-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text3);
  font-family:'JetBrains Mono',monospace;
  font-size:2.2rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.home-spark-line{fill:none;stroke:var(--teal);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(0,201,167,.45));}
.home-spark-fill{fill:url(#homeSparkFill);}
.home-sparkline circle{fill:var(--teal);filter:drop-shadow(0 0 12px rgba(0,201,167,.7));}
.home-assets{
  position:relative;z-index:1;margin-top:auto;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.07);
  display:grid;grid-template-columns:1fr;gap:0;
}
.home-asset{
  min-width:0;display:flex;align-items:flex-start;gap:14px;
  background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.07);
  color:var(--text);text-align:left;cursor:pointer;padding:16px 0;
  font-family:'Outfit',sans-serif;
}
.home-asset:first-child{padding-top:0;}
.home-asset:last-child{border-bottom:0;padding-bottom:0;}
.home-asset>span{flex:0 0 auto;}
.home-asset>span .cur-icon{width:48px;height:48px;}
.home-asset div{min-width:0;display:flex;flex-direction:column;gap:7px;}
.home-asset strong{font-size:1.15rem;font-weight:800;line-height:1;}
.home-asset small,.home-asset em{font-style:normal;color:var(--text2);font-size:.82rem;line-height:1.15;}
.home-asset b{font-size:1.02rem;font-weight:700;font-family:'JetBrains Mono',monospace;line-height:1.18;overflow-wrap:anywhere;}
.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.home-rail{display:contents;}
.home-rail-track,
.home-rail-group{display:contents;}
.home-rail-copy{display:none;}
.home-card{padding:16px;min-width:0;overflow:hidden;}
.home-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06);}
.home-card h3{font-size:1rem;font-weight:800;}
.home-card-head button,.home-ccb-card button{
  border:0;background:transparent;color:var(--teal);font-family:'Outfit',sans-serif;
  font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;
}
.home-market,.home-movement{
  width:100%;display:flex;align-items:center;gap:12px;
  border:0;background:transparent;color:var(--text);font-family:'Outfit',sans-serif;
  padding:10px 0;text-align:left;border-bottom:1px solid rgba(255,255,255,.055);
}
.home-market{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) minmax(86px,auto);
  column-gap:14px;
  min-height:68px;
}
.home-market:last-child,.home-movement:last-child{border-bottom:0;}
.home-market .cur-icon,.home-movement-icon .cur-icon{width:34px;height:34px;}
.home-market>span{display:flex;align-items:center;justify-content:center;}
.home-market div,.home-movement-main{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1;}
.home-market strong,.home-movement-main strong{font-size:.9rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.home-market small,.home-movement-main span{font-size:.75rem;color:var(--text2);}
.home-market b,.home-movement-amount{font-family:'JetBrains Mono',monospace;font-size:.9rem;font-weight:800;white-space:nowrap;}
.home-market b{justify-self:end;text-align:right;font-size:.98rem;letter-spacing:0;align-self:center;}
.home-movement{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) minmax(118px,auto);
  column-gap:14px;
  min-height:74px;
}
.home-movement-icon{display:flex;align-items:center;justify-content:center;}
.home-movement-main{justify-content:center;}
.home-movement-main strong{text-transform:none;}
.home-movement-amount{
  justify-self:end;
  align-self:center;
  text-align:right;
  font-size:.98rem;
  line-height:1.15;
}
.home-movement-amount.credit{color:var(--teal);}
.home-movement-amount.debit{color:var(--red);}
.home-ranking-card{
  position:relative;
  min-height:260px;
  display:flex;
  flex-direction:column;
  background:radial-gradient(circle at 72% 50%,rgba(0,201,167,.22),transparent 29%),linear-gradient(145deg,rgba(17,25,39,.96),rgba(9,14,26,.92));
}
.home-trophy{
  position:absolute;right:30px;top:86px;
  width:122px;height:122px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle,rgba(0,201,167,.13),rgba(0,201,167,.03) 62%,transparent 72%);
  filter:drop-shadow(0 0 24px rgba(0,201,167,.25));
  pointer-events:none;
}
.home-trophy img{width:100%;height:100%;object-fit:contain;}
.home-ranking-card>span{display:block;color:var(--text2);font-size:.9rem;margin-top:18px;font-weight:500;}
.home-rank-number{
  display:block;
  margin-top:10px;
  color:var(--teal);
  font-size:4.15rem;
  line-height:.9;
  font-weight:800;
  text-shadow:0 0 28px rgba(0,201,167,.25);
}
.home-rank-avatars{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:auto;
  padding-top:22px;
  flex-wrap:wrap;
}
.home-rank-avatar{
  position:relative;width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(0,201,167,.22),rgba(74,143,255,.2));
  border:1px solid rgba(0,201,167,.38);font-weight:800;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.home-rank-avatar b{
  position:absolute;right:-5px;bottom:-5px;width:19px;height:19px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue);color:#fff;font-size:.62rem;border:2px solid var(--card);
}
.home-ccb-card{
  position:relative;
  min-height:260px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 142px;
  align-items:center;
  gap:20px;
  overflow:hidden;
  background:radial-gradient(circle at 80% 28%,rgba(130,100,255,.28),transparent 30%),
             radial-gradient(circle at 70% 80%,rgba(0,201,167,.16),transparent 36%),
             linear-gradient(145deg,rgba(34,18,83,.92),rgba(9,14,26,.94));
}
.home-ccb-card>div:first-child{position:relative;z-index:1;min-width:0;}
.home-ccb-card h3{font-size:1.35rem;line-height:1.08;max-width:230px;}
.home-ccb-card p{max-width:210px;margin:18px 0 22px;color:var(--text2);font-size:.92rem;line-height:1.45;}
.home-ccb-card button{
  background:linear-gradient(135deg,var(--teal),#21b7c9);
  color:#06111b;border-radius:8px;padding:12px 18px;
  font-size:.9rem;
  font-weight:800;
}
.home-ccb-coin{
  position:relative;
  z-index:1;
  width:142px;
  height:142px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.95);
  border:10px solid rgba(5,10,24,.82);
  box-shadow:0 18px 46px rgba(0,0,0,.28),0 0 42px rgba(89,88,255,.25);
}
.home-ccb-coin .cur-icon{width:104px;height:104px;filter:none;}
.home-empty{color:var(--text2);font-size:.84rem;padding:18px 0;}

@media(min-width:1180px){
  #tab-inicio{padding:18px 20px;}
  .home-dashboard{gap:16px;}
  .home-card{min-height:210px;}
}
@media(max-width:1040px){
  .home-dashboard{grid-template-columns:1fr;}
  .home-hero-card{
    position:relative;top:auto;min-height:0;
  }
  .home-hero-copy{max-width:58%;}
  .home-hero-copy strong{font-size:3.25rem;}
  .home-sparkline{position:absolute;right:10px;top:32px;width:46%;max-width:260px;margin-top:0;}
  .home-assets{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px;}
  .home-asset{border-bottom:0;border-right:1px solid rgba(255,255,255,.07);padding:4px 10px 4px 0;}
  .home-asset:last-child{border-right:0;}
}
@media(max-width:720px){
  .home-dashboard{display:flex;flex-direction:column;width:100%;}
  .home-topbar{padding:0 2px;width:100%;box-sizing:border-box;}
  .home-topbar .home-greeting{font-size:1.08rem;flex:1 1 auto;min-width:0;}
  .home-profile-btn{width:34px;height:34px;font-size:.78rem;flex:0 0 34px;margin-left:auto;}
  .home-grid{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;}
  .home-rail{
    display:flex;
    width:auto;
    max-width:none;
    margin:0 -12px;
    padding:0 12px 4px;
    overflow-x:hidden;
    overflow-y:hidden;
    touch-action:pan-y;
  }
  .home-rail-track{
    display:flex;
    width:max-content;
    animation:homeRailMove 34s linear infinite;
    will-change:transform;
  }
  .home-rail:hover .home-rail-track,
  .home-rail:active .home-rail-track,
  .home-rail:focus-within .home-rail-track{animation-play-state:paused;}
  .home-rail-group{display:flex;gap:10px;padding-right:10px;}
  .home-rail-copy{display:flex;}
  .home-rail-card{flex:0 0 min(67vw,264px);}
  @keyframes homeRailMove{
    0%{transform:translateX(-50%);}
    100%{transform:translateX(0);}
  }
  .home-card{padding:11px;border-radius:10px;min-height:178px;}
  .home-card-head{gap:6px;margin-bottom:9px;padding-bottom:9px;}
  .home-card h3{font-size:.82rem;line-height:1.12;}
  .home-card-head button,.home-ccb-card button{font-size:.58rem;}
  .home-hero-copy{max-width:100%;}
  .home-hero-card{border-radius:10px;padding:14px 14px 12px;display:block;}
  .home-hero-copy strong{font-size:2.15rem;}
  .home-kicker{font-size:.74rem;margin-bottom:6px;}
  .home-hero-copy small{font-size:.66rem;margin-top:6px;}
  .home-sparkline{position:relative;right:auto;top:auto;width:100%;max-width:none;margin-top:10px;height:74px;}
  .home-assets{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;}
  .home-asset{
    flex-direction:column;
    gap:6px;
    border-right:1px solid rgba(255,255,255,.06);
    border-bottom:0;
    padding:0 8px 0 0;
  }
  .home-asset>span .cur-icon{width:28px;height:28px;}
  .home-asset strong{font-size:.75rem;}
  .home-asset small,.home-asset em{font-size:.56rem;}
  .home-asset b{font-size:.7rem;}
  .home-asset:last-child{border-right:0;border-bottom:0;}
  .home-market,.home-movement{gap:7px;padding:8px 0;}
  .home-market{grid-template-columns:30px minmax(0,1fr) minmax(62px,auto);column-gap:8px;min-height:52px;}
  .home-movement{grid-template-columns:30px minmax(0,1fr) minmax(72px,auto);column-gap:8px;min-height:56px;}
  .home-market .cur-icon,.home-movement-icon .cur-icon{width:28px;height:28px;}
  .home-market strong,.home-movement-main strong{font-size:.68rem;}
  .home-market small,.home-movement-main span{font-size:.52rem;}
  .home-market b,.home-movement-amount{font-size:.65rem;}
  .home-ranking-card{min-height:196px;}
  .home-trophy{right:8px;top:64px;width:72px;height:72px;}
  .home-ranking-card>span{font-size:.58rem;margin-top:16px;}
  .home-rank-number{font-size:2.35rem;margin-top:8px;}
  .home-rank-avatars{gap:5px;margin-top:auto;padding-top:14px;}
  .home-rank-avatar{width:24px;height:24px;font-size:.58rem;}
  .home-rank-avatar b{width:13px;height:13px;font-size:.44rem;border-width:1px;}
  .home-ccb-card{width:100%;min-height:182px;grid-template-columns:minmax(0,1fr) 82px;gap:10px;padding:14px;align-items:center;}
  .home-ccb-card h3{font-size:1.02rem;line-height:1.08;max-width:190px;}
  .home-ccb-card p{max-width:170px;margin:8px 0 12px;font-size:.64rem;line-height:1.35;}
  .home-ccb-card button{padding:8px 10px;border-radius:7px;}
  .home-ccb-coin{align-self:center;width:82px;height:82px;border-width:6px;}
  .home-ccb-coin .cur-icon{width:58px;height:58px;}
}
@media(max-width:430px){
  #tab-inicio{padding:14px 12px;}
  .home-topbar .home-greeting{font-size:1rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .home-profile-btn{width:36px;height:36px;flex-basis:36px;}
  .home-hero-card{
    padding:13px 12px 12px;
    border-radius:12px;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(92px,.9fr);
    column-gap:10px;
    align-items:end;
  }
  .home-hero-copy{max-width:100%;min-width:0;}
  .home-kicker{font-size:.7rem;margin-bottom:5px;}
  .home-hero-copy strong{font-size:2rem;line-height:.96;word-break:normal;}
  .home-hero-copy small{font-size:.66rem;line-height:1.15;margin-top:5px;}
  .home-sparkline{
    height:52px;
    margin:0 0 4px;
    align-self:end;
  }
  .home-assets{
    grid-column:1 / -1;
    grid-template-columns:1fr;
    gap:0;
    margin-top:11px;
    padding-top:10px;
  }
  .home-asset{
    flex-direction:row;
    align-items:center;
    gap:12px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.06);
    padding:10px 0;
  }
  .home-asset:first-child{padding-top:0;}
  .home-asset:last-child{border-bottom:0;padding-bottom:0;}
  .home-asset>span .cur-icon{width:32px;height:32px;}
  .home-asset div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name amount" "desc approx";
    column-gap:10px;
    row-gap:3px;
    align-items:baseline;
    width:100%;
  }
  .home-asset strong{grid-area:name;font-size:.84rem;}
  .home-asset small{grid-area:desc;font-size:.62rem;min-width:0;}
  .home-asset b{grid-area:amount;font-size:.74rem;text-align:right;white-space:nowrap;}
  .home-asset em{grid-area:approx;font-size:.58rem;text-align:right;white-space:nowrap;}
  .home-rail{margin:0 -12px;padding:0 12px 4px;}
  .home-rail-card{flex-basis:69vw;min-height:174px;}
  .home-rail-card .home-card-head{align-items:flex-start;}
  .home-rail-card .home-card-head button{padding-top:1px;}
  .home-market{grid-template-columns:30px minmax(0,1fr) minmax(70px,auto);min-height:50px;}
  .home-movement{grid-template-columns:30px minmax(0,1fr) minmax(82px,auto);min-height:52px;}
  .home-market b,.home-movement-amount{font-size:.66rem;}
  .home-rail-card.home-ranking-card{min-height:174px;}
  .home-rail-card .home-trophy{top:58px;right:12px;width:68px;height:68px;}
  .home-rail-card .home-rank-number{font-size:2.55rem;}
  .home-rail-card .home-rank-avatars{padding-top:10px;}
  .home-ccb-card{
    min-height:168px;
    grid-template-columns:minmax(0,1fr) 78px;
    padding:14px;
    gap:10px;
    border-radius:12px;
  }
  .home-ccb-card h3{font-size:1rem;max-width:180px;}
  .home-ccb-card p{font-size:.63rem;max-width:170px;margin:8px 0 12px;}
  .home-ccb-card button{font-size:.62rem;padding:8px 11px;}
  .home-ccb-coin{width:78px;height:78px;border-width:6px;}
  .home-ccb-coin .cur-icon{width:54px;height:54px;}
}

/* ══════════════════════════════════════════
   CAMBIAR TAB
══════════════════════════════════════════ */
.op-toggle{
  display:grid;grid-template-columns:1fr 1fr;
  gap:8px;margin-bottom:18px;
}
.op-btn{
  padding:12px;border-radius:10px;border:2px solid var(--border2);
  background:transparent;color:var(--text2);
  font-family:'Outfit',sans-serif;font-size:.92rem;font-weight:700;
  cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.op-btn.active-compro{
  border-color:var(--teal);background:rgba(0,201,167,0.12);color:var(--teal);
}
.op-btn.active-vendo{
  border-color:var(--red);background:rgba(224,48,48,0.12);color:var(--red);
}
/* Toggle Operadores/Mis Envíos dentro de la pestaña P2P — estado activo neutro */
.op-toggle.p2p-view-toggle .op-btn.active-view{
  border-color:var(--blue);background:rgba(74,143,255,0.1);color:var(--blue);
}
.p2p-view-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:16px;height:16px;padding:0 4px;margin-left:2px;
  background:var(--red);color:#fff;font-size:.6rem;font-weight:700;
  border-radius:9px;line-height:1;
}

.currency-pills{
  display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;
}
.pill{
  padding:8px 16px;border-radius:20px;
  border:1px solid var(--border2);
  background:transparent;color:var(--text2);
  font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:600;
  cursor:pointer;transition:all .2s;
  display:flex;align-items:center;gap:6px;
}
.pill.active{
  background:rgba(0,201,167,0.15);
  border-color:var(--teal);color:var(--teal);
}

.amount-wrap{
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:var(--radius-sm);
  display:flex;align-items:center;
  padding:4px 14px;margin-bottom:12px;
}
.amount-input{
  flex:1;background:none;border:none;
  color:var(--text);font-family:'JetBrains Mono',monospace;
  font-size:1.8rem;font-weight:500;
  padding:14px 0;outline:none;
}
.amount-input::placeholder{color:var(--text3);}
.amount-currency{
  font-size:.85rem;font-weight:700;color:var(--text2);
}

.conv-row{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:12px 14px;
  margin-bottom:18px;
}
.conv-row-title{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.8px;color:var(--text3);margin-bottom:10px;
  display:flex;align-items:center;gap:6px;
}
.conv-selectors{display:flex;align-items:center;gap:8px;}
.conv-select{
  flex:1;background:var(--card2);border:1px solid var(--border2);
  border-radius:8px;color:var(--text);
  font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:600;
  padding:9px 10px;outline:none;cursor:pointer;
  appearance:none;-webkit-appearance:none;text-align:center;
  transition:border-color .2s;
}
.conv-select:focus{border-color:var(--teal);}
.conv-select option{background:var(--card2);}
.conv-swap-btn{
  width:36px;height:36px;flex-shrink:0;
  background:var(--card2);border:1px solid var(--border2);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--teal);font-size:.9rem;
  transition:background .2s,transform .2s;
}
.conv-swap-btn:active{background:var(--teal);color:#090E1A;transform:rotate(180deg);}
.conv-result-row{
  margin-top:12px;padding-top:12px;
  border-top:1px solid var(--border);
}
.conv-result-label{font-size:.72rem;color:var(--text2);font-weight:500;margin-bottom:4px;display:block;}
.conv-result-val{
  font-family:'JetBrains Mono',monospace;
  font-size:1.6rem;font-weight:700;color:var(--teal);
  display:block;
}

.result-box{
  background:linear-gradient(135deg,rgba(0,201,167,0.08),rgba(74,143,255,0.05));
  border:1px solid rgba(0,201,167,0.2);
  border-radius:var(--radius-sm);
  padding:14px 16px;margin-bottom:16px;
  display:flex;align-items:center;justify-content:space-between;
}
.result-label{font-size:.75rem;color:var(--text2);font-weight:600;}
.result-val{
  font-family:'JetBrains Mono',monospace;
  font-size:1.1rem;font-weight:600;color:var(--teal);
}

.btn-register{
  width:100%;padding:15px;border:none;
  background:linear-gradient(135deg,var(--teal),#00A88C);
  color:#090E1A;border-radius:var(--radius-sm);
  font-family:'Outfit',sans-serif;font-size:1rem;font-weight:700;
  cursor:pointer;letter-spacing:.3px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity .2s,transform .1s;
}
.btn-register:active{transform:scale(.98);opacity:.9;}

/* ══════════════════════════════════════════
   EMPTY STATE
══════════════════════════════════════════ */
.empty-state{
  display:flex;flex-direction:column;align-items:center;
  padding:48px 24px;gap:12px;
}
.empty-icon{
  width:64px;height:64px;border-radius:16px;
  background:var(--card2);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;color:var(--text3);margin-bottom:4px;
}
.empty-title{font-size:.95rem;font-weight:600;color:var(--text2);}
.empty-sub{font-size:.8rem;color:var(--text3);text-align:center;line-height:1.5;}

/* ══════════════════════════════════════════
   TASAS TAB
══════════════════════════════════════════ */
.ref-banner{
  background:linear-gradient(135deg,rgba(74,143,255,0.08),rgba(0,201,167,0.05));
  border:1px solid rgba(74,143,255,0.15);
  border-radius:var(--radius);padding:14px 16px;
  margin-bottom:14px;
  display:flex;align-items:center;gap:12px;
}
.ref-banner i{font-size:1.2rem;color:var(--blue);}
.ref-banner p{font-size:.82rem;color:var(--text2);line-height:1.5;}
.ref-banner strong{color:var(--text);}

.rate-currency-block{margin-bottom:16px;}
.rate-currency-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px;
}
.rate-currency-name{
  display:flex;align-items:center;gap:8px;
  font-size:.95rem;font-weight:700;
}
.rate-ref{font-size:.72rem;color:var(--text2);}
.rate-ref span{color:var(--gold);font-weight:600;}

.rate-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.rate-input-group{}
.rate-input-label{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.8px;margin-bottom:5px;
  display:flex;align-items:center;gap:4px;
}
.label-compro{color:var(--blue);}
.label-vendo{color:var(--gold);}
.rate-input{
  width:100%;background:var(--bg2);
  border:1px solid var(--border2);border-radius:var(--radius-sm);
  color:var(--text);font-family:'JetBrains Mono',monospace;
  font-size:1.1rem;font-weight:500;
  padding:11px 12px;outline:none;
  transition:border-color .2s;
}
.rate-input:focus{border-color:var(--teal);}
.spread-info{
  margin-top:8px;font-size:.72rem;color:var(--text3);
  display:flex;align-items:center;gap:6px;
}
.spread-val{
  font-weight:700;
  padding:2px 7px;border-radius:4px;
}
.spread-zero{color:var(--teal);background:rgba(0,201,167,0.1);}
.spread-pos{color:var(--gold);background:rgba(240,165,0,0.1);}

.divider{height:1px;background:var(--border);margin:16px 0;}

.cuenta-item{
  display:flex;align-items:center;gap:12px;
  padding:14px;background:var(--card2);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  margin-bottom:10px;
}
.cuenta-icon{
  width:40px;height:40px;border-radius:10px;
  background:rgba(240,165,0,0.1);border:1px solid rgba(240,165,0,0.2);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:.95rem;flex-shrink:0;
}
.cuenta-info{}
.cuenta-name{font-size:.88rem;font-weight:600;}
.cuenta-detail{font-size:.75rem;color:var(--text2);margin-top:2px;}

/* ══════════════════════════════════════════
   HOY TAB
══════════════════════════════════════════ */
.hoy-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;
}
.hoy-date{font-size:.75rem;color:var(--text2);font-weight:500;}
/* ══════════════════════════════════════════
   FINTECH MODULE — Binance / Wise aesthetic
   Dark theme · Mobile first · Color on data only
══════════════════════════════════════════ */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.stat-grid-3{grid-template-columns:1fr 1fr 1fr;}
.stat-box{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  border-radius:10px;padding:14px 16px;
}
.stat-box-label{font-size:.62rem;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.7px;margin-bottom:6px;}
.stat-box-val{
  font-family:'JetBrains Mono',monospace;
  font-size:1.3rem;font-weight:700;color:var(--text);
}
.stat-box.gold .stat-box-val{color:var(--gold);}
.stat-box.teal .stat-box-val{color:var(--teal);}
.stat-box.blue .stat-box-val{color:var(--blue);}
.stat-box.red  .stat-box-val{color:#D94545;}
.stat-box-sub{font-size:.65rem;color:var(--text3);margin-top:3px;}
.stat-grid-3 .stat-box-val{font-size:1.05rem;}
.fintech-section{margin-bottom:6px;}
.fintech-section-label{
  font-size:.62rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.8px;color:var(--text3);
  display:flex;align-items:center;gap:6px;
  margin:18px 0 10px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.fintech-section-label i{color:var(--text3);font-size:.68rem;}
.fintech-updated{font-size:.65rem;color:var(--text3);text-align:right;margin-bottom:12px;letter-spacing:.2px;}
.fintech-loading{
  display:flex;align-items:center;justify-content:center;
  gap:10px;padding:40px 0;
  font-size:.8rem;color:var(--text3);
}
/* ── Fintech module nav ────────────────────────────────────── */
.fintech-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  padding-bottom:14px;
  margin-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.fintech-nav-title{
  font-size:.66rem;font-weight:700;text-transform:uppercase;
  letter-spacing:1.2px;color:var(--text3);
  display:flex;align-items:center;gap:7px;flex-shrink:0;
}
.fintech-nav-title i{color:var(--text3);font-size:.72rem;}
.fintech-nav-btns{
  display:flex;gap:2px;flex-shrink:0;
  background:rgba(255,255,255,.04);
  border-radius:9px;padding:3px;
  border:1px solid rgba(255,255,255,.05);
}
.fintech-view-btn{
  font-size:.68rem;
  padding:6px 13px;
  border-radius:7px;
  border:none;
  background:transparent;
  color:var(--text3);
  cursor:pointer;
  font-family:'Outfit',sans-serif;font-weight:600;
  transition:all .18s;
  white-space:nowrap;
  display:flex;align-items:center;gap:5px;
  min-height:30px;
}
.fintech-view-btn i{font-size:.68rem;}
.fintech-view-btn:active{opacity:.75;}
.fintech-view-btn.active{
  background:rgba(255,255,255,.09);
  color:var(--text);
  box-shadow:0 1px 4px rgba(0,0,0,.3);
}
/* ── User / Wallet cards ────────────────────────────────────── */
.kyc-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  border-radius:10px;padding:14px;margin-bottom:8px;
  transition:border-color .2s;
}
.kyc-card:hover{border-color:rgba(255,255,255,.08);}
.kyc-card > summary{cursor:pointer;list-style:none;}
.kyc-card > summary::-webkit-details-marker,
.kyc-card > summary::marker{display:none;}
.kyc-card-chevron{font-size:.6rem;color:var(--text3);transition:transform .15s;margin-left:2px;}
.kyc-card[open] .kyc-card-chevron{transform:rotate(180deg);}
.kyc-card > .kyc-actions{margin-top:10px;}
.kyc-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px;}
.kyc-card-user{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.kyc-card-username{font-size:.84rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kyc-card-role{font-size:.6rem;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;font-weight:600;}
.kyc-card-badges{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.kyc-card-meta{
  display:flex;flex-wrap:wrap;gap:4px 14px;
  font-size:.7rem;color:var(--text3);
  margin-bottom:12px;line-height:1.7;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.kyc-actions{display:flex;flex-wrap:wrap;gap:5px;}
.kyc-action-btn{
  flex:1;min-width:calc(33% - 4px);
  padding:7px 4px;border-radius:6px;
  border:1px solid rgba(255,255,255,.07);
  font-size:.63rem;font-weight:600;font-family:'Outfit',sans-serif;
  cursor:pointer;background:rgba(255,255,255,.02);color:var(--text3);
  transition:all .15s;text-align:center;white-space:nowrap;
}
.kyc-action-btn:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:var(--text2);}
.kyc-btn-approve{color:var(--teal);}
.kyc-btn-approve:active{background:rgba(0,201,167,.08);}
.kyc-btn-approve2{color:var(--blue);}
.kyc-btn-approve2:active{background:rgba(74,143,255,.08);}
.kyc-btn-reject{color:#D94545;}
.kyc-btn-reject:active{background:rgba(217,69,69,.08);}
.kyc-btn-review{color:#C89020;}
.kyc-btn-review:active{background:rgba(200,144,32,.08);}
.kyc-btn-flag{color:var(--text3);}
.kyc-btn-flag:active{background:rgba(255,255,255,.04);}
.kyc-btn-risk{color:var(--text3);}
.kyc-btn-risk:active{background:rgba(255,255,255,.04);}
/* ── Status / Risk / Wallet badges ─────────────────────────── */
.kyc-badge{font-size:.57rem;font-weight:600;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;}
.kyc-badge-approved{background:rgba(0,201,167,.09);color:#00AD92;}
.kyc-badge-rejected{background:rgba(217,69,69,.09);color:#C84444;}
.kyc-badge-reviewing{background:rgba(200,144,32,.09);color:#B8820E;}
.kyc-badge-pending{background:rgba(74,143,255,.09);color:#4A80E0;}
.kyc-badge-none{background:rgba(255,255,255,.03);color:var(--text3);}
.kyc-level-tag{font-size:.57rem;font-weight:600;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.04);color:var(--text3);border:1px solid rgba(255,255,255,.07);}
.risk-badge{font-size:.57rem;font-weight:600;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;}
.risk-badge-low{background:rgba(0,201,167,.09);color:#00AD92;}
.risk-badge-medium{background:rgba(74,143,255,.09);color:#4A80E0;}
.risk-badge-high{background:rgba(200,144,32,.09);color:#B8820E;}
.risk-badge-critical{background:rgba(217,69,69,.09);color:#C84444;}
.risk-badge-none{background:rgba(255,255,255,.03);color:var(--text3);}
.wallet-status-badge{font-size:.57rem;font-weight:600;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;}
.wallet-badge-active{background:rgba(0,201,167,.09);color:#00AD92;}
.wallet-badge-frozen{background:rgba(74,143,255,.09);color:#4A80E0;}
.wallet-badge-suspended{background:rgba(217,69,69,.09);color:#C84444;}

/* ══════════════════════════════════════════
   P2P VENEZUELA
══════════════════════════════════════════ */
.p2p-banner{
  background:linear-gradient(135deg,#150810 0%,#0D1422 100%);
  border:1px solid rgba(207,32,32,0.25);
  border-radius:var(--radius);
  padding:18px;margin-bottom:14px;
  display:flex;align-items:center;gap:14px;
  position:relative;overflow:hidden;
}
.p2p-banner::before{
  content:'';position:absolute;right:-30px;top:-30px;
  width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(207,32,32,0.12) 0%,transparent 70%);
}
.p2p-flags{display:flex;align-items:center;gap:6px;font-size:1.8rem;flex-shrink:0;align-self:flex-start;}
.p2p-arrow{color:var(--gold);font-size:.85rem;}
.p2p-text h3{font-size:1rem;font-weight:700;}
.p2p-text p{font-size:.75rem;color:var(--text2);margin-top:3px;}
.p2p-status{
  margin-left:auto;flex-shrink:0;
  background:rgba(0,201,167,0.1);border:1px solid rgba(0,201,167,0.2);
  border-radius:20px;padding:4px 12px;
  font-size:.65rem;font-weight:700;color:var(--teal);
  text-transform:uppercase;letter-spacing:.5px;
  display:flex;align-items:center;gap:5px;
}
.live-dot{
  width:6px;height:6px;border-radius:50%;background:var(--teal);
  animation:blink 2s infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}

/* P2P FORM */
.form-group{margin-bottom:14px;}
.form-label{
  font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.8px;
  color:var(--text2);margin-bottom:7px;
  display:flex;align-items:center;gap:7px;
}
.form-label i{color:var(--gold);font-size:.75rem;}
.form-control{
  width:100%;background:var(--bg2);
  border:1px solid var(--border2);border-radius:var(--radius-sm);
  color:var(--text);font-family:'Outfit',sans-serif;
  font-size:.92rem;padding:12px 14px;
  outline:none;transition:border-color .2s;
  appearance:none;-webkit-appearance:none;
}
.form-control:focus{border-color:var(--teal);}
.form-control::placeholder{color:var(--text3);}
select.form-control{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A8799' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:36px;cursor:pointer;
}
select.form-control option{background:var(--card2);}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

.doc-row{display:grid;grid-template-columns:100px 1fr;gap:10px;}

.payment-type-row{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-bottom:14px;
}
.payment-opt{
  border:2px solid var(--border2);
  border-radius:var(--radius-sm);padding:12px;
  cursor:pointer;text-align:center;
  transition:all .2s;
}
.payment-opt.selected{
  border-color:var(--teal);background:rgba(0,201,167,0.08);
}
.payment-opt i{
  font-size:1.2rem;display:block;margin-bottom:6px;
  color:var(--text3);transition:color .2s;
}
.payment-opt.selected i{color:var(--teal);}
.payment-opt span{font-size:.78rem;font-weight:600;color:var(--text2);}
.payment-opt.selected span{color:var(--teal);}

.rate-display{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:12px 14px;
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;
}
.rate-display-label{font-size:.72rem;color:var(--text2);}
.rate-display-val{
  font-family:'JetBrains Mono',monospace;
  font-size:.9rem;font-weight:600;color:var(--gold);
}

.result-big{
  background:linear-gradient(135deg,rgba(0,201,167,0.08),rgba(74,143,255,0.04));
  border:1px solid rgba(0,201,167,0.2);
  border-radius:var(--radius-sm);padding:16px;
  margin-bottom:16px;
}
.result-big-label{font-size:.7rem;color:var(--text2);font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.result-big-val{
  font-family:'JetBrains Mono',monospace;
  font-size:1.8rem;font-weight:600;color:var(--teal);
  margin-top:4px;
}
.result-big-sub{font-size:.72rem;color:var(--text2);margin-top:4px;}

.btn-p2p{
  width:100%;padding:15px;border:none;
  background:linear-gradient(135deg,#C0141F,#8B0000);
  color:#fff;border-radius:var(--radius-sm);
  font-family:'Outfit',sans-serif;font-size:1rem;font-weight:700;
  cursor:pointer;letter-spacing:.3px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity .2s,transform .1s;
  margin-bottom:14px;
}
.btn-p2p:active{transform:scale(.98);opacity:.9;}

.operator-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(240,165,0,0.1);border:1px solid rgba(240,165,0,0.2);
  border-radius:6px;padding:3px 10px;
  font-size:.72rem;font-weight:600;color:var(--gold);
  margin-bottom:12px;
}

/* P2P Orders list */
.p2p-order-card{
  background:var(--card2);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:14px;
  margin-bottom:10px;position:relative;overflow:hidden;
}
.p2p-order-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--teal);border-radius:3px 0 0 3px;
}
.p2p-order-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.p2p-order-name{font-size:.9rem;font-weight:700;}
.p2p-order-status{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  padding:3px 9px;border-radius:5px;
}
.status-pending{background:rgba(240,165,0,0.15);color:var(--gold);}
.status-done{background:rgba(0,201,167,0.15);color:var(--teal);}
.p2p-order-subtext{font-size:.72rem;color:var(--text2);line-height:1.35;margin:-2px 0 8px;}
.p2p-order-row{
  display:flex;justify-content:space-between;
  font-size:.78rem;color:var(--text2);margin-top:4px;
}
.p2p-order-row strong{color:var(--text);font-family:'JetBrains Mono',monospace;}

/* ══════════════════════════════════════════
   HISTORIAL
══════════════════════════════════════════ */
.op-card{
  background:var(--card2);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:14px;
  margin-bottom:10px;display:flex;align-items:center;gap:12px;
}
.op-icon{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;flex-shrink:0;
}
.op-icon.compro{background:rgba(74,143,255,0.12);color:var(--blue);}
.op-icon.vendo{background:rgba(240,165,0,0.1);color:var(--gold);}
.op-info{flex:1;}
.op-name{font-size:.88rem;font-weight:600;}
.op-meta{font-size:.72rem;color:var(--text2);margin-top:2px;}
.op-amount{text-align:right;}
.op-amount-main{font-family:'JetBrains Mono',monospace;font-size:.9rem;font-weight:600;}
.op-amount-sub{font-size:.7rem;color:var(--text2);margin-top:2px;}

/* ══════════════════════════════════════════
   UTILS
══════════════════════════════════════════ */
.section-label{
  font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;
  color:var(--text3);margin:16px 0 10px;
  display:flex;align-items:center;gap:8px;
}
.section-label::after{
  content:'';flex:1;height:1px;background:var(--border);
}
.hidden{display:none!important;}

/* ══════════════════════════════════════════
   DETAIL OVERLAY
══════════════════════════════════════════ */
.detail-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,0.6);
  display:flex;align-items:flex-end;
  opacity:0;pointer-events:none;
  transition:opacity .25s;
}
.detail-overlay.open{opacity:1;pointer-events:all;}
.detail-sheet{
  width:100%;
  max-width:100vw;
  box-sizing:border-box;
  background:var(--card);
  border-radius:20px 20px 0 0;
  border-top:1px solid var(--border2);
  padding:20px 20px 36px;
  transform:translateY(100%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);
  max-height:80vh;overflow-y:auto;overflow-x:hidden;
}
.detail-overlay.open .detail-sheet{transform:translateY(0);}
.detail-handle{
  width:40px;height:4px;border-radius:2px;
  background:var(--text3);margin:0 auto 20px;
}
.detail-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;
}
.detail-title{font-size:1rem;font-weight:700;}
.detail-close{
  width:32px;height:32px;border-radius:8px;
  background:var(--card2);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--text2);font-size:.8rem;
}
.detail-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 12px;border-radius:20px;
  font-size:.72rem;font-weight:700;text-transform:uppercase;
  margin-bottom:16px;
}
.badge-compro{background:rgba(0,201,167,0.12);color:var(--teal);border:1px solid rgba(0,201,167,0.2);}
.badge-vendo{background:rgba(224,48,48,0.12);color:var(--red);border:1px solid rgba(224,48,48,0.2);}
.badge-p2p{background:rgba(207,32,32,0.12);color:#E03030;border:1px solid rgba(207,32,32,0.2);}
.detail-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;border-bottom:1px solid var(--border);
}
.detail-row:last-child{border-bottom:none;}
.detail-row-label{font-size:.75rem;color:var(--text2);font-weight:500;}
.detail-row-val{font-size:.88rem;font-weight:600;text-align:right;max-width:60%;word-break:break-all;}
.detail-amount-big{
  background:linear-gradient(135deg,rgba(0,201,167,0.08),rgba(74,143,255,0.04));
  border:1px solid rgba(0,201,167,0.2);
  border-radius:var(--radius-sm);padding:14px 16px;
  margin-bottom:16px;text-align:center;
}
.detail-amount-big-val{
  font-family:'JetBrains Mono',monospace;
  font-size:2rem;font-weight:700;color:var(--teal);
}
.detail-amount-big-sub{font-size:.75rem;color:var(--text2);margin-top:4px;}
.op-card{cursor:pointer;}
.op-card:active{opacity:.75;}

/* ══════════════════════════════════════════
   ADMIN PANEL
══════════════════════════════════════════ */
.user-card{
  background:var(--card2);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:14px;
  margin-bottom:10px;display:flex;align-items:center;gap:12px;
  overflow:hidden;       /* impide scroll horizontal en el card */
  flex-wrap:wrap;        /* botón baja a 2ª línea si no cabe */
  row-gap:8px;           /* espacio vertical entre líneas al hacer wrap */
}
.user-avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  display:flex;align-items:center;justify-content:center;
  font-size:.95rem;font-weight:700;color:#fff;flex-shrink:0;
}
/* min-width:0 es la clave: permite que flex item encoja debajo de su contenido */
.user-info{flex:1;min-width:0;}
.user-name{
  font-size:.9rem;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.user-meta{
  font-size:.72rem;color:var(--text2);margin-top:2px;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  min-width:0;overflow:hidden;
}
.user-meta span{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.role-badge{padding:2px 8px;border-radius:4px;font-size:.6rem;font-weight:700;text-transform:uppercase;flex-shrink:0;}
.role-admin{background:rgba(240,165,0,0.15);color:var(--gold);}
.role-operator{background:rgba(74,143,255,0.15);color:var(--blue);}
.role-client{background:rgba(0,201,167,0.15);color:var(--teal);}
.role-pending{background:rgba(240,165,0,0.1);color:var(--gold);border:1px solid rgba(240,165,0,0.3);}
.user-blocked .user-name{text-decoration:line-through;color:var(--text3);}
.pending-section{margin-bottom:14px;}
.pending-badge{
  display:inline-block;background:rgba(240,165,0,0.15);color:var(--gold);
  border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700;
  text-transform:uppercase;border:1px solid rgba(240,165,0,0.3);
}
.pending-actions{display:flex;gap:8px;margin-left:auto;}
.btn-approve{
  background:rgba(0,201,167,0.15);color:var(--teal);border:1px solid var(--teal);
  border-radius:8px;padding:5px 10px;font-size:.7rem;font-weight:700;cursor:pointer;
  font-family:'Outfit',sans-serif;
}
.btn-reject{
  background:rgba(224,48,48,0.12);color:var(--red);border:1px solid var(--red);
  border-radius:8px;padding:5px 10px;font-size:.7rem;font-weight:700;cursor:pointer;
  font-family:'Outfit',sans-serif;
}
/* Register toggle */
.register-toggle{
  margin-top:14px;text-align:center;font-size:.82rem;color:var(--text2);
}
.register-toggle a{color:var(--teal);text-decoration:none;font-weight:600;}
.register-panel{display:none;}
.register-panel.visible{display:block;}
.register-panel .login-card{margin-top:0;}
.toggle-user-btn{
  background:none;border:1px solid var(--border2);border-radius:8px;
  padding:6px 12px;font-family:'Outfit',sans-serif;font-size:.72rem;font-weight:600;
  cursor:pointer;color:var(--text2);transition:all .2s;white-space:nowrap;
  flex-shrink:0;   /* el botón nunca se encoge */
  margin-left:auto;/* siempre al extremo derecho cuando cabe en la misma fila */
}
.toggle-user-btn.block{border-color:var(--red);color:var(--red);}
.toggle-user-btn.unblock{border-color:var(--teal);color:var(--teal);}

/* ══════════════════════════════════════════
   CHAT
══════════════════════════════════════════ */
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - var(--nav-h) - 130px);}
.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:8px 0;}
.chat-messages::-webkit-scrollbar{display:none;}
.chat-msg{display:flex;flex-direction:column;margin-bottom:14px;}
.chat-msg.me{align-items:flex-end;}
.chat-msg.other{align-items:flex-start;}
.chat-msg-meta{font-size:.65rem;color:var(--text3);margin-bottom:3px;display:flex;align-items:center;gap:6px;}
.role-badge-sm{padding:1px 6px;border-radius:3px;font-weight:700;text-transform:uppercase;font-size:.6rem;}
.chat-msg-bubble{
  max-width:75%;padding:10px 14px;border-radius:14px;
  font-size:.88rem;line-height:1.45;word-break:break-word;
}
.chat-msg.me .chat-msg-bubble{background:var(--teal);color:#090E1A;border-radius:14px 14px 4px 14px;}
.chat-msg.other .chat-msg-bubble{background:var(--card2);color:var(--text);border:1px solid var(--border2);border-radius:14px 14px 14px 4px;}
.chat-input-row{display:flex;align-items:center;gap:10px;padding:10px 0 4px;border-top:1px solid var(--border);flex-shrink:0;}
.chat-input{
  flex:1;background:var(--bg2);border:1px solid var(--border2);
  border-radius:20px;color:var(--text);font-family:'Outfit',sans-serif;
  font-size:.9rem;padding:10px 16px;outline:none;transition:border-color .2s;
}
.chat-input:focus{border-color:var(--teal);}
.chat-input::placeholder{color:var(--text3);}
.chat-send-btn{
  width:40px;height:40px;border-radius:50%;background:var(--teal);border:none;
  display:flex;align-items:center;justify-content:center;
  color:#090E1A;font-size:.9rem;cursor:pointer;flex-shrink:0;transition:opacity .2s;
}
.chat-send-btn:active{opacity:.8;}
.account-grid{display:grid;gap:14px;}
.account-security-card{
  margin-top:14px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(0,201,167,.18);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(0,201,167,.08),rgba(74,143,255,.06));
}
.account-security-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--teal);
  background:rgba(0,201,167,.12);
  border:1px solid rgba(0,201,167,.22);
  font-size:1.1rem;
}
.account-security-main{min-width:0;}
.account-security-title{font-size:.95rem;font-weight:800;color:var(--text);}
.account-security-text{margin-top:3px;color:var(--text2);font-size:.78rem;line-height:1.35;}
.passkey-manage-btn{
  border:0;
  border-radius:8px;
  background:linear-gradient(135deg,var(--teal),#21b7c9);
  color:#06111b;
  padding:10px 12px;
  font-family:'Outfit',sans-serif;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.passkey-manage-btn.active{
  background:rgba(0,201,167,.10);
  color:var(--teal);
  border:1px solid rgba(0,201,167,.28);
}
.passkey-manage-btn:disabled{opacity:.55;cursor:not-allowed;}
.passkey-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(5,9,18,.58);
  backdrop-filter:blur(10px);
}
.passkey-overlay.open{display:flex;}
.passkey-sheet{
  width:min(360px,100%);
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:28px 24px;
  border-radius:22px;
  background:var(--card,#101827);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  text-align:center;
}
.passkey-title{font-size:1.05rem;font-weight:800;color:var(--text);}
.passkey-sub{font-size:.82rem;color:var(--text2);line-height:1.4;max-width:260px;}
.passkey-fingerprint{
  margin-top:8px;
  color:rgba(255,255,255,.68);
  font-size:3.2rem;
  animation:passkeyPulse 1.5s ease-in-out infinite;
}
@keyframes passkeyPulse{
  0%,100%{opacity:.45;transform:scale(.98);}
  50%{opacity:1;transform:scale(1.04);}
}
.profile-row{
  display:flex;align-items:center;gap:12px;padding:14px;
  background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-sm);
}
.profile-row .user-avatar{width:46px;height:46px;}
.helper-text{font-size:.78rem;color:var(--text2);line-height:1.45;margin-top:8px;}
.support-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;}
.ticket-card{
  background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px;margin-bottom:10px;cursor:pointer;transition:border-color .2s,background .2s;
}
.ticket-card.active{border-color:var(--teal);background:rgba(0,201,167,0.08);}
.ticket-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.ticket-subject{font-weight:700;font-size:.92rem;line-height:1.25;}
.ticket-meta{font-size:.7rem;color:var(--text3);display:flex;gap:7px;flex-wrap:wrap;}
.ticket-status{
  border-radius:999px;padding:3px 8px;font-size:.62rem;font-weight:800;text-transform:uppercase;white-space:nowrap;
}
.ticket-status.open{background:rgba(0,201,167,0.15);color:var(--teal);}
.ticket-status.pending{background:rgba(240,165,0,0.15);color:var(--gold);}
.ticket-status.closed{background:rgba(118,132,158,0.18);color:var(--text2);}
.ticket-preview{font-size:.78rem;color:var(--text2);line-height:1.35;margin-top:7px;}
.ticket-thread{
  background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px;max-height:320px;overflow-y:auto;margin-bottom:12px;
}
.ticket-message{margin-bottom:12px;}
.ticket-message.me{text-align:right;}
.ticket-message-meta{font-size:.65rem;color:var(--text3);margin-bottom:4px;}
.ticket-message-bubble{
  display:inline-block;max-width:82%;padding:9px 12px;border-radius:13px;
  background:var(--bg2);border:1px solid var(--border2);font-size:.84rem;line-height:1.42;text-align:left;
}
.ticket-message.me .ticket-message-bubble{background:var(--teal);color:#090E1A;border-color:var(--teal);}
.ticket-actions{display:flex;gap:8px;flex-wrap:wrap;}
.ticket-actions .form-control{flex:1;min-width:150px;}
.rating-row{display:flex;gap:6px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap;}
.rating-btn{
  border:1px solid var(--border2);background:var(--bg2);color:var(--text);
  border-radius:8px;padding:6px 9px;font-size:.82rem;cursor:pointer;
  font-family:'Outfit',sans-serif;transition:border-color .2s,background .2s;
}
.rating-btn:hover,.rating-btn:focus{border-color:var(--teal);outline:none;}
.rating-note{
  width:100%;min-height:34px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:8px;color:var(--text);font-family:'Outfit',sans-serif;font-size:.72rem;
  padding:8px;resize:none;outline:none;margin-top:7px;
}
.reputation-line{font-size:.68rem;color:var(--text2);margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;}
.reputation-pill{
  display:inline-flex;align-items:center;gap:4px;border-radius:999px;
  background:rgba(0,201,167,0.12);color:var(--teal);padding:2px 7px;font-weight:700;
}
.rank-tabs{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px;}
.rank-tab{
  border:1px solid var(--border2);background:var(--card2);color:var(--text2);
  border-radius:8px;padding:8px 10px;font-family:'Outfit',sans-serif;font-size:.72rem;
  font-weight:700;white-space:nowrap;cursor:pointer;
}
.rank-tab.active{border-color:var(--teal);color:var(--teal);background:rgba(0,201,167,0.08);}
.rank-item{
  background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px;margin-bottom:9px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;
}
.rank-pos{font-size:1.25rem;width:34px;text-align:center;}
.rank-name{font-size:.9rem;font-weight:800;}
.rank-meta{font-size:.68rem;color:var(--text2);margin-top:3px;display:flex;gap:7px;flex-wrap:wrap;}
.rank-score{text-align:right;font-weight:800;color:var(--teal);font-size:.92rem;}
.points-hero{
  background:linear-gradient(135deg,rgba(0,201,167,.16),rgba(74,143,255,.12));
  border:1px solid rgba(0,201,167,.28);border-radius:var(--radius);padding:18px;margin-bottom:14px;
}
.points-value{font-size:2rem;font-weight:900;color:var(--teal);line-height:1;}
.redemption-card{
  background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px;margin-bottom:10px;
}
.status-approved{background:rgba(74,143,255,0.15);color:var(--blue);}
.status-rejected{background:rgba(224,48,48,0.15);color:var(--red);}
.status-paid{background:rgba(0,201,167,0.15);color:var(--teal);}
@media (min-width:760px){
  .account-grid{grid-template-columns:1fr 1fr;}
  .support-layout{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);}
}
@media (max-width:560px){
  .account-security-card{
    grid-template-columns:38px minmax(0,1fr);
  }
  .account-security-icon{width:38px;height:38px;}
  .passkey-manage-btn{
    grid-column:1 / -1;
    width:100%;
  }
}
/* ══════════════════════════════════════════
   SIDE DRAWER
══════════════════════════════════════════ */
.drawer-overlay{
  position:fixed;inset:0;z-index:90;
  background:rgba(0,0,0,0);pointer-events:none;
  transition:background .3s;
}
.drawer-overlay.open{background:rgba(0,0,0,0.65);pointer-events:all;backdrop-filter:blur(4px);}
.side-drawer{
  position:fixed;right:0;top:0;bottom:0;z-index:91;
  width:min(300px,88vw);
  background:var(--card);border-left:1px solid var(--border2);
  transform:translateX(100%);
  transition:transform .32s cubic-bezier(0.4,0,0.2,1);
  display:flex;flex-direction:column;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.side-drawer.open{transform:translateX(0);}
.drawer-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 20px 16px;border-bottom:1px solid var(--border);
}
.drawer-logo{font-size:.95rem;font-weight:800;color:var(--teal);display:flex;align-items:center;gap:8px;}
.drawer-close{
  width:36px;height:36px;border-radius:50%;
  background:var(--bg2);border:1px solid var(--border);
  color:var(--text2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
  transition:color .2s,border-color .2s;
}
.drawer-close:hover{color:var(--text);border-color:var(--border2);}
.drawer-list{flex:1;overflow-y:auto;padding:10px 10px 4px;}
.drawer-item{
  width:100%;display:flex;align-items:center;gap:14px;
  padding:14px 12px;border-radius:12px;
  background:none;border:none;color:var(--text2);
  font-family:'Outfit',sans-serif;font-size:.92rem;font-weight:500;
  cursor:pointer;transition:background .18s,color .18s;text-align:left;
}
.drawer-item:hover{background:var(--bg2);color:var(--text);}
.drawer-item i{font-size:1.05rem;width:22px;text-align:center;flex-shrink:0;}
.drawer-divider{height:1px;background:var(--border);margin:8px 4px;}
.drawer-item.drawer-logout{color:var(--red);}
.drawer-item.drawer-logout:hover{background:rgba(224,48,48,0.08);color:var(--red);}
.drawer-footer{padding:12px 20px 18px;border-top:1px solid var(--border);font-size:.67rem;color:var(--text3);text-align:center;}
/* nav improvements */
.bottom-nav{padding:0 2px;}
.nav-item{padding:7px 2px;}
.nav-item i{font-size:1.25rem;}
.nav-item span{font-size:.59rem;letter-spacing:.2px;}
.nav-item.active i{filter:drop-shadow(0 0 7px currentColor);}
.nav-item::after{
  content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:0;height:2px;background:var(--teal);border-radius:2px;transition:width .22s;
}
.nav-item.active::after{width:26px;}
/* ══════════════════════════════════════════
   P2P PAYMENT STEP OVERLAY
══════════════════════════════════════════ */
.p2p-pay-overlay{
  position:fixed;inset:0;z-index:80;
  background:var(--bg);
  display:none;flex-direction:column;overflow-y:auto;
}
.p2p-pay-overlay.open{display:flex;}
.p2p-pay-header{
  display:flex;align-items:center;gap:12px;
  padding:20px 20px 16px;border-bottom:1px solid var(--border);flex-shrink:0;
  background:var(--bg);position:sticky;top:0;z-index:1;
}
.p2p-pay-header h2{font-size:1rem;font-weight:700;line-height:1.3;}
.p2p-pay-step-tag{font-size:.65rem;color:var(--text3);font-weight:500;}
.p2p-pay-back{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:var(--card2);border:1px solid var(--border);
  color:var(--text2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  transition:color .2s;
}
.p2p-pay-back:hover{color:var(--text);}
.p2p-pay-body{padding:20px;flex:1;max-width:560px;margin:0 auto;width:100%;}
.p2p-pay-summary{
  background:linear-gradient(135deg,rgba(240,165,0,0.1),rgba(74,143,255,0.08));
  border:1px solid rgba(240,165,0,0.2);
  border-radius:var(--radius);padding:18px;margin-bottom:18px;
}
.p2p-pay-amount{
  font-size:2.2rem;font-weight:900;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  line-height:1.1;
}
.p2p-pay-sub{font-size:.8rem;color:var(--text2);margin-top:5px;}
.p2p-pay-recipient{margin-top:12px;display:flex;flex-direction:column;gap:5px;}
.p2p-pay-recipient span{font-size:.78rem;color:var(--text2);display:flex;align-items:center;gap:7px;}
.pay-account-block{
  background:var(--card2);border:1px solid var(--border2);
  border-radius:var(--radius);padding:16px;margin-bottom:12px;
}
.pay-account-block-title{
  font-size:.68rem;font-weight:700;color:var(--text3);
  text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px;
  display:flex;align-items:center;gap:6px;
}
.pay-account-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 0;border-bottom:1px solid var(--border);
}
.pay-account-row:last-child{border-bottom:none;}
.pay-account-label{font-size:.73rem;color:var(--text2);flex-shrink:0;}
.pay-account-val{font-size:.86rem;font-weight:600;font-family:'JetBrains Mono',monospace;word-break:break-all;}
.pay-copy-btn{
  flex-shrink:0;background:var(--bg2);border:1px solid var(--border2);
  border-radius:8px;padding:5px 10px;
  font-size:.7rem;font-weight:600;color:var(--teal);
  cursor:pointer;font-family:'Outfit',sans-serif;
  transition:background .2s;display:flex;align-items:center;gap:4px;
}
.pay-copy-btn:hover{background:rgba(0,201,167,0.1);}
.pay-copy-btn:disabled{opacity:.5;cursor:not-allowed;}
.p2p-pay-instructions{
  background:rgba(74,143,255,0.07);border:1px solid rgba(74,143,255,0.18);
  border-radius:var(--radius);padding:14px 16px;margin-bottom:20px;
  font-size:.8rem;color:var(--text2);line-height:1.6;
}
.p2p-pay-instructions strong{color:var(--blue);}
.p2p-pay-instructions ol{padding-left:18px;margin-top:6px;}
.p2p-pay-instructions li{margin-bottom:4px;}
.btn-confirm-pay{
  width:100%;padding:17px;
  background:linear-gradient(135deg,var(--teal),#00906e);
  border:none;border-radius:var(--radius);
  color:#090E1A;font-family:'Outfit',sans-serif;
  font-size:1rem;font-weight:800;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:9px;
  transition:opacity .2s,transform .12s;
}
.btn-confirm-pay:hover{opacity:.9;transform:translateY(-1px);}
.btn-confirm-pay:active{transform:translateY(0);}
.btn-confirm-pay:disabled{opacity:.45;cursor:not-allowed;transform:none;}
/* ══════════════════════════════════════════
   P2P NEW STATUS BADGES
══════════════════════════════════════════ */
.status-payment-sent{background:rgba(74,143,255,0.15);color:var(--blue);}
.status-processing{background:rgba(130,100,255,0.15);color:#a78bfa;}
.status-completed{background:rgba(0,201,167,0.15);color:var(--teal);}
.status-cancelled{background:rgba(224,48,48,0.15);color:var(--red);}
/* ══════════════════════════════════════════
   P2P TIMELINE
══════════════════════════════════════════ */
.p2p-timeline{
  display:flex;align-items:flex-start;gap:0;
  margin-top:12px;padding:10px 4px 4px;overflow-x:auto;
}
.p2p-tl-step{
  display:flex;flex-direction:column;align-items:center;
  flex:1;min-width:44px;position:relative;
}
.p2p-tl-step:not(:last-child)::after{
  content:'';position:absolute;top:9px;
  left:calc(50% + 11px);right:calc(-50% + 11px);
  height:2px;background:var(--border);z-index:0;
}
.p2p-tl-step.tl-done:not(:last-child)::after{background:var(--teal);}
.p2p-tl-dot{
  width:20px;height:20px;border-radius:50%;
  border:2px solid var(--text3);background:var(--card);
  display:flex;align-items:center;justify-content:center;
  font-size:.55rem;color:var(--text3);
  position:relative;z-index:1;transition:all .3s;
}
.p2p-tl-step.tl-done .p2p-tl-dot{background:var(--teal);border-color:var(--teal);color:#090E1A;box-shadow:0 0 8px rgba(0,201,167,.4);}
.p2p-tl-step.tl-current .p2p-tl-dot{background:var(--gold);border-color:var(--gold);color:#090E1A;box-shadow:0 0 8px rgba(240,165,0,.4);animation:blink 2s infinite;}
.p2p-tl-step.tl-cancelled .p2p-tl-dot{background:var(--red);border-color:var(--red);color:#fff;}
.p2p-tl-label{font-size:.46rem;color:var(--text3);margin-top:5px;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;}
.p2p-tl-step.tl-done .p2p-tl-label{color:var(--teal);}
.p2p-tl-step.tl-current .p2p-tl-label{color:var(--gold);}
.p2p-tl-step.tl-cancelled .p2p-tl-label{color:var(--red);}
/* ══════════════════════════════════════════
   P2P OPERATOR ACTION BUTTONS
══════════════════════════════════════════ */
.p2p-actions-row{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;}
.btn-p2p-action{
  flex:1;padding:8px 10px;border-radius:9px;border:none;
  font-family:'Outfit',sans-serif;font-size:.72rem;font-weight:700;
  cursor:pointer;transition:opacity .2s;
  display:flex;align-items:center;justify-content:center;gap:5px;min-width:90px;
}
.btn-p2p-action:hover{opacity:.8;}
.btn-p2p-approve{background:rgba(74,143,255,0.12);color:var(--blue);border:1px solid rgba(74,143,255,0.25);}
.btn-p2p-complete{background:rgba(0,201,167,0.12);color:var(--teal);border:1px solid rgba(0,201,167,0.25);}
.btn-p2p-cancel{background:rgba(224,48,48,0.07);color:var(--red);border:1px solid rgba(224,48,48,0.18);}
/* ── Bloque datos de pago Venezuela (operador) ── */
.ves-pay-block{background:rgba(0,201,167,.05);border:1px solid rgba(0,201,167,.25);
  border-radius:var(--radius-sm);padding:10px 12px;margin-top:10px;}
.ves-pay-block-title{font-size:.62rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.6px;color:var(--teal);margin-bottom:8px;display:flex;
  align-items:center;gap:5px;}
.ves-pay-row{display:flex;justify-content:space-between;align-items:baseline;
  padding:3px 0;font-size:.74rem;}
.ves-pay-label{color:var(--text3);flex-shrink:0;margin-right:8px;}
.ves-pay-val{font-family:'JetBrains Mono',monospace;font-size:.72rem;
  text-align:right;word-break:break-all;}
.btn-copy-ves{width:100%;margin-top:9px;background:rgba(0,201,167,.12);
  border:1px solid rgba(0,201,167,.35);border-radius:var(--radius-sm);
  padding:8px;font-size:.76rem;font-weight:700;color:var(--teal);
  cursor:pointer;font-family:'Outfit',sans-serif;display:flex;
  align-items:center;justify-content:center;gap:6px;transition:opacity .2s;}
.btn-copy-ves:hover{opacity:.8;}

/* ══ CLIENT P2P — OPERATOR SELECTION ══ */
.op-select-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px;cursor:default;}
.op-select-card.recommended{border-color:rgba(0,201,167,.5);background:rgba(0,201,167,.04);}
.op-recommended-tag{font-size:.62rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:4px;margin-bottom:8px;}
.op-select-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.op-select-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:#fff;flex-shrink:0;}
.op-select-name{font-weight:700;font-size:.9rem;line-height:1.2;}
.op-select-stats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.op-stat-pill{background:var(--card2);border:1px solid var(--border);border-radius:20px;padding:3px 9px;font-size:.7rem;color:var(--text2);}
.op-stat-pill.pending{color:var(--gold);border-color:rgba(240,165,0,.3);}
.op-stat-pill.available{color:var(--teal);border-color:rgba(0,201,167,.3);}
.op-select-btn{width:100%;background:var(--teal);color:#090E1A;border:none;border-radius:var(--radius-sm);padding:9px;font-weight:700;font-size:.82rem;cursor:pointer;font-family:'Outfit',sans-serif;transition:opacity .2s;}
.op-select-btn:hover{opacity:.85;}
.client-p2p-back-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.client-p2p-back-btn{background:none;border:1px solid var(--border2);border-radius:var(--radius-sm);padding:7px 12px;color:var(--text2);cursor:pointer;font-family:'Outfit',sans-serif;font-size:.8rem;display:flex;align-items:center;gap:5px;}
.selected-op-chip{display:flex;align-items:center;gap:8px;background:rgba(0,201,167,.1);border:1px solid rgba(0,201,167,.3);border-radius:var(--radius-sm);padding:8px 12px;font-size:.82rem;font-weight:600;color:var(--teal);flex:1;min-width:0;}
.selected-op-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ══ Wizard 2 pasos: formulario de envío P2P cliente ══ */
.cp2p-wiz-stepper{display:flex;align-items:flex-start;gap:0;margin-bottom:18px;}
.cp2p-wiz-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;}
.cp2p-wiz-dot{
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:700;flex-shrink:0;
  border:2px solid var(--border2);color:var(--text3);
  background:var(--bg2);transition:all .2s;
}
.cp2p-wiz-label{font-size:.68rem;font-weight:600;color:var(--text3);margin-top:6px;text-align:center;transition:color .2s;}
.cp2p-wiz-line{position:absolute;top:13px;left:calc(50% + 15px);width:calc(100% - 30px);height:2px;background:var(--border2);transition:background .2s;}
.cp2p-wiz-step.active .cp2p-wiz-dot{border-color:var(--teal);color:var(--teal);background:rgba(0,201,167,.12);}
.cp2p-wiz-step.active .cp2p-wiz-label{color:var(--teal);}
.cp2p-wiz-step.done .cp2p-wiz-dot{border-color:var(--teal);color:#090E1A;background:var(--teal);}
.cp2p-wiz-step.done .cp2p-wiz-label{color:var(--teal);}
.cp2p-wiz-step.done .cp2p-wiz-line{background:var(--teal);}

/* ══ TASAS PERSONALIZADAS ══ */
.custom-rate-banner{display:flex;align-items:center;gap:10px;background:rgba(240,165,0,.08);border:1px solid rgba(240,165,0,.3);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px;}
.custom-rate-banner i{color:var(--gold);font-size:.9rem;flex-shrink:0;}
.custom-rate-banner-text{flex:1;min-width:0;}
.custom-rate-banner-label{font-size:.68rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.custom-rate-banner-val{font-size:1rem;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text);}
.custom-rate-applied{display:flex;align-items:center;gap:6px;background:rgba(240,165,0,.1);border:1px solid rgba(240,165,0,.25);border-radius:var(--radius-sm);padding:6px 10px;font-size:.72rem;font-weight:700;color:var(--gold);margin-bottom:8px;}
/* Ocupa línea completa en el flex del user-card — truco flex-basis:100% */
.cli-rate-wrapper{flex-basis:100%;min-width:0;overflow:hidden;}
.cli-rate-wrapper .admin-rate-block{margin-top:0;}
.admin-rate-block{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;}
.admin-rate-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;}
.admin-rate-input{flex:1;min-width:72px;max-width:110px;background:var(--card2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:5px 8px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:.8rem;}
/* Botones de tasa nunca se cortan */
.rate-toggle-btn,.rate-save-btn,.rate-clear-btn{flex-shrink:0;}
.admin-rate-input:focus{outline:none;border-color:var(--gold);}
.rate-toggle-btn{font-size:.68rem;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border2);background:none;cursor:pointer;font-family:'Outfit',sans-serif;font-weight:700;}
.rate-toggle-btn.active{background:rgba(0,201,167,.15);color:var(--teal);border-color:rgba(0,201,167,.4);}
.rate-toggle-btn.inactive{background:rgba(255,255,255,.04);color:var(--text3);}
.rate-save-btn{font-size:.68rem;padding:5px 10px;border-radius:var(--radius-sm);border:none;background:var(--gold);color:#090E1A;cursor:pointer;font-family:'Outfit',sans-serif;font-weight:700;}
.rate-clear-btn{font-size:.68rem;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid rgba(224,48,48,.3);background:none;color:var(--red);cursor:pointer;font-family:'Outfit',sans-serif;}
.admin-rate-meta{font-size:.62rem;color:var(--text3);}

/* ══ SMART PASTE ══ */
.btn-paste{width:100%;background:rgba(255,255,255,.04);border:1px dashed var(--border2);border-radius:var(--radius-sm);padding:9px;color:var(--text2);cursor:pointer;font-family:'Outfit',sans-serif;font-size:.82rem;display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:14px;transition:border-color .2s,color .2s;}
.btn-paste:hover{border-color:var(--teal);color:var(--teal);}
.sp-overlay{position:fixed;inset:0;z-index:960;background:rgba(9,14,26,.78);display:flex;align-items:flex-end;}
.sp-overlay.hidden{display:none;}
.sp-sheet{background:var(--card);border-radius:18px 18px 0 0;padding:20px 20px 32px;width:100%;max-height:88vh;overflow-y:auto;}
.sp-handle{width:36px;height:4px;background:var(--border2);border-radius:2px;margin:0 auto 14px;}
.sp-title{font-weight:700;font-size:1rem;margin-bottom:3px;}
.sp-subtitle{font-size:.74rem;color:var(--text2);margin-bottom:16px;}
.sp-field{margin-bottom:14px;}
.sp-field-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:5px;display:flex;align-items:center;gap:5px;}
.sp-type-row{display:flex;gap:8px;margin-bottom:4px;}
.sp-type-opt{flex:1;padding:9px;border-radius:var(--radius-sm);border:1px solid var(--border2);background:var(--card2);cursor:pointer;text-align:center;font-size:.78rem;font-weight:600;color:var(--text2);display:flex;align-items:center;justify-content:center;gap:6px;}
.sp-type-opt.selected{border-color:var(--teal);background:rgba(0,201,167,.12);color:var(--teal);}
.sp-actions{display:flex;gap:10px;margin-top:18px;}
.sp-btn-apply{flex:1;background:var(--teal);color:#090E1A;border:none;border-radius:var(--radius-sm);padding:11px;font-weight:700;font-size:.88rem;cursor:pointer;font-family:'Outfit',sans-serif;}
.sp-btn-cancel{padding:11px 18px;border:1px solid var(--border2);background:none;border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;font-family:'Outfit',sans-serif;font-size:.82rem;}

/* ══ SESSION & NOTIFICATIONS ══ */
.nav-badge{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:.52rem;font-weight:700;border-radius:10px;padding:1px 5px;min-width:14px;text-align:center;line-height:1.6;pointer-events:none;}
/* Oculto: invisible + no intercepta eventos. Visible: desliza suave. */
.session-warn{
  position:fixed;bottom:calc(var(--nav-h) + 6px);left:8px;right:8px;
  z-index:997;                        /* menor que overlays (960+) */
  background:rgba(240,165,0,.96);
  color:#090E1A;
  padding:8px 12px;
  border-radius:var(--radius);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:.76rem;font-weight:700;
  box-shadow:0 4px 20px rgba(0,0,0,.35);
  /* Estado oculto: transparente y sin captura de eventos */
  opacity:0;
  pointer-events:none;
  transform:translateY(4px);
  transition:opacity .2s,transform .2s;
}
.session-warn.visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.session-warn-btn{
  background:#090E1A;color:var(--gold);border:none;
  border-radius:var(--radius-sm);padding:5px 12px;
  font-weight:700;font-size:.72rem;cursor:pointer;
  font-family:'Outfit',sans-serif;white-space:nowrap;flex-shrink:0;
}

/* ══ NOTIFICATIONS ══ */
/* Bell integrada en el header (inline, no fixed) */
.notif-bell-btn{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:8px;
  background:var(--card2);border:1px solid var(--border2);
  cursor:pointer;font-size:.88rem;color:var(--text);
  transition:background .2s,border-color .2s;flex-shrink:0;
}
.notif-bell-btn:hover{background:var(--border2);}
.notif-bell-btn.has-unread{border-color:rgba(224,48,48,.6);background:rgba(224,48,48,.08);}
.notif-bell-btn .notif-count{
  position:absolute;top:-6px;right:-6px;
  background:var(--red);color:#fff;
  font-size:.5rem;font-weight:800;border-radius:999px;
  padding:2px 5px;min-width:15px;text-align:center;
  line-height:1.5;border:2px solid var(--bg);
  pointer-events:none;
}
/* Panel cae desde el header hacia abajo */
.notif-panel{position:fixed;top:64px;right:10px;
  width:min(340px,calc(100vw - 20px));max-height:65vh;background:var(--card);
  border:1px solid var(--border2);border-radius:var(--radius);
  box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:9989;
  display:flex;flex-direction:column;overflow:hidden;}
.notif-panel.hidden{display:none;}
.notif-panel-hdr{display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid var(--border);font-weight:700;
  font-size:.86rem;flex-shrink:0;}
.notif-mark-all{font-size:.68rem;color:var(--teal);cursor:pointer;background:none;
  border:none;font-family:'Outfit',sans-serif;font-weight:600;padding:0;}
.notif-list{overflow-y:auto;flex:1;}
.notif-list::-webkit-scrollbar{display:none;}
.notif-item{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;
  border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;}
.notif-item:hover{background:rgba(255,255,255,.03);}
.notif-item.unread{background:rgba(240,165,0,.04);}
.notif-item:last-child{border-bottom:none;}
.notif-icon-wrap{width:32px;height:32px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.notif-body{flex:1;min-width:0;}
.notif-title{font-size:.76rem;font-weight:700;margin-bottom:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.notif-msg{font-size:.68rem;color:var(--text2);line-height:1.4;}
.notif-time{font-size:.6rem;color:var(--text3);margin-top:3px;}
.notif-dot{width:7px;height:7px;border-radius:50%;background:var(--red);
  flex-shrink:0;margin-top:3px;}
.notif-empty{padding:30px 16px;text-align:center;font-size:.78rem;color:var(--text3);}
.notif-backdrop{position:fixed;inset:0;z-index:9988;background:transparent;}
/* ══ TASA SISTEMA (solo lectura para clientes) ══ */
.rate-system-display{
  background:var(--card2);border:1px solid var(--border2);border-radius:var(--radius-sm);
  padding:8px 12px;font-family:'JetBrains Mono',monospace;font-size:.95rem;
  color:var(--text);display:flex;align-items:center;justify-content:space-between;
  margin-bottom:4px;
}
.rate-system-label{font-size:.65rem;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.rate-system-badge{font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:10px;
  background:rgba(0,201,167,.15);color:var(--teal);}
.p2p-limit-hint{font-size:.68rem;color:var(--text3);margin-top:4px;}
/* ══ LEDGER DIAGNÓSTICO ══ */
.ldg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;}
.ldg-stat{background:var(--card2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;}
.ldg-stat.ok{border-color:rgba(0,201,167,.35);background:rgba(0,201,167,.06);}
.ldg-stat.warn{border-color:rgba(240,165,0,.35);background:rgba(240,165,0,.06);}
.ldg-stat.err{border-color:rgba(224,48,48,.35);background:rgba(224,48,48,.06);}
.ldg-stat-val{font-size:1.3rem;font-weight:800;font-family:'JetBrains Mono',monospace;line-height:1.1;}
.ldg-stat-lbl{font-size:.62rem;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;}
.ldg-ok{color:var(--teal);}
.ldg-warn{color:var(--gold);}
.ldg-err{color:var(--red);}
.ldg-row{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:.74rem;}
.ldg-row:last-child{border-bottom:none;}
.ldg-row-details{border-bottom:1px solid var(--border);}
.ldg-row-details:last-child{border-bottom:none;}
.ldg-row-details > summary{cursor:pointer;list-style:none;}
.ldg-row-details > summary::-webkit-details-marker,
.ldg-row-details > summary::marker{display:none;}
.ldg-row-details > summary.ldg-row{border-bottom:none;padding-bottom:0;}
.ldg-row-chevron{font-size:.6rem;color:var(--text3);flex-shrink:0;align-self:center;transition:transform .15s;}
.ldg-row-details[open] .ldg-row-chevron{transform:rotate(180deg);}
.ldg-row-detail{padding:0 0 10px 0;display:flex;flex-direction:column;gap:3px;}
.ldg-row-detail-field{display:flex;justify-content:space-between;gap:10px;font-size:.66rem;}
.ldg-row-detail-field>span:first-child{color:var(--text3);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;}
.ldg-row-detail-field>span:last-child{text-align:right;}
.ldg-row-detail-subtitle{font-size:.62rem;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:6px;}
.ldg-badge{font-size:.58rem;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:10px;white-space:nowrap;flex-shrink:0;}
.ldg-badge.settled{background:rgba(0,201,167,.15);color:var(--teal);}
.ldg-badge.pending{background:rgba(240,165,0,.15);color:var(--gold);}
.ldg-badge.settling{background:rgba(74,143,255,.15);color:var(--blue);}
.ldg-badge.failed{background:rgba(224,48,48,.12);color:var(--red);}
.ldg-badge.reversed{background:rgba(255,255,255,.08);color:var(--text2);}
.ldg-mono{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text2);word-break:break-all;}
.ldg-tbl{width:100%;border-collapse:collapse;font-size:.72rem;}
.ldg-tbl th{text-align:left;color:var(--text3);font-weight:700;text-transform:uppercase;font-size:.6rem;letter-spacing:.4px;padding:4px 6px;border-bottom:1px solid var(--border2);}
.ldg-tbl td{padding:5px 6px;border-bottom:1px solid var(--border);vertical-align:top;}
.ldg-tbl tr:last-child td{border-bottom:none;}
.ldg-empty{font-size:.78rem;color:var(--text3);padding:12px 0;text-align:center;}
.ldg-stat-explain{font-size:.58rem;color:var(--text3);margin-top:4px;line-height:1.3;}

/* ─ Secciones colapsables del Ledger Engine (<details class="card ldg-card-details">) ─ */
.ldg-card-details{border-left:3px solid rgba(0,201,167,.4);transition:background .15s ease;}
.ldg-card-details.ldg-alert{border-left-color:var(--red);}
.ldg-card-details[open]{background:var(--card2);}
.ldg-card-details > summary{cursor:pointer;list-style:none;}
.ldg-card-details > summary::-webkit-details-marker,
.ldg-card-details > summary::marker{display:none;}
.ldg-card-details > summary::after{
  content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;
  font-size:.62rem;color:var(--text3);transition:transform .15s ease;margin-left:auto;flex-shrink:0;
}
.ldg-card-details[open] > summary::after{transform:rotate(180deg);}
.ldg-card-summary-title{flex:1;display:flex;align-items:center;gap:8px;min-width:0;}
.ldg-card-details > summary + *{margin-top:12px;}
.ldg-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.ldg-section-hdr{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin:16px 0 8px;}

/* ══════════════════════════════════════════
   WALLET DETAIL SHEET  (Fase 2)
   Bottom sheet · Mobile first · Read-only
══════════════════════════════════════════ */
.wd-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.65);
  z-index:1100;opacity:0;pointer-events:none;
  transition:opacity .25s;
}
.wd-overlay.open{opacity:1;pointer-events:all;}
.wd-sheet{
  position:fixed;bottom:0;left:0;right:0;
  background:#111927;
  border-radius:18px 18px 0 0;
  border-top:1px solid rgba(255,255,255,.07);
  z-index:1101;
  max-height:88vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateY(100%);
  transition:transform .32s cubic-bezier(.32,.72,0,1);
}
.wd-sheet.open{transform:translateY(0);}
.wd-handle{
  width:36px;height:4px;border-radius:2px;
  background:rgba(255,255,255,.12);
  margin:12px auto 0;
}
.wd-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px 12px;
  border-bottom:1px solid rgba(255,255,255,.05);
  position:sticky;top:0;background:#111927;z-index:1;
}
.wd-header-title{font-size:.78rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;}
.wd-header-title i{color:var(--text3);font-size:.72rem;}
.wd-close{
  width:28px;height:28px;border-radius:50%;
  border:none;background:rgba(255,255,255,.07);
  color:var(--text2);cursor:pointer;font-size:.78rem;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;flex-shrink:0;
}
.wd-close:hover{background:rgba(255,255,255,.12);}
.wd-body{padding:16px 20px 48px;}
/* ─ User row ─ */
.wd-user-row{
  display:flex;align-items:center;gap:12px;
  padding-bottom:16px;margin-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.wd-avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  font-size:.92rem;color:var(--text3);
}
.wd-user-info{flex:1;min-width:0;}
.wd-username{font-size:.9rem;font-weight:700;color:var(--text);margin-bottom:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wd-email{font-size:.7rem;color:var(--text3);margin-bottom:2px;word-break:break-all;}
.wd-role{font-size:.58rem;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;font-weight:600;}
/* ─ Sections ─ */
.wd-section{margin-bottom:18px;}
.wd-section-title{
  font-size:.6rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.8px;color:var(--text3);
  margin-bottom:10px;padding-bottom:7px;
  border-bottom:1px solid rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:space-between;
}
.wd-readonly-tag{
  font-size:.57rem;font-weight:600;
  color:var(--text3);letter-spacing:.3px;
  display:flex;align-items:center;gap:4px;
  text-transform:none;
}
.wd-readonly-tag i{font-size:.55rem;}
/* ─ Secciones colapsables (<details>) ─ */
.wd-collapsible > summary{cursor:pointer;list-style:none;}
.wd-collapsible > summary::-webkit-details-marker,
.wd-collapsible > summary::marker{display:none;}
.wd-collapsible > summary::after{
  content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;
  font-size:.62rem;color:var(--text3);transition:transform .15s ease;
}
.wd-collapsible[open] > summary::after{transform:rotate(180deg);}
.wd-collapsible > summary + *{margin-top:10px;}
.wd-collapsible-badge{
  background:var(--gold);color:#000;font-size:.6rem;font-weight:700;
  border-radius:999px;padding:1px 7px;
}
/* ─ P2P: tarjetas compactas (Mis órdenes / Órdenes del sistema) ─ */
.p2p-compact-card{
  width:100%;display:flex;align-items:center;gap:12px;
  background:var(--card2);border:1px solid var(--border2);
  border-radius:var(--radius-sm);padding:13px 14px;
  cursor:pointer;font-family:'Outfit',sans-serif;text-align:left;
  transition:background .15s;
}
.p2p-compact-card:active{background:var(--border2);}
.p2p-compact-card-icon{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:rgba(0,201,167,.12);color:var(--teal);
  display:flex;align-items:center;justify-content:center;font-size:.92rem;
}
.p2p-compact-card-text{flex:1;min-width:0;}
.p2p-compact-card-title{font-size:.82rem;font-weight:700;color:var(--text);}
.p2p-compact-card-sub{font-size:.72rem;color:var(--text3);margin-top:2px;}
.p2p-compact-card-arrow{color:var(--text3);font-size:.8rem;flex-shrink:0;}
/* ─ Row list ─ */
.wd-rows{display:flex;flex-direction:column;}
.wd-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 0;border-bottom:1px solid rgba(255,255,255,.03);
  font-size:.76rem;gap:8px;
}
.wd-row:last-child{border-bottom:none;}
.wd-lbl{color:var(--text3);font-weight:500;flex-shrink:0;}
.wd-val{color:var(--text);font-weight:600;text-align:right;}
.wd-mono{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--text2);}
/* ─ Balance grid ─ */
.wd-balances{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.wd-bal-item{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:8px;padding:12px 8px;text-align:center;
}
.wd-bal-cur{font-size:.6rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.6px;color:var(--text3);margin-bottom:5px;}
.wd-bal-amt{font-size:.76rem;font-weight:700;
  font-family:'JetBrains Mono',monospace;color:var(--text);
  word-break:break-all;}

/* ══════════════════════════════════════════
   FASE 3 — WALLET LEDGER SHEET
══════════════════════════════════════════ */
.wl-list{display:flex;flex-direction:column;gap:5px;}
.wl-row{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.04);
  border-radius:8px;padding:10px 12px;
}
.wl-icon{
  width:32px;height:32px;flex-shrink:0;border-radius:50%;
  background:rgba(255,255,255,.05);
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;color:var(--text3);
}
.wl-info{flex:1;min-width:0;}
.wl-type{font-size:.65rem;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wl-date{font-size:.6rem;color:var(--text3);margin-top:1px;}
.wl-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;}
.wl-amt-brl{font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:700;color:var(--text);}
.wl-amt-ves{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--text3);}

/* ══════════════════════════════════════════
   FASE 5 — CONCILIACIÓN
══════════════════════════════════════════ */
.concil-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:6px;margin-top:4px;
}
@media(min-width:400px){.concil-grid{grid-template-columns:repeat(4,1fr);}}
.concil-cell{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  border-radius:8px;padding:10px 12px;
}
.concil-lbl{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:5px;}
.concil-num{font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:700;color:var(--text);}
.concil-badge{display:inline-block;font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.4px;}
.concil-ok  {background:rgba(0,201,167,.09);color:#00AD92;}
.concil-warn{background:rgba(200,144,32,.09);color:#B8820E;}
.concil-err {background:rgba(217,69,69,.09);color:#C84444;}
.concil-err-note{
  margin-top:8px;padding:8px 10px;font-size:.74rem;line-height:1.4;
  background:rgba(217,69,69,.07);border:1px solid rgba(217,69,69,.2);
  border-radius:8px;color:#C84444;
}
.concil-help{margin-top:6px;}
.concil-help > summary{cursor:pointer;list-style:none;font-size:.7rem;color:var(--text3);font-weight:600;}
.concil-help > summary::-webkit-details-marker,
.concil-help > summary::marker{display:none;}
.concil-help > summary::before{content:'ⓘ ';}
.concil-help p{margin-top:5px;font-size:.74rem;color:var(--text3);line-height:1.45;}

/* ══════════════════════════════════════════
   FASE 8 — AUDITORÍA
══════════════════════════════════════════ */
.audit-list{display:flex;flex-direction:column;gap:4px;}
.audit-row{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.04);
  border-radius:8px;padding:10px 12px;
}
.audit-row > summary{cursor:pointer;list-style:none;}
.audit-row > summary::-webkit-details-marker,
.audit-row > summary::marker{display:none;}
.audit-action{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;margin-bottom:5px;
  font-family:'JetBrains Mono',monospace;
  display:flex;align-items:center;justify-content:space-between;gap:6px;
}
.audit-action-chevron{font-size:.6rem;transition:transform .15s;}
.audit-row[open] .audit-action-chevron{transform:rotate(180deg);}
.audit-act-ok     {color:var(--teal);}
.audit-act-warn   {color:#C89020;}
.audit-act-err    {color:#D94545;}
.audit-act-info   {color:var(--blue);}
.audit-act-neutral{color:var(--text3);}
.audit-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.68rem;color:var(--text2);}
.audit-role-tag{font-size:.57rem;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-left:4px;}
.audit-date{font-size:.62rem;color:var(--text3);flex-shrink:0;}
.audit-detail{font-size:.63rem;color:var(--text3);margin-top:5px;font-family:'JetBrains Mono',monospace;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.audit-detail-grid{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05);
  display:flex;flex-direction:column;gap:4px;}
.audit-detail-row{display:flex;gap:8px;font-size:.66rem;font-family:'JetBrains Mono',monospace;}
.audit-detail-key{color:var(--text3);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;min-width:110px;}
.audit-detail-val{color:var(--text2);word-break:break-all;}
.audit-detail-empty{margin-top:8px;font-size:.66rem;color:var(--text3);}

/* ══════════════════════════════════════════
   FASE 9 — WALLET CLIENTE
══════════════════════════════════════════ */
.cw-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.cw-balances{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-bottom:16px;padding-bottom:2px;}
.cw-balances::-webkit-scrollbar{display:none;}
.cw-balances .cw-bal-card{flex:0 0 calc(44% - 4px);scroll-snap-align:start;}
.cw-bal-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;padding:14px 10px;text-align:center;
}
.cw-bal-cur{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:6px;}
.cw-bal-amt{font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:700;color:var(--text);word-break:break-all;}
.cw-section{margin-bottom:16px;}
.cw-section-title{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;
  color:var(--text3);margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.04);}
.wallet-history-btn{
  width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:var(--text2);display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:.86rem;transition:background .15s,color .15s,border-color .15s;
}
.wallet-history-btn:hover{background:rgba(255,255,255,.08);color:var(--text);border-color:rgba(255,255,255,.14);}
.wallet-premium-actions{display:flex;align-items:center;gap:8px;}
.wallet-home-btn{
  color:var(--teal);
  border-color:rgba(0,201,167,.22);
  background:rgba(0,201,167,.08);
}
.wallet-home-btn:hover{
  color:var(--teal);
  border-color:rgba(0,201,167,.38);
  background:rgba(0,201,167,.14);
}
.cw-accordion-head{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 0 9px;margin:0;border:0;border-bottom:1px solid rgba(255,255,255,.04);
  background:none;color:var(--text3);cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;
}
.cw-accordion-head span{display:flex;align-items:center;gap:7px;}
.cw-accordion-chevron{font-size:.62rem;transition:transform .15s ease;}
.cw-limits-accordion.open .cw-accordion-chevron{transform:rotate(180deg);}
.cw-accordion-body{padding-top:7px;}
.cw-rows{display:flex;flex-direction:column;}
.cw-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.03);font-size:.76rem;}
.cw-row:last-child{border-bottom:none;}
.cw-lbl{color:var(--text3);font-weight:500;display:flex;align-items:center;gap:6px;}
.cw-lbl i{font-size:.62rem;}
.cw-val{color:var(--text);font-weight:600;font-family:'JetBrains Mono',monospace;font-size:.72rem;}
.cw-kyc-upgrade{
  width:100%;
  margin-top:10px;padding:10px 12px;border-radius:8px;
  background:rgba(74,143,255,.07);border:1px solid rgba(74,143,255,.15);
  font-size:.7rem;color:var(--blue);display:flex;align-items:center;gap:7px;
  font-family:'Outfit',sans-serif;text-align:left;cursor:pointer;
}
.cw-kyc-upgrade:hover{background:rgba(74,143,255,.11);border-color:rgba(74,143,255,.24);}

/* ══════════════════════════════════════════
   FASE UI WALLET V2 — Dashboard / Vista BRL / Vista USDT
══════════════════════════════════════════ */
.cw-view{display:block;}
.cw-bal-clickable{cursor:pointer;transition:border-color .15s ease,background .15s ease;}
.cw-bal-clickable:hover{border-color:rgba(255,255,255,.18);}
.cw-bal-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;}
.cw-bal-link{font-size:.6rem;font-weight:700;color:var(--text2);letter-spacing:.3px;white-space:nowrap;}
.cw-quick-btn{
  font-size:.6rem;font-weight:700;letter-spacing:.3px;
  padding:5px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;white-space:nowrap;
}
.cw-quick-btn:hover{background:rgba(255,255,255,.1);}
.cw-back-btn{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.74rem;font-weight:600;color:var(--text2);
  background:none;border:none;padding:0 0 14px;margin:0;cursor:pointer;
}
.cw-back-btn:hover{color:var(--text);}
.cw-balance-solo{
  border-radius:var(--radius);padding:16px 12px;text-align:center;
  border:1px solid rgba(255,255,255,.06);margin-bottom:16px;
}
.cw-balance-solo--brl{background:var(--brl-a);border-color:rgba(45,206,139,.18);}
.cw-balance-solo--brl .cw-bal-cur,.cw-balance-solo--brl .cw-bal-amt{color:var(--brl);}
.cw-balance-solo--usdt{background:var(--usdt-a);border-color:rgba(38,192,150,.18);}
.cw-balance-solo--usdt .cw-bal-cur,.cw-balance-solo--usdt .cw-bal-amt{color:var(--usdt);}
.cw-balance-solo--ccb{background:var(--ccb-a);border-color:rgba(0,201,167,.18);}
.cw-balance-solo--ccb .cw-bal-cur,.cw-balance-solo--ccb .cw-bal-amt{color:var(--ccb);}
.cw-bal-name{font-size:.68rem;color:var(--text2);margin:-3px 0 8px;}
.cw-bal-sub{font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:700;color:var(--text2);margin-top:5px;}

/* ══════════════════════════════════════════
   CCB — Wallet V1 Fase 6 (fundación)
══════════════════════════════════════════ */
.cw-tier-badge{
  display:inline-block;padding:3px 10px;border-radius:999px;
  background:var(--ccb-a);border:1px solid rgba(0,201,167,.3);
  color:var(--ccb);font-weight:700;font-size:.68rem;letter-spacing:.4px;
  margin-top:8px;
}
.cw-tier-badge--bronze{background:rgba(205,127,50,.15);border-color:rgba(205,127,50,.4);color:#CD7F32;}
.cw-tier-badge--silver{background:rgba(192,192,192,.15);border-color:rgba(192,192,192,.4);color:#B0B8C1;}
.cw-tier-badge--gold{background:rgba(255,215,0,.15);border-color:rgba(255,215,0,.4);color:#FFD700;}
.cw-tier-badge--diamond{background:rgba(100,220,255,.15);border-color:rgba(100,220,255,.4);color:#64DCFF;}
.cw-ccb-benefits-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--text2);}

/* ══════════════════════════════════════════
   WALLET — Activos List
══════════════════════════════════════════ */
.cw-activos{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:14px;}
.cw-activos-hdr{display:flex;align-items:center;justify-content:space-between;padding:11px 14px 10px;border-bottom:1px solid var(--border);}
.cw-activos-ttl{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);display:flex;align-items:center;gap:6px;}
.cw-activos-count{background:rgba(255,255,255,.07);border-radius:5px;padding:1px 7px;font-size:.63rem;color:var(--text2);}
.cw-activo-row{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s;}
.cw-activo-row:last-child{border-bottom:none;}
.cw-activo-row:hover{background:rgba(255,255,255,.025);}
.cw-activo-icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.cw-activo-icon--brl{background:rgba(45,206,139,.12);color:var(--brl);}
.cw-activo-icon--usdt{background:rgba(38,192,150,.12);color:var(--usdt);}
.cw-activo-icon--ccb{background:rgba(0,201,167,.12);color:var(--ccb);}
.cw-activo-info{flex:1;min-width:0;}
.cw-activo-name{font-size:.88rem;font-weight:700;}
.cw-activo-sub{font-size:.7rem;color:var(--text3);margin-top:2px;}
.cw-activo-bal{text-align:right;flex-shrink:0;}
.cw-activo-amt{font-family:'JetBrains Mono',monospace;font-size:.88rem;font-weight:700;}
.cw-activo-amt--brl{color:var(--brl);}
.cw-activo-amt--usdt{color:var(--usdt);}
.cw-activo-amt--ccb{color:var(--ccb);}
.cw-activo-arrow{font-size:.65rem;color:var(--text3);}

/* ══════════════════════════════════════════
   WALLET — Coin Detail View
══════════════════════════════════════════ */
.cw-coin-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.cw-coin-back{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:var(--text);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.cw-coin-back:hover{background:rgba(255,255,255,.12);}
.cw-coin-nav-title{font-size:.92rem;font-weight:700;}
.cw-coin-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 0 26px;}
.cw-coin-icon{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:18px;}
.cw-coin-icon--ccb{background:rgba(0,201,167,.14);color:var(--ccb);border:2px solid rgba(0,201,167,.22);}
.cw-activo-coin-img{width:44px;height:44px;border-radius:50%;display:block;flex-shrink:0;}
.cw-coin-img-lg{width:100%;height:100%;border-radius:50%;display:block;}
.cw-coin-amount{font-size:2.6rem;font-weight:900;font-family:'JetBrains Mono',monospace;line-height:1.1;}
.cw-coin-sym{font-size:.82rem;font-weight:700;letter-spacing:1px;color:var(--text3);margin-top:8px;text-transform:uppercase;}
.cw-coin-actions{display:flex;justify-content:center;gap:40px;margin-bottom:28px;}
.cw-coin-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;}
.cw-coin-action-icon{width:54px;height:54px;border-radius:50%;background:rgba(0,201,167,.1);border:1.5px solid rgba(0,201,167,.2);color:var(--ccb);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:background .15s,border-color .15s;}
.cw-coin-action-btn:hover .cw-coin-action-icon{background:rgba(0,201,167,.18);}
.cw-coin-action-btn.active .cw-coin-action-icon{background:var(--ccb);color:#090E1A;border-color:var(--ccb);}
.cw-coin-action-btn span{font-size:.72rem;font-weight:600;color:var(--text2);}
.cw-coin-panel{margin-bottom:16px;background:var(--card2);border-radius:var(--radius);border:1px solid var(--border);padding:14px 12px;}
.cw-coin-history-hdr{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.04);}
.cw-history-accordion{display:block;}
.cw-history-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;}
.cw-history-accordion summary::-webkit-details-marker{display:none;}
.cw-history-accordion summary::after{
  content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;
  margin-left:auto;font-size:.62rem;color:var(--text3);transition:transform .15s ease;
}
.cw-history-accordion[open] summary::after{transform:rotate(180deg);}
.cw-history-accordion summary + *{margin-top:10px;}

/* ══════════════════════════════════════════
   FASE UI WALLET V3 — Historial profesional
══════════════════════════════════════════ */
.cw-mv-list{display:flex;flex-direction:column;gap:6px;}
.cw-mv-row{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.04);
  border-radius:8px;overflow:hidden;
}
.cw-mv-summary{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;cursor:pointer;
}
.cw-mv-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.cw-mv-type{font-weight:700;font-size:.84rem;color:var(--text);}
.cw-mv-date{font-size:.7rem;color:var(--text3);}
.cw-mv-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.cw-mv-amount{font-weight:800;font-family:'JetBrains Mono',monospace;font-size:.84rem;}
.cw-mv-status{font-size:.65rem;padding:3px 8px;border-radius:4px;font-weight:600;border:1px solid;white-space:nowrap;}
.cw-mv-chevron{font-size:.7rem;color:var(--text3);flex-shrink:0;transition:transform .15s ease;}
.cw-mv-row.expanded .cw-mv-chevron{transform:rotate(180deg);}
.cw-mv-detail{
  display:flex;flex-direction:column;gap:4px;
  padding:0 12px 10px;border-top:1px solid rgba(255,255,255,.04);
  margin-top:0;padding-top:8px;
}
.cw-mv-detail-row{
  display:flex;justify-content:space-between;gap:8px;
  font-size:.7rem;color:var(--text3);font-family:'JetBrains Mono',monospace;
}
.cw-mv-detail-row span:last-child{color:var(--text2);text-align:right;word-break:break-all;}
.cw-history-filters{
  display:flex;gap:6px;padding:2px 0 12px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.cw-history-filters::-webkit-scrollbar{display:none;}
.cw-history-filter-btn{
  flex-shrink:0;padding:7px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:var(--text3);font-size:.68rem;font-weight:700;
  font-family:'Outfit',sans-serif;cursor:pointer;white-space:nowrap;
}
.cw-history-filter-btn.active{
  background:rgba(255,255,255,.10);
  color:var(--text);border-color:rgba(255,255,255,.16);
}

/* ══════════════════════════════════════════
   FASE 10 — HISTORIAL FILTROS
══════════════════════════════════════════ */
.hist-filters{
  display:flex;gap:6px;padding:0 0 10px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.hist-filter-btn{
  flex-shrink:0;
  padding:6px 14px;border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:var(--text3);font-size:.68rem;font-weight:600;
  font-family:'Outfit',sans-serif;cursor:pointer;
  transition:all .15s;white-space:nowrap;
}
.hist-filter-btn.active{
  background:rgba(255,255,255,.10);
  color:var(--text);border-color:rgba(255,255,255,.15);
}

/* ══════════════════════════════════════════
   FINTECH NAV — scrollable en móvil
══════════════════════════════════════════ */
.fintech-nav-btns{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  min-width:0;
  max-width:100%;
}
.fintech-nav-btns::-webkit-scrollbar{display:none;}
.fintech-view-btn{flex-shrink:0;white-space:nowrap;}

/* ══════════════════════════════════════════════════════════
   FASE UX/UI PRO — CryptCambio
   Binance · Nubank · Revolut aesthetic
   Override cascade — append order wins specificity
   Solo CSS — zero logic changes
══════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────
   FASE 1 — VARIABLES GLOBALES: Bordes más sutiles,
   fondos más planos, jerarquía de color más limpia
───────────────────────────────────────────────────────── */
:root{
  --border: rgba(255,255,255,.045);
  --border2:rgba(255,255,255,.08);
  --card:   #0F1621;
  --card2:  #131D2A;
  --radius:    10px;
  --radius-sm:  7px;
  --nav-h:     58px;
  --text2: #697D90;
  --text3: #3D4E5F;
}

body::before{
  background:
    radial-gradient(ellipse 50% 28% at 5%  0%,  rgba(74,143,255,.03) 0%,transparent 60%),
    radial-gradient(ellipse 35% 22% at 95% 100%,rgba(240,165,0,.02)   0%,transparent 60%);
}

/* ─────────────────────────────────────────────────────────
   FASE 2 — SISTEMA DE CARDS unificado
───────────────────────────────────────────────────────── */
.card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius);
  padding:16px;
  margin-bottom:12px;
  box-shadow:none;
}

.card-title{
  font-size:.64rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.9px;
  color:var(--text3);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:7px;
}
.card-title i{color:var(--text3);font-size:.7rem;}

/* ─────────────────────────────────────────────────────────
   FASE 3 — HEADER limpio: menos altura, ticker elegante
───────────────────────────────────────────────────────── */
header{
  height:50px;
  padding:0 16px;
  background:rgba(8,12,23,.98);
  border-bottom:1px solid rgba(255,255,255,.04);
  backdrop-filter:blur(16px);
}
.ticker{
  padding:4px 0;
  background:rgba(8,12,23,.95);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.tick{padding:0 14px;border-right:1px solid rgba(255,255,255,.04);}
.tick-label{font-size:.6rem;color:var(--text3);letter-spacing:.4px;}
.tick-val{font-size:.76rem;letter-spacing:.2px;}

.btn-tasas{
  background:transparent;
  border:1px solid rgba(255,255,255,.06);
  color:var(--text3);
  font-size:.7rem;
  padding:5px 11px;
  border-radius:6px;
  gap:5px;
  transition:all .15s;
}
.btn-tasas:hover{border-color:rgba(0,201,167,.35);color:var(--teal);background:rgba(0,201,167,.04);}

.notif-bell-btn{
  background:transparent;
  border:1px solid rgba(255,255,255,.06);
  border-radius:6px;
  width:32px;height:32px;
  transition:all .15s;
}
.notif-bell-btn.has-unread{border-color:rgba(217,69,69,.35);background:rgba(217,69,69,.05);}

/* ─────────────────────────────────────────────────────────
   FASE 4 — BOTTOM NAV + DRAWER con categorías
───────────────────────────────────────────────────────── */
.bottom-nav{
  height:var(--nav-h);
  background:rgba(8,12,23,.98);
  border-top:1px solid rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
}
.nav-item span{font-size:.57rem;letter-spacing:.3px;}
.nav-item::after{height:2px;border-radius:2px;}

.side-drawer{background:#0A0F1A;border-left:1px solid rgba(255,255,255,.04);}
.drawer-header{padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.04);}
.drawer-logo{font-size:.88rem;color:var(--teal);}
.drawer-list{padding:6px 8px 4px;}

/* Categorías de sección */
.drawer-section-label{
  display:block;
  font-size:.56rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.1px;
  color:var(--text3);
  padding:14px 10px 4px;
}

.drawer-item{
  padding:10px 12px;
  border-radius:7px;
  font-size:.84rem;
  font-weight:500;
  gap:12px;
  color:var(--text2);
  transition:all .15s;
}
.drawer-item i{font-size:.88rem;color:var(--text3);width:18px;transition:color .15s;}
.drawer-item:hover{background:rgba(255,255,255,.04);color:var(--text);}
.drawer-item:hover i{color:var(--teal);}
.drawer-item.drawer-logout{color:#C84444;}
.drawer-item.drawer-logout i{color:#C84444;}
.drawer-item.drawer-logout:hover{background:rgba(200,68,68,.06);color:#D94545;}
.drawer-divider{background:rgba(255,255,255,.04);margin:6px 8px;}
.drawer-footer{font-size:.62rem;color:var(--text3);border-top:1px solid rgba(255,255,255,.04);padding:10px 16px 14px;}

/* ─────────────────────────────────────────────────────────
   FASE 5 — P2P: más aire, menos bordes saturados
───────────────────────────────────────────────────────── */
.p2p-banner{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);
  border-radius:var(--radius);
  padding:14px 16px;
  margin-bottom:12px;
}
.p2p-banner::before{display:none;}
.p2p-text h3{font-size:.9rem;font-weight:700;}
.p2p-text p {font-size:.72rem;color:var(--text3);margin-top:2px;}
.p2p-status{background:rgba(0,201,167,.06);border:1px solid rgba(0,201,167,.14);font-size:.6rem;padding:3px 10px;}

.p2p-order-card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  margin-bottom:7px;
}
.p2p-order-card::before{width:2px;background:rgba(0,201,167,.35);}

.p2p-pay-summary{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.055);
  border-radius:var(--radius);
  padding:16px;
  margin-bottom:16px;
}
.p2p-pay-amount{font-size:1.8rem;font-weight:800;}

.payment-opt{border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:11px;}
.payment-opt.selected{border-color:rgba(0,201,167,.28);background:rgba(0,201,167,.05);}

/* ─────────────────────────────────────────────────────────
   FASE 6 — CAMBIAR: Binance Convert aesthetic
───────────────────────────────────────────────────────── */
.op-toggle{gap:6px;margin-bottom:14px;}
.op-btn{
  padding:11px;border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
  font-size:.84rem;font-weight:700;
  transition:all .15s;
}
.op-btn.active-compro{border-color:rgba(0,201,167,.28);background:rgba(0,201,167,.07);color:var(--teal);}
.op-btn.active-vendo {border-color:rgba(217,69,69,.28);background:rgba(217,69,69,.07);color:#D94545;}
.trade-action-toggle{margin:12px 0 0;}
.quick-trade-feedback{
  min-height:20px;
  margin-top:8px;
  font-size:.82rem;
  line-height:1.4;
  color:var(--text3);
}
.quick-trade-feedback.error{color:var(--red);}
.quick-trade-feedback.info{color:var(--text2);}
.trade-pair-select{position:relative;margin-bottom:12px;}
.trade-pair-trigger{
  width:100%;display:flex;align-items:center;gap:10px;
  padding:13px 14px;border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius-sm);background:rgba(255,255,255,.025);
  color:var(--text);font-family:'Outfit',sans-serif;cursor:pointer;
  text-align:left;transition:border-color .15s,background .15s;
}
.trade-pair-trigger.open,
.trade-pair-trigger:hover{border-color:rgba(0,201,167,.28);background:rgba(0,201,167,.045);}
.trade-pair-main{
  display:flex;align-items:center;gap:7px;
  font-size:1.05rem;font-weight:800;letter-spacing:.2px;white-space:nowrap;
}
.trade-pair-main .cur-icon,.trade-pair-option .cur-icon{width:24px;height:24px;}
.trade-pair-slash{color:var(--text3);font-weight:600;}
.trade-pair-price{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--text3);font-size:.78rem;font-weight:600;margin-left:4px;
}
.trade-pair-chevron{
  margin-left:auto;color:var(--text3);font-size:.72rem;transition:transform .15s;
}
.trade-pair-trigger.open .trade-pair-chevron{transform:rotate(180deg);}
.trade-pair-menu{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:18;
  background:#0B111C;border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-sm);overflow:hidden;
  box-shadow:0 18px 38px rgba(0,0,0,.28);
}
.trade-pair-option{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.045);
  background:transparent;color:var(--text2);font-family:'Outfit',sans-serif;
  cursor:pointer;text-align:left;
}
.trade-pair-option:last-child{border-bottom:0;}
.trade-pair-option span{display:flex;align-items:center;gap:7px;font-size:.92rem;font-weight:800;color:var(--text);}
.trade-pair-option small{
  color:var(--text3);font-size:.68rem;font-weight:700;white-space:nowrap;
}
.trade-pair-option.active{background:rgba(0,201,167,.07);}
.trade-pair-option.active span,.trade-pair-option.active small{color:var(--teal);}
.tf-btn{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:var(--text3);border-radius:4px;padding:3px 9px;font-size:.65rem;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.3px;}
.tf-btn:hover{border-color:rgba(0,201,167,.4);color:var(--teal);}
.tf-btn.active{border-color:rgba(0,201,167,.5);background:rgba(0,201,167,.1);color:var(--teal);}

.currency-pills{gap:6px;}
.pill{
  padding:7px 13px;border-radius:6px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
  font-size:.78rem;font-weight:600;color:var(--text2);
  transition:all .15s;
}
.pill.active{background:rgba(0,201,167,.07);border-color:rgba(0,201,167,.22);color:var(--teal);}

.amount-wrap{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-sm);
  margin-bottom:10px;
}
.amount-wrap:focus-within{border-color:rgba(255,255,255,.12);}
.amount-input{font-size:1.55rem;padding:12px 0;font-weight:600;}
.amount-currency{color:var(--text3);font-size:.8rem;}

.conv-row{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);
  border-radius:var(--radius-sm);
  padding:12px 14px;margin-bottom:14px;
}
.conv-row-title{color:var(--text3);font-size:.62rem;}
.conv-select{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:7px;font-size:.84rem;font-weight:600;
}
.conv-select:focus{border-color:rgba(255,255,255,.12);}
.conv-swap-btn{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  width:32px;height:32px;border-radius:50%;
  color:var(--teal);
}
.conv-swap-btn:active{background:rgba(0,201,167,.1);border-color:rgba(0,201,167,.25);transform:rotate(180deg);}
.conv-result-val{font-size:1.4rem;color:var(--teal);font-weight:700;}
.conv-result-row{padding-top:10px;border-top:1px solid rgba(255,255,255,.04);}

/* ─────────────────────────────────────────────────────────
   FASE 7 — HISTORIAL: empty state elegante
───────────────────────────────────────────────────────── */
.empty-state{padding:44px 20px;gap:9px;align-items:center;}
.empty-icon{
  width:54px;height:54px;border-radius:50%;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  font-size:1.1rem;color:var(--text3);
  margin-bottom:2px;
}
.empty-title{font-size:.86rem;font-weight:600;color:var(--text2);text-align:center;}
.empty-sub  {font-size:.74rem;color:var(--text3);text-align:center;max-width:210px;line-height:1.55;}

.op-card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius-sm);
  box-shadow:none;
  margin-bottom:8px;
}
.op-amount-main{font-family:'JetBrains Mono',monospace;font-size:.9rem;font-weight:700;}

/* ─────────────────────────────────────────────────────────
   FASE 8 — RANKING: medallas top 3 via CSS, estilo moderno
───────────────────────────────────────────────────────── */
.rank-tabs{gap:5px;padding-bottom:4px;}
.rank-tab{
  padding:6px 11px;border-radius:6px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
  color:var(--text3);font-size:.67rem;font-weight:600;
  transition:all .15s;
}
.rank-tab.active{background:rgba(0,201,167,.07);border-color:rgba(0,201,167,.2);color:var(--teal);}

.rank-item{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius-sm);
  padding:11px 13px;margin-bottom:6px;
  transition:border-color .15s;
}
#rankingList>div:nth-child(1){border-color:rgba(255,196,0,.18);background:rgba(255,196,0,.012);}
#rankingList>div:nth-child(2){border-color:rgba(190,195,205,.12);}
#rankingList>div:nth-child(3){border-color:rgba(176,96,32,.18);background:rgba(176,96,32,.012);}

.rank-pos{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:800;
  color:var(--text);background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#rankingList>div:nth-child(1) .rank-pos{color:#f5c451;border-color:rgba(245,196,81,.28);background:rgba(245,196,81,.08);}
#rankingList>div:nth-child(2) .rank-pos{color:#c8d0dc;border-color:rgba(200,208,220,.22);background:rgba(200,208,220,.06);}
#rankingList>div:nth-child(3) .rank-pos{color:#c9905a;border-color:rgba(201,144,90,.24);background:rgba(201,144,90,.07);}
.rank-name {font-size:.86rem;font-weight:700;}
.rank-meta {font-size:.65rem;color:var(--text3);}
.rank-score{font-size:.86rem;font-weight:700;color:var(--teal);}

.points-hero{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  padding:16px;
}
.points-value{font-size:1.8rem;}

/* ─────────────────────────────────────────────────────────
   FASE 9 — FINTECH: módulos visualmente separados
   (ya mejorado, refinamientos adicionales)
───────────────────────────────────────────────────────── */
.fintech-section{margin-bottom:8px;}
.fintech-section-label{margin:16px 0 10px;}

/* ─────────────────────────────────────────────────────────
   FASE 10 — LEDGER: vista ejecutiva limpia
───────────────────────────────────────────────────────── */
.ldg-grid{gap:6px;margin-bottom:10px;}
.ldg-stat{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.04);
  border-radius:8px;padding:12px 14px;
}
.ldg-stat.ok  {border-color:rgba(0,201,167,.2); background:rgba(0,201,167,.03);}
.ldg-stat.warn{border-color:rgba(200,144,32,.18);background:rgba(200,144,32,.03);}
.ldg-stat.err {border-color:rgba(217,69,69,.18); background:rgba(217,69,69,.03);}
.ldg-stat-val {font-size:1.2rem;font-weight:800;}
.ldg-stat-lbl {font-size:.6rem;margin-top:1px;}
.ldg-row{padding:6px 0;font-size:.72rem;}
.ldg-tbl th{font-size:.58rem;padding:3px 5px;}
.ldg-tbl td {font-size:.7rem;padding:4px 5px;}

/* Responsive móvil — Ledger Engine: nada se corta en viewports chicos (375px+).
   Desktop (>768px) queda exactamente igual. */
@media (max-width:768px){
  .ldg-grid{grid-template-columns:1fr;}
  .ldg-stat-val{white-space:nowrap;overflow:hidden;}
  .ldg-stat-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ldg-tbl-wrap{overflow-x:auto;}
  .ldg-tbl{min-width:480px;}
}

/* ─────────────────────────────────────────────────────────
   TESORERÍA — Libro de Caja (bolsillos BRL/USDT): tabla completa en
   desktop, cards verticales en móvil — ambas se renderizan siempre en
   el HTML, este media query decide cuál se muestra (sin JS de resize).
───────────────────────────────────────────────────────── */
.trsldg-cards{display:none;}
.trsldg-card{
  border:1px solid var(--border2,#1f2937);
  border-radius:8px;
  padding:8px 10px;
  margin-bottom:6px;
  font-size:.78rem;
}
.trsldg-card-top{color:var(--text3);font-size:.7rem;margin-bottom:2px;}
.trsldg-card-desc{color:var(--text1);margin-bottom:4px;}
.trsldg-card-amount{font-weight:700;font-family:'JetBrains Mono',monospace;}
.trsldg-card-saldo{color:var(--text3);font-size:.72rem;font-family:'JetBrains Mono',monospace;}

@media (max-width:768px){
  .trsldg-table-wrap{display:none;}
  .trsldg-cards{display:block;}
}

/* ─────────────────────────────────────────────────────────
   FASE 11 — CHAT: burbujas estilo Telegram/Revolut
───────────────────────────────────────────────────────── */
.chat-wrap{
  height:calc(100vh - var(--nav-h) - 116px);
  height:calc(100dvh - var(--nav-h) - env(safe-area-inset-bottom,0px) - 116px);
}
.chat-messages{padding:10px 0;}
.chat-msg{margin-bottom:10px;}
.chat-msg-bubble{
  padding:9px 13px;
  border-radius:14px;
  font-size:.84rem;
  line-height:1.45;
  max-width:76%;
}
.chat-msg.me .chat-msg-bubble{
  background:var(--teal);
  color:#071214;
  border-radius:16px 16px 4px 16px;
  font-weight:500;
}
.chat-msg.other .chat-msg-bubble{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.06);
  color:var(--text);
  border-radius:4px 16px 16px 16px;
}
.chat-msg-meta{font-size:.62rem;color:var(--text3);gap:5px;margin-bottom:4px;}
.role-badge-sm{
  font-size:.57rem;padding:1px 5px;border-radius:3px;
  background:rgba(255,255,255,.06);color:var(--text3);
}
.chat-input-row{padding:8px 0 2px;border-top:1px solid rgba(255,255,255,.04);gap:8px;padding-bottom:calc(2px + env(safe-area-inset-bottom,0px));}
.chat-input{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;font-size:.84rem;
  padding:9px 16px;transition:border-color .15s;
}
.chat-input:focus{border-color:rgba(255,255,255,.12);box-shadow:none;}
.chat-send-btn{
  width:38px;height:38px;border-radius:50%;
  background:var(--teal);box-shadow:none;
  font-size:.84rem;transition:opacity .15s;
}
.chat-send-btn:active{opacity:.8;transform:scale(.95);box-shadow:none;}

/* ─────────────────────────────────────────────────────────
   FASE 12 — MI CUENTA: avatar + layout fintech
───────────────────────────────────────────────────────── */
.account-grid{gap:10px;}
.user-avatar{
  width:44px;height:44px;
  background:linear-gradient(135deg,rgba(74,143,255,.5),rgba(0,201,167,.5));
  border:1px solid rgba(255,255,255,.1);
}
.profile-row{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius);
  padding:14px 16px;
}

/* ─────────────────────────────────────────────────────────
   GLOBAL POLISH — eliminar glows, unificar controles
───────────────────────────────────────────────────────── */

/* Botón primario: sin shimmer animado, Revolut flat */
.btn-primary{
  background:var(--teal) !important;
  background-image:none !important;
  animation:none !important;
  background-size:auto !important;
  box-shadow:none !important;
  border-radius:var(--radius-sm);
  font-weight:700;
  letter-spacing:.2px;
  padding:13px;
  transition:opacity .15s,transform .1s;
}
.btn-primary:hover {opacity:.92;box-shadow:none !important;}
.btn-primary:active{transform:scale(.98);opacity:.85;box-shadow:none !important;}

/* Rate save btn */
.rate-save-btn{
  background:var(--teal) !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:var(--radius-sm);
  color:#071214;font-weight:700;
  transition:opacity .15s;
}
.rate-save-btn:hover{opacity:.9;box-shadow:none !important;}

/* Form controls */
.form-control{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-sm);
  font-size:.88rem;padding:11px 13px;
  transition:border-color .15s;
}
.form-control:focus{border-color:rgba(255,255,255,.14);}

.form-label{
  font-size:.63rem;color:var(--text3);
  font-weight:600;margin-bottom:6px;letter-spacing:.5px;
}
.form-label i{color:var(--text3);}

/* Login card */
.login-card{
  background:rgba(10,15,26,.92);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  box-shadow:0 20px 50px rgba(0,0,0,.4);
  padding:22px 20px;
}
.input-field input:focus{
  border-color:rgba(255,255,255,.14);
  box-shadow:none;
}

/* Section labels */
.section-label{
  font-size:.6rem;color:var(--text3);
  font-weight:700;letter-spacing:.8px;
  text-transform:uppercase;padding:10px 0 5px;
  display:flex;align-items:center;gap:6px;
}
.section-label i{color:var(--text3);font-size:.62rem;}

/* Operator select */
.op-select-card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius);padding:12px 14px;
}
.op-select-card.recommended{
  border-color:rgba(0,201,167,.18);
  background:rgba(0,201,167,.02);
}
.op-select-btn{
  background:var(--teal) !important;
  border:none !important;box-shadow:none !important;
  border-radius:var(--radius-sm);
  color:#071214;font-weight:700;
}

/* Status badges — más planas */
.p2p-order-status{border-radius:4px;font-size:.6rem;padding:2px 7px;}
.status-pending   {background:rgba(200,144,32,.09);color:#C89020;}
.status-done      {background:rgba(0,201,167,.09); color:#00AD92;}
.status-processing{background:rgba(74,143,255,.09);color:#4A7FE0;}
.status-cancelled {background:rgba(217,69,69,.09); color:#C84444;}

/* Notif panel */
.notif-panel{background:#0B1019;border:1px solid rgba(255,255,255,.06);}
.notif-item{border-bottom:1px solid rgba(255,255,255,.04);}
.notif-item.unread{background:rgba(255,255,255,.02);}

/* Pending badge */
.pending-badge{
  background:rgba(217,69,69,.12);color:#D94545;
  border-radius:20px;padding:1px 8px;font-size:.6rem;font-weight:700;
}

/* Rate system display */
.rate-system-display{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
}

/* KYC admin actions - Congelar/Descongelar más profesional */
.kyc-action-btn:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:var(--text);
}

/* Helper text */
.helper-text{font-size:.7rem;color:var(--text3);margin-top:5px;}

/* Toggle user buttons */
.toggle-user-btn{border-radius:var(--radius-sm) !important;font-size:.72rem;font-weight:700;}

/* Support / tickets */
.support-ticket,.ticket-card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius-sm);
  box-shadow:none;
}

/* P2P operator card actions */
.op-select-secondary-row{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:10px 0 9px;
}
.op-select-secondary-btn{
  flex:1;
  max-width:148px;
  min-height:32px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:var(--text2);
  border-radius:var(--radius-sm);
  font-family:'Outfit',sans-serif;
  font-size:.74rem;
  font-weight:700;
  cursor:pointer;
  transition:border-color .18s,background .18s,color .18s;
}
.op-select-secondary-btn:hover{
  border-color:rgba(0,201,167,.28);
  background:rgba(0,201,167,.06);
  color:var(--text);
}
.op-select-btn{
  width:90%;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.operator-info-overlay{
  position:fixed;
  inset:0;
  z-index:1300;
  display:flex;
  align-items:flex-end;
}
.operator-info-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.62);
}
.operator-info-sheet{
  position:relative;
  width:100%;
  max-height:82vh;
  overflow-y:auto;
  padding:16px 18px 28px;
  border-radius:20px 20px 0 0;
  border-top:1px solid rgba(255,255,255,.08);
  background:#080C17;
  box-shadow:0 -18px 50px rgba(0,0,0,.42);
}
.operator-info-handle{
  width:42px;
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  margin:0 auto 16px;
}
.operator-info-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.operator-info-title{
  color:var(--text);
  font-size:1rem;
  font-weight:800;
}
.operator-info-sub{
  margin-top:3px;
  color:var(--text3);
  font-size:.74rem;
}
.operator-info-close{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.035);
  color:var(--text2);
  cursor:pointer;
}
.operator-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.operator-info-metric{
  min-height:76px;
  padding:12px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.025);
}
.operator-info-metric span{
  display:block;
  color:var(--text3);
  font-size:.68rem;
  font-weight:700;
}
.operator-info-metric strong{
  display:block;
  margin-top:8px;
  color:var(--text);
  font-size:.92rem;
  line-height:1.2;
}
.operator-review-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
.operator-review-summary span{
  padding:6px 9px;
  border:1px solid rgba(0,201,167,.18);
  border-radius:999px;
  background:rgba(0,201,167,.05);
  color:var(--teal);
  font-size:.7rem;
  font-weight:800;
}
.operator-review-summary.muted{
  color:var(--text3);
  font-size:.78rem;
}
.operator-review-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.operator-review-item,.operator-review-empty{
  padding:12px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.025);
}
.operator-review-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--text);
  font-size:.78rem;
}
.operator-review-top span,.operator-review-client{
  color:var(--text3);
  font-size:.68rem;
}
.operator-review-item p{
  margin:9px 0 8px;
  color:var(--text2);
  font-size:.78rem;
  line-height:1.45;
}
.operator-review-empty{
  color:var(--text2);
  font-size:.8rem;
  line-height:1.45;
}
.operator-review-empty span{
  display:block;
  margin-top:6px;
  color:var(--text3);
}
@media (max-width:390px){
  .operator-info-grid{grid-template-columns:1fr;}
}

/* Redemption cards */
.redemption-card,.redemption-item{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius-sm);
}

/* P2P limit hint */
.p2p-limit-hint{font-size:.66rem;color:var(--text3);margin-top:3px;}

/* Smooth focus for all inputs — no glow */
input:focus,select:focus,textarea:focus{
  outline:none;
  box-shadow:none;
}

/* ─────────────────────────────────────────────────────────
   DRAWER SECTION CSS — .drawer-section-label
   (populated by updated buildNav — visual only)
───────────────────────────────────────────────────────── */
/* ya definido arriba */

/* ══════════════════════════════════════════════════════════
   FASES UX PREMIUM 13–20
   CryptCambio Fintech Professional
══════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────
   FASE 15 — IDENTIDAD VISUAL CRYPTCAMBIO
   Colores propios BRL · USDT · VES
───────────────────────────────────────────────────────── */
:root{
  --brl:  #2DCE8B;          /* BRL — verde esmeralda */
  --usdt: #26C096;          /* USDT — teal profundo */
  --ves:  #E85858;          /* VES — coral venezolano */
  --ccb:  #00C9A7;          /* CCB — turquesa */
  --brl-a: rgba(45,206,139,.1);
  --usdt-a:rgba(38,192,150,.1);
  --ves-a: rgba(232,88,88,.1);
  --ccb-a: rgba(0,201,167,.1);
  --cc-brand:#00C9A7;       /* CryptCambio signature teal */
  --cc-accent:#4A8FFF;      /* accent blue */
}

/* ─────────────────────────────────────────────────────────
   FASE 13 — DASHBOARD EJECUTIVO
───────────────────────────────────────────────────────── */
.exec-hdr{
  display:flex;align-items:flex-start;
  justify-content:space-between;
  padding:6px 0 18px;
}
.exec-hdr-title{
  font-size:1.45rem;font-weight:800;
  color:var(--text);letter-spacing:-.4px;line-height:1;
}
.exec-hdr-date{
  font-size:.68rem;color:var(--text3);
  margin-top:5px;font-weight:500;letter-spacing:.2px;
}
.exec-sys-badge{
  display:flex;align-items:center;gap:5px;
  font-size:.6rem;font-weight:700;
  color:var(--cc-brand);
  background:rgba(0,201,167,.06);
  border:1px solid rgba(0,201,167,.14);
  border-radius:20px;padding:4px 10px;flex-shrink:0;
}
.exec-sys-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--cc-brand);
  animation:blink 2.5s infinite;
}

/* KPI Hero */
.exec-kpi-hero{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.055);
  border-radius:var(--radius);
  padding:20px 20px 18px;
  margin-bottom:10px;
  position:relative;overflow:hidden;
}
.exec-kpi-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 70% at 0% 50%,rgba(74,143,255,.04),transparent 60%);
}
.exec-kpi-lbl{
  font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.8px;
  color:var(--text3);margin-bottom:8px;
  display:flex;align-items:center;gap:6px;
}
.exec-kpi-lbl i{color:var(--cc-accent);font-size:.68rem;}
.exec-kpi-num{
  font-family:'JetBrains Mono',monospace;
  font-size:2.4rem;font-weight:800;
  color:var(--text);line-height:1;letter-spacing:-.5px;
}
.exec-kpi-sub{
  font-size:.68rem;color:var(--text3);margin-top:6px;
}

/* Supporting KPIs — compact 3-col */
#tab-hoy .stat-grid-3{margin-bottom:10px;}
#tab-hoy .stat-grid-3 .stat-box{padding:12px 14px;}
#tab-hoy .stat-grid-3 .stat-box-val{font-size:1.15rem;}

/* op-card refinements */
.op-card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.045);
  border-radius:var(--radius-sm);
  padding:12px 14px;margin-bottom:7px;
  box-shadow:none;
}
.op-icon{border-radius:8px;}
.op-icon.compro{background:rgba(74,143,255,.1);color:var(--blue);}
.op-icon.vendo {background:rgba(240,165,0,.1); color:var(--gold);}
.op-name{font-size:.86rem;font-weight:600;}
.op-meta{font-size:.7rem;color:var(--text3);margin-top:1px;}
.op-amount-main{font-family:'JetBrains Mono',monospace;font-size:.88rem;font-weight:700;}
.op-amount-sub {font-size:.68rem;color:var(--text3);margin-top:1px;}

/* ─────────────────────────────────────────────────────────
   FASE 14 — EMPTY STATES PROFESIONALES
───────────────────────────────────────────────────────── */
.empty-state{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:48px 20px;gap:10px;
  text-align:center;
}
.empty-icon{
  width:58px;height:58px;border-radius:50%;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;color:var(--text3);
  margin-bottom:4px;flex-shrink:0;
}
.empty-title{
  font-size:.88rem;font-weight:700;
  color:var(--text2);letter-spacing:.1px;
}
.empty-sub{
  font-size:.74rem;color:var(--text3);
  max-width:220px;line-height:1.55;
}

/* ─────────────────────────────────────────────────────────
   FASE 16 — WALLET PREMIUM
   Binance Funding Wallet aesthetic
───────────────────────────────────────────────────────── */

/* Header premium del tab-wallet */
.wallet-premium-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 0 18px;
}
.wallet-premium-title{
  font-size:1.2rem;font-weight:800;color:var(--text);
  display:flex;align-items:center;gap:8px;letter-spacing:-.2px;
}
.wallet-premium-title i{color:var(--cc-brand);font-size:1rem;}

/* Balance cards con identidad BRL/USDT/VES */
.cw-balances{gap:8px;margin-bottom:14px;}
.cw-bal-card{
  border-radius:var(--radius);
  padding:16px 12px;text-align:center;
}

/* BRL — 1er hijo */
.cw-balances .cw-bal-card:nth-child(1){
  background:var(--brl-a);
  border-color:rgba(45,206,139,.18);
}
.cw-balances .cw-bal-card:nth-child(1) .cw-bal-cur{color:var(--brl);}
.cw-balances .cw-bal-card:nth-child(1) .cw-bal-amt{color:var(--brl);}

/* USDT — 2do hijo */
.cw-balances .cw-bal-card:nth-child(2){
  background:var(--usdt-a);
  border-color:rgba(38,192,150,.18);
}
.cw-balances .cw-bal-card:nth-child(2) .cw-bal-cur{color:var(--usdt);}
.cw-balances .cw-bal-card:nth-child(2) .cw-bal-amt{color:var(--usdt);}

/* CCB — 3er hijo */
.cw-balances .cw-bal-card:nth-child(3){
  background:var(--ccb-a);
  border-color:rgba(0,201,167,.18);
}
.cw-balances .cw-bal-card:nth-child(3) .cw-bal-cur{color:var(--ccb);}
.cw-balances .cw-bal-card:nth-child(3) .cw-bal-amt{color:var(--ccb);}

.cw-bal-cur{font-size:.62rem;font-weight:800;letter-spacing:.8px;margin-bottom:7px;}
.cw-bal-amt{font-size:.82rem;font-weight:800;}
.cw-section-title{margin-bottom:11px;}

/* ─────────────────────────────────────────────────────────
   FASE 17 — LEDGER EJECUTIVO
───────────────────────────────────────────────────────── */
.ldg-exec-banner{
  padding:0 0 14px;margin-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.ldg-exec-title{
  font-size:1.1rem;font-weight:800;color:var(--text);
  display:flex;align-items:center;gap:8px;letter-spacing:-.2px;
}
.ldg-exec-title i{color:var(--cc-brand);font-size:.9rem;}
.ldg-exec-sub{
  font-size:.66rem;color:var(--text3);margin-top:4px;
  letter-spacing:.2px;
}

/* Stat boxes del resumen ejecutivo — más grandes */
#ldgSummary .ldg-stat-val{font-size:1.55rem;font-weight:900;}
#ldgSummary .ldg-stat{padding:14px;}

/* ─────────────────────────────────────────────────────────
   FASE 18 — FINTECH EXECUTIVE
───────────────────────────────────────────────────────── */
/* stat-box dentro de fintech — identidad BRL/USDT/VES */
.fintech-section .stat-box.teal .stat-box-val{color:var(--brl);}

/* Sección labels más limpios */
.fintech-section-label i{font-size:.65rem;}

/* ─────────────────────────────────────────────────────────
   FASE 19 — TICKER PROFESIONAL
───────────────────────────────────────────────────────── */
.ticker{
  position:relative;
  padding:5px 0;
}
/* Gradient fade masks en los bordes */
.ticker::before,.ticker::after{
  content:'';
  position:absolute;top:0;bottom:0;
  width:48px;z-index:1;pointer-events:none;
}
.ticker::before{
  left:0;
  background:linear-gradient(to right,var(--bg) 0%,transparent 100%);
}
.ticker::after{
  right:0;
  background:linear-gradient(to left,var(--bg) 0%,transparent 100%);
}

.tick{
  gap:6px;padding:0 16px;
  border-right:1px solid rgba(255,255,255,.035);
}
.tick-label{
  font-size:.58rem;color:var(--text3);
  text-transform:uppercase;letter-spacing:.5px;
}
.tick-val{
  font-family:'JetBrains Mono',monospace;
  font-size:.74rem;font-weight:600;color:var(--text2);
}
.tick-up  {color:var(--brl);font-size:.62rem;font-weight:700;}
.tick-down{color:var(--ves);font-size:.62rem;font-weight:700;}

/* ─────────────────────────────────────────────────────────
   FASE 20 — PERFIL PREMIUM
───────────────────────────────────────────────────────── */
.profile-hero-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  border-radius:var(--radius);
  padding:18px 16px;margin-bottom:12px;
  position:relative;overflow:hidden;
}
.profile-hero-card::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 120% 80% at 95% -10%,rgba(0,201,167,.05),transparent 60%);
}

/* user-avatar más grande y refinado */
.user-avatar{
  width:48px;height:48px;
  background:linear-gradient(135deg,rgba(0,201,167,.6),rgba(74,143,255,.6));
  border:2px solid rgba(255,255,255,.1);
  font-size:.88rem;
  box-shadow:0 4px 14px rgba(0,201,167,.12);
}
.profile-row{
  background:transparent;border:none;
  padding:0;margin-bottom:12px;
}
.profile-avatar-wrap{
  position:relative;
  flex:0 0 auto;
}
.profile-avatar-wrap .user-avatar{
  overflow:hidden;
}
.profile-avatar-wrap .user-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.profile-photo-input{display:none;}
.profile-photo-action{
  position:absolute;
  right:-4px;
  bottom:-4px;
  width:24px;
  height:24px;
  border-radius:50%;
  border:2px solid var(--card);
  background:var(--teal);
  color:#06111b;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.66rem;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
}
.user-name{font-size:.92rem;font-weight:800;letter-spacing:-.1px;}
.user-meta{font-size:.7rem;color:var(--text3);gap:6px;margin-top:5px;}

.role-badge{border-radius:5px;font-size:.58rem;padding:2px 7px;}
.role-admin   {background:rgba(74,143,255,.1); color:var(--blue);}
.role-operator{background:rgba(240,165,0,.1);  color:var(--gold);}
.role-client  {background:rgba(0,201,167,.1);  color:var(--teal);}

/* Logout button estilo Revolut */
.btn-logout-premium{
  width:100%;padding:11px 16px;
  background:transparent;
  border:1px solid rgba(217,69,69,.25);
  border-radius:var(--radius-sm);
  color:#D94545;font-size:.82rem;font-weight:700;
  font-family:'Outfit',sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:all .15s;
}
.btn-logout-premium:hover{
  background:rgba(217,69,69,.07);
  border-color:rgba(217,69,69,.4);
}

/* Ghost secondary button */
.btn-ghost-secondary{
  background:transparent;
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-sm);
  color:var(--text3);font-size:.78rem;font-weight:600;
  font-family:'Outfit',sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 16px;transition:all .15s;
}
.btn-ghost-secondary:hover{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.1);
  color:var(--text2);
}

/* ─────────────────────────────────────────────────────────
   POLISH GLOBAL ADICIONAL
───────────────────────────────────────────────────────── */

/* Reputation pill en perfil */
.reputation-pill{
  font-size:.6rem;font-weight:700;
  background:rgba(0,201,167,.1);
  color:var(--cc-brand);
  border-radius:4px;padding:1px 7px;
  display:inline-flex;align-items:center;gap:4px;
}

/* Section label con divider */
.section-label{
  border-bottom:1px solid rgba(255,255,255,.04);
  padding-bottom:8px;margin-bottom:10px;
}

/* Historial op-card sin fondo saturado */
#historialList .op-card{gap:10px;}
#historialList .op-icon{
  background:rgba(255,255,255,.05) !important;
  color:var(--text3) !important;
}
#historialList .hist-op-card{
  cursor:default;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:flex-start;
}
#historialList .hist-op-card .op-info{min-width:0;}
.hist-op-side{
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
  min-width:126px;
}
.hist-detail-btn{
  border:1px solid var(--border2);
  background:rgba(255,255,255,.04);
  color:var(--text2);
  border-radius:7px;
  padding:6px 9px;
  font-family:'Outfit',sans-serif;
  font-size:.68rem;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.hist-detail-btn:hover,.hist-detail-btn:focus{
  border-color:var(--teal);
  color:var(--teal);
  background:rgba(0,201,167,.08);
  outline:none;
}
.hist-rating-box{
  /* Span todas las columnas del grid de hist-op-card */
  grid-column:1 / -1;
  margin-top:6px;
  padding:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.035);
  border-radius:10px;
}
.hist-rating-title{
  font-size:.72rem;
  color:var(--text2);
  font-weight:800;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.hist-rating-options{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.hist-rating-options .rating-btn{
  min-height:38px;
  min-width:52px;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
}
.rating-btn.selected{
  border-color:var(--teal);
  background:rgba(0,201,167,.13);
  color:var(--teal);
}
.rating-btn:disabled{
  cursor:not-allowed;
  opacity:.72;
}
.rating-btn.selected:disabled{opacity:1;}
.hist-rating-submit{
  width:100%;
  margin-top:8px;
  border:none;
  border-radius:8px;
  padding:9px 10px;
  background:linear-gradient(135deg,var(--teal),#00906e);
  color:#090E1A;
  font-family:'Outfit',sans-serif;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
}
.hist-rating-submit:disabled{opacity:.55;cursor:not-allowed;}
.hist-rating-done{
  font-size:.68rem;
  color:var(--teal);
  font-weight:800;
  margin-top:6px;
}
.p2p-detail-review-box{
  margin-top:14px;
}
.p2p-review-comment{
  margin-top:8px;
  padding:9px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:var(--text2);
  font-size:.74rem;
  line-height:1.35;
}
.hist-rating-edit-btn{
  margin-top:10px;
  border:1px solid var(--border2);
  background:rgba(255,255,255,.04);
  color:var(--text2);
  border-radius:7px;
  padding:7px 10px;
  font-family:'Outfit',sans-serif;
  font-size:.7rem;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.hist-rating-edit-btn:hover,.hist-rating-edit-btn:focus{
  border-color:var(--teal);
  color:var(--teal);
  background:rgba(0,201,167,.08);
  outline:none;
}
@media (max-width:560px){
  #historialList .hist-op-card{
    grid-template-columns:auto minmax(0,1fr);
  }
  #historialList .hist-op-side{
    grid-column:1 / -1;
    width:100%;
    min-width:0;
    align-items:stretch;
    text-align:left;
  }
  #historialList .hist-op-side .op-amount-main,
  #historialList .hist-op-side .op-amount-sub{
    text-align:left;
  }
  #historialList .hist-rating-box{
    box-sizing:border-box;
  }
}

/* Fintech tabs — pill mas ajustado */
.fintech-view-btn{padding:5px 11px;font-size:.66rem;}

/* stat-box en fintech dashboard */
.fintech-section .stat-box{padding:12px 14px;}

/* Admin tabs mas limpios */
.rank-tabs{flex-wrap:wrap;}

/* P2P payment amount grande */
.p2p-pay-amount{
  font-family:'JetBrains Mono',monospace;
  font-size:1.9rem;font-weight:800;
  color:var(--text);letter-spacing:-.3px;
  line-height:1;
}
.p2p-pay-sub{font-size:.78rem;color:var(--text3);margin-top:4px;}
.p2p-pay-recipient{
  margin-top:12px;display:flex;flex-direction:column;gap:5px;
  border-top:1px solid rgba(255,255,255,.04);padding-top:12px;
}
.p2p-pay-recipient span{font-size:.78rem;color:var(--text2);display:flex;align-items:center;gap:8px;}
.p2p-pay-recipient i{color:var(--text3);width:14px;}

.pix-dynamic-block{display:flex;flex-direction:column;gap:10px;}
.pix-status-pill{
  align-self:flex-start;
  font-size:.62rem;
  color:var(--gold);
  background:rgba(240,165,0,.1);
  border:1px solid rgba(240,165,0,.2);
  border-radius:4px;
  padding:3px 7px;
  font-weight:700;
}
.pix-status-aguardando-pagamento{color:var(--gold);background:rgba(240,165,0,.1);border-color:rgba(240,165,0,.2);}
.pix-status-pago-recibido{color:var(--teal);background:rgba(0,201,167,.11);border-color:rgba(0,201,167,.24);}
.pix-status-expirado{color:var(--red);background:rgba(224,48,48,.11);border-color:rgba(224,48,48,.24);}
.pix-status-pendiente{color:var(--text3);background:rgba(255,255,255,.05);border-color:var(--border2);}
.pix-qr-box{
  width:184px;
  height:184px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  padding:8px;
}
.pix-qr-box img{width:100%;height:100%;object-fit:contain;border-radius:8px;}
.pix-qr-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text3);font-size:.72rem;}
.pix-qr-placeholder i{font-size:2rem;color:var(--teal);}
.pix-copy-label{font-size:.68rem;color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.pix-copy-row{display:flex;gap:8px;align-items:stretch;}
.pix-copy-value{
  flex:1;
  min-width:0;
  border:1px solid var(--border2);
  border-radius:6px;
  padding:9px;
  color:var(--text2);
  background:rgba(255,255,255,.03);
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  line-height:1.35;
  word-break:break-all;
}
.operator-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.op-profile-kpi-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 4px;
}
.op-profile-kpi{
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:10px;padding:10px 8px;text-align:center;
}
.op-profile-kpi-n{
  font-size:1.25rem;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text);
}
.op-profile-kpi-l{
  font-size:.6rem;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:3px;
}

.p2p-intro-overlay{
  position:fixed;
  inset:0;
  background:rgba(5,8,14,.78);
  backdrop-filter:blur(8px);
  z-index:80;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.p2p-intro-overlay.open{display:flex;}
.p2p-intro-card{
  width:min(420px,100%);
  background:var(--card);
  border:1px solid var(--border2);
  border-radius:8px;
  padding:20px;
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.p2p-intro-icon{
  width:42px;
  height:42px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,201,167,.1);
  color:var(--teal);
  margin-bottom:12px;
}
.p2p-intro-card h3{font-size:1rem;margin-bottom:12px;}
.p2p-intro-steps{display:flex;flex-direction:column;gap:9px;margin-bottom:16px;}
.p2p-intro-steps div{display:flex;gap:9px;align-items:flex-start;}
.p2p-intro-steps span{
  width:22px;
  height:22px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(74,143,255,.12);
  color:var(--blue);
  font-size:.7rem;
  font-weight:800;
  flex-shrink:0;
}
.p2p-intro-steps p{font-size:.82rem;color:var(--text2);line-height:1.35;}

/* Mejora loading states */
.fintech-loading{color:var(--text3);font-size:.78rem;gap:8px;}

/* P2P status badges — paleta suavizada */
.status-payment-sent{background:rgba(74,143,255,.09);color:#4A7FE0;}
.status-completed   {background:rgba(45,206,139,.09);color:var(--brl);}
.status-cancelled   {background:rgba(232,88,88,.09); color:var(--ves);}
.status-processing  {background:rgba(162,100,255,.09);color:#A264E0;}

/* ══════════════════════════════════════════════════════════
   FASES UX CLIENTE + P2P PRO
══════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────
   BUG FIX: CORRECCIONES UX/UI
   Bug 1 → barra blanca: safe-area + bordes oscuros
   Bug 2 → header cortado: padding + alineación
   Bug 3 → form visible: display:none vía JS directo
───────────────────────────────────────────────────────── */

/* ─ Bug 3: advanced opts — siempre oculto hasta toggle ─ */
.adv-opts-body{display:none;}
.adv-opts-body.adv-open{display:block;}

/* ─────────────────────────────────────────────────────────
   FASE 1+4 — P2P ORDER DETAIL + CHAT OVERLAY
   Estilo Binance P2P / Revolut full-screen
   Bug 1 fixed: bg explícito, safe-area, sin bordes blancos
   Bug 2 fixed: header con padding correcto y alineación
───────────────────────────────────────────────────────── */
.p2p-detail-overlay{
  position:fixed;
  top:0;left:0;right:0;
  /* dvh = dynamic viewport height: se encoge cuando el teclado abre en móvil */
  height:100vh;
  height:100dvh;
  z-index:1200;
  background:#080C17;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.32,.72,0,1);
  /* safe-area iOS */
  padding-left:env(safe-area-inset-left,0px);
  padding-right:env(safe-area-inset-right,0px);
  overflow:hidden;
}
.p2p-detail-overlay.open{transform:translateX(0);}

/* Bug 2: header correctamente alineado y con espacio */
.p2p-detail-header{
  display:flex;align-items:center;gap:14px;
  padding:14px 20px 14px;
  background:#080C17;
  border-bottom:1px solid rgba(255,255,255,.05);
  flex-shrink:0;
  min-height:58px;
  /* safe-area para notch lateral */
  padding-top:max(14px, env(safe-area-inset-top,14px));
}
.p2p-detail-back{
  width:38px;height:38px;min-width:38px;border-radius:50%;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:.88rem;transition:all .15s;flex-shrink:0;
}
.p2p-detail-back:active{background:rgba(255,255,255,.14);}
.p2p-detail-header-info{flex:1;min-width:0;overflow:hidden;}
.p2p-detail-header-title{
  font-size:.9rem;font-weight:700;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.p2p-detail-header-sub{
  font-size:.64rem;color:var(--text3);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.p2p-detail-status-pill{
  font-size:.57rem;font-weight:700;
  padding:3px 9px;border-radius:20px;flex-shrink:0;
  background:rgba(0,201,167,.09);color:var(--cc-brand);
  text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;
}

/* ─ Timeline: sin bordes horizontales que aparezcan blancos ─ */
.p2p-tl-wrap{
  padding:14px 16px 12px;
  flex-shrink:0;
  background:#080C17;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  /* Bug 1 fix: sin border-bottom */
}
.p2p-timeline{
  display:flex;align-items:flex-start;
  gap:0;min-width:max-content;
}
.tl-step{
  display:flex;flex-direction:column;align-items:center;
  position:relative;min-width:68px;
}
.tl-dot{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;flex-shrink:0;
  border:2px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:var(--text3);
  position:relative;z-index:1;
}
.tl-label{
  font-size:.56rem;font-weight:600;color:var(--text3);
  margin-top:5px;text-align:center;
  max-width:66px;line-height:1.3;
}
/* Línea horizontal entre pasos — no position:absolute para evitar overflow */
.tl-line{
  position:absolute;
  top:12px;
  left:calc(50% + 13px);
  width:calc(100% - 26px);
  height:2px;
  background:rgba(255,255,255,.07);
  z-index:0;
}
.tl-step-done .tl-dot{background:rgba(0,201,167,.12);border-color:rgba(0,201,167,.3);color:var(--cc-brand);}
.tl-step-done .tl-label{color:var(--cc-brand);}
.tl-step-done .tl-line{background:rgba(0,201,167,.22);}
.tl-step-active .tl-dot{background:rgba(74,143,255,.14);border-color:var(--cc-accent);color:var(--cc-accent);}
.tl-step-active .tl-label{color:var(--text);}
.tl-step-cancelled .tl-dot{background:rgba(217,69,69,.1);border-color:rgba(217,69,69,.25);color:var(--ves);}
.tl-step-cancelled .tl-label{color:var(--ves);}

/* ─ Chat messages ─ */
.p2p-order-chat-msgs{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:12px 18px;display:flex;flex-direction:column;gap:8px;
  background:#080C17;
  min-height:0; /* crucial: permite que flex:1 sea scroll en lugar de expandirse */
}
.p2p-chat-empty{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:8px;padding:32px 0;
  color:var(--text3);font-size:.78rem;text-align:center;
}
.p2p-chat-empty i{font-size:1.4rem;}

.p2p-chat-msg{display:flex;flex-direction:column;}
.p2p-chat-me   {align-items:flex-end;}
.p2p-chat-other{align-items:flex-start;}
.p2p-chat-bubble{
  max-width:76%;padding:9px 13px;border-radius:14px;
  font-size:.84rem;line-height:1.45;word-break:break-word;
}
.p2p-chat-me .p2p-chat-bubble{
  background:var(--cc-brand);color:#071214;
  border-radius:16px 16px 4px 16px;font-weight:500;
}
.p2p-chat-other .p2p-chat-bubble{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.07);
  color:var(--text);border-radius:4px 16px 16px 16px;
}
.p2p-chat-meta{font-size:.6rem;color:var(--text3);margin-top:3px;padding:0 2px;}

.p2p-chat-msg.p2p-chat-system{align-items:center;}
.p2p-chat-msg.p2p-chat-system .p2p-chat-bubble{
  max-width:90%;background:rgba(240,165,0,.08);border:1px solid rgba(240,165,0,.25);
  color:var(--gold);font-size:.74rem;text-align:center;border-radius:10px;
}

.p2p-call-admin-btn{
  width:100%;padding:9px;margin-bottom:8px;
  background:rgba(240,165,0,.08);border:1px solid rgba(240,165,0,.3);
  border-radius:var(--radius-sm);color:var(--gold);
  font-weight:700;font-size:.8rem;cursor:pointer;
}
.p2p-call-admin-btn:disabled{opacity:.45;cursor:not-allowed;}

/* ─ Imagen en burbuja de chat ─ */
.p2p-chat-img{
  max-width:220px;max-height:200px;border-radius:10px;
  display:block;cursor:pointer;object-fit:cover;
  border:1px solid rgba(255,255,255,.08);
  transition:opacity .15s;
}
.p2p-chat-img:active{opacity:.85;}
.p2p-chat-img-wrap{
  position:relative;display:inline-block;line-height:0;
}
.p2p-chat-proof-share-btn{
  position:absolute;right:8px;bottom:8px;
  width:34px;height:34px;border:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(11,17,30,.86);color:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.13);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  cursor:pointer;font-size:.9rem;line-height:1;
  transition:transform .14s ease,background .14s ease,box-shadow .14s ease;
}
.p2p-chat-me .p2p-chat-proof-share-btn{
  background:rgba(255,255,255,.94);color:#111827;
  box-shadow:0 8px 22px rgba(0,0,0,.22),0 0 0 1px rgba(10,15,25,.08);
}
.p2p-chat-proof-share-btn:hover{transform:translateY(-1px);background:rgba(20,28,44,.94);}
.p2p-chat-me .p2p-chat-proof-share-btn:hover{background:#fff;}
.p2p-chat-proof-share-btn:active{transform:scale(.94);}
.p2p-chat-proof-share-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
.p2p-chat-img-uploading{
  max-width:220px;min-height:100px;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  font-size:.75rem;color:var(--text3);gap:7px;text-align:center;padding:10px;
}
.p2p-upload-retry-btn{
  border:1px solid var(--border2);background:transparent;color:var(--text);
  border-radius:6px;padding:4px 8px;font-family:'Outfit',sans-serif;font-size:.68rem;
  cursor:pointer;
}
.p2p-upload-retry-btn:active{opacity:.75;}

/* ─ Chat: headers de sección Activos / Archivados ─ */
.chat-section-hdr{
  font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;
  color:var(--text3);padding:10px 16px 6px;
  display:flex;align-items:center;gap:6px;
}

/* ─ Botón "Ver chat archivado" ─ */
.p2p-archived-open-btn{
  color:var(--text2);border-color:rgba(255,255,255,.08);
}

/* ─ Banner de solo lectura dentro del overlay de chat ─ */
.p2p-archived-bar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 18px;
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.06);
  flex-shrink:0;
}
.p2p-archived-label{
  font-size:.72rem;color:var(--text3);
  display:flex;align-items:center;gap:6px;
}
.p2p-archived-detail-btn{
  display:flex;align-items:center;gap:5px;
  font-size:.7rem;font-weight:700;font-family:'Outfit',sans-serif;
  padding:5px 10px;border-radius:7px;
  border:1px solid var(--border2);background:rgba(255,255,255,.05);
  color:var(--text);cursor:pointer;white-space:nowrap;
  transition:background .15s;
}
.p2p-archived-detail-btn:hover{background:rgba(255,255,255,.09);}

/* ─ Banner orden activa en revisión / procesando (cliente) ─ */
.p2p-aob{
  background:linear-gradient(135deg,rgba(0,201,167,.13),rgba(0,201,167,.05));
  border:1.5px solid rgba(0,201,167,.28);
  border-radius:16px;
  padding:16px;
  margin:12px 16px 4px;
  display:flex;flex-direction:column;gap:14px;
}
.p2p-aob-top{display:flex;align-items:flex-start;gap:12px;}
.p2p-aob-icon{
  width:40px;height:40px;min-width:40px;border-radius:50%;
  background:rgba(0,201,167,.14);display:flex;align-items:center;
  justify-content:center;font-size:1rem;color:var(--teal);flex-shrink:0;
}
.p2p-aob-body{flex:1;min-width:0;}
.p2p-aob-title{font-weight:700;font-size:.95rem;color:var(--teal);line-height:1.3;}
.p2p-aob-sub{font-size:.78rem;color:var(--text2);margin-top:4px;line-height:1.45;}
.p2p-aob-actions{display:flex;flex-direction:column;gap:10px;}
.p2p-aob-btn{
  width:100%;padding:13px 0;border-radius:12px;border:none;
  background:var(--teal);color:#071214;font-weight:700;font-size:.9rem;
  cursor:pointer;font-family:'Outfit',sans-serif;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity .15s;
}
.p2p-aob-btn:active{opacity:.82;}
.p2p-aob-btn-secondary{
  background:transparent;color:var(--teal);
  border:1.5px solid rgba(0,201,167,.35);
}
.p2p-aob-btn-secondary:active{opacity:.7;}

/* ─────────────────────────────────────────────────────────
   PIX-CHECKOUT-V2 — pantallas dedicadas Pagar / Procesando / Listo
   Separadas del overlay de detalle + chat (.p2p-detail-overlay)
───────────────────────────────────────────────────────── */
.p2p-checkout-overlay{
  position:fixed;
  top:0;left:0;right:0;
  height:100vh;
  height:100dvh;
  z-index:1300;
  background:#080C17;
  display:none;
  flex-direction:column;
  padding-left:env(safe-area-inset-left,0px);
  padding-right:env(safe-area-inset-right,0px);
  overflow:hidden;
}
.p2p-checkout-overlay.open{display:flex;}
.p2p-checkout-header{
  display:flex;align-items:center;gap:14px;
  padding:14px 20px;
  background:#080C17;
  border-bottom:1px solid rgba(255,255,255,.05);
  flex-shrink:0;
  min-height:58px;
  padding-top:max(14px, env(safe-area-inset-top,14px));
}
.p2p-checkout-back{
  width:38px;height:38px;min-width:38px;border-radius:50%;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:.88rem;transition:all .15s;flex-shrink:0;
}
.p2p-checkout-back:active{background:rgba(255,255,255,.14);}
.p2p-checkout-header-title{font-size:.95rem;font-weight:700;color:var(--text);}
.p2p-checkout-body{
  flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:20px;max-width:480px;margin:0 auto;width:100%;
  display:flex;flex-direction:column;gap:12px;
}
.p2p-checkout-center{
  align-items:center;justify-content:center;text-align:center;flex:1;gap:14px;
}
.p2p-checkout-amount{
  font-family:'JetBrains Mono',monospace;
  font-size:2rem;font-weight:800;color:var(--text);
  text-align:center;
}
.p2p-checkout-sub{font-size:.8rem;color:var(--text3);text-align:center;margin-top:-6px;}
.p2p-checkout-amount-card{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  background:var(--card2);border:1px solid var(--border2);
  border-radius:var(--radius);padding:20px 16px;
}
.p2p-checkout-amount-card .p2p-checkout-amount{margin:0;}
.p2p-checkout-amount-card .p2p-checkout-sub{margin:0;}
.p2p-checkout-amount-row{
  display:flex;align-items:center;justify-content:center;gap:12px;
}
.p2p-checkout-amount-icon{
  width:40px;height:40px;border-radius:50%;object-fit:cover;
  border:2px solid var(--border2);flex-shrink:0;
}
.p2p-pix-notice{
  display:flex;gap:12px;align-items:flex-start;
  background:rgba(240,165,0,.1);border:1px solid rgba(240,165,0,.25);
  border-radius:var(--radius-sm);padding:14px;
  font-size:.78rem;line-height:1.5;color:var(--text2);
}
.p2p-pix-notice-icon{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;
  background:rgba(240,165,0,.16);
  display:flex;align-items:center;justify-content:center;
}
.p2p-pix-notice-icon i{color:var(--gold);font-size:.85rem;}
.pix-copy-block{
  display:flex;flex-direction:column;gap:10px;
  background:var(--card2);border:1px solid var(--border2);
  border-radius:var(--radius-sm);padding:14px;
}
.pix-copy-header{
  display:flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;color:var(--text2);
}
.pix-copy-header i{color:var(--teal);font-size:1.05rem;}
.pix-copy-header-dot{color:var(--text3);font-weight:400;}
.pix-copy-code-box{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--border2);border-radius:8px;
  padding:10px 12px;background:var(--bg2);
}
.pix-copy-code-box .pix-copy-value{
  border:none;background:none;padding:0;
}
.pix-copy-icon{color:var(--text3);font-size:.95rem;flex-shrink:0;}
.pix-copy-action-btn{
  width:100%;padding:12px;
  background:linear-gradient(135deg,var(--teal),#00906e);
  border:none;border-radius:var(--radius);
  color:#090E1A;font-family:'Outfit',sans-serif;
  font-size:.85rem;font-weight:800;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity .2s,transform .12s;
}
.pix-copy-action-btn:hover{opacity:.9;transform:translateY(-1px);}
.pix-copy-action-btn:active{transform:translateY(0);}
.pix-copy-action-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.p2p-checkout-expiry{
  text-align:center;font-size:.8rem;color:var(--text2);
  background:rgba(255,255,255,.04);border:1px solid var(--border2);
  border-radius:8px;padding:8px;
}
.p2p-checkout-expiry.ck-expired{color:var(--red,#ef4444);border-color:rgba(224,48,48,.3);background:rgba(224,48,48,.08);}
.p2p-checkout-paid-btn{margin-top:4px;}
.p2p-checkout-spinner{font-size:2.6rem;color:var(--teal);}
.p2p-checkout-success-icon{
  font-size:3rem;color:var(--teal);
  display:flex;align-items:center;justify-content:center;
}
.success-check-svg{
  width:72px;height:72px;
  animation:successPop .45s cubic-bezier(.65,0,.45,1) both;
}
.success-check-circle{
  stroke:var(--teal);stroke-width:2.5;
  stroke-dasharray:151;stroke-dashoffset:151;
  transform-origin:center;
  animation:successCircle .5s cubic-bezier(.65,0,.45,1) forwards;
}
.success-check-mark{
  stroke:var(--teal);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:36;stroke-dashoffset:36;
  animation:successCheck .35s cubic-bezier(.65,0,.45,1) .5s forwards;
}
@keyframes successPop{
  0%{transform:scale(.6);opacity:0;}
  60%{transform:scale(1.08);opacity:1;}
  100%{transform:scale(1);opacity:1;}
}
@keyframes successCircle{to{stroke-dashoffset:0;}}
@keyframes successCheck{to{stroke-dashoffset:0;}}
.p2p-checkout-title{font-size:1.15rem;font-weight:800;color:var(--text);}
.p2p-checkout-msg{font-size:.85rem;color:var(--text2);line-height:1.5;max-width:360px;}
.p2p-checkout-summary-rows{
  width:100%;display:flex;flex-direction:column;
  border:1px solid var(--border2);border-radius:var(--radius);overflow:hidden;
  margin-top:6px;
}
.p2p-checkout-summary-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 14px;border-bottom:1px solid var(--border);
  font-size:.8rem;
}
.p2p-checkout-summary-row:last-child{border-bottom:none;}
.p2p-checkout-summary-row span:first-child{color:var(--text3);}
.p2p-checkout-summary-row span:last-child{color:var(--text);font-weight:600;text-align:right;}
.p2p-checkout-timeout{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:8px;}
.p2p-checkout-btn-secondary{
  padding:11px 20px;border-radius:var(--radius);
  background:var(--card2);border:1px solid var(--border2);
  color:var(--text);font-family:'Outfit',sans-serif;font-weight:700;font-size:.85rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity .2s;
}
.p2p-checkout-btn-secondary:hover{opacity:.85;}

/* ─ Botones icono chat bar ─ */
.p2p-chat-icon-btn{
  width:36px;height:36px;min-width:36px;border-radius:50%;
  background:transparent;border:none;
  color:var(--text3);font-size:.95rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:color .15s,background .15s;flex-shrink:0;
}
.p2p-chat-icon-btn:hover,.p2p-chat-icon-btn.active{
  color:var(--cc-brand);background:rgba(0,201,167,.08);
}

/* ─ Emoji panel ─ */
.p2p-emoji-panel{
  position:absolute;bottom:calc(100% + 6px);left:0;right:0;
  background:#111827;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:10px 12px;
  z-index:20;
  box-shadow:0 -4px 24px rgba(0,0,0,.6);
}
.p2p-emoji-panel.hidden{display:none;}
.p2p-emoji-grid{
  display:flex;flex-wrap:wrap;gap:2px;
}
.p2p-emoji-btn{
  width:36px;height:36px;background:transparent;border:none;
  font-size:1.35rem;cursor:pointer;border-radius:8px;
  transition:background .1s;display:flex;align-items:center;justify-content:center;
  line-height:1;
}
.p2p-emoji-btn:hover,.p2p-emoji-btn:active{background:rgba(255,255,255,.08);}

/* ─ Chat bar necesita position:relative para el panel absoluto ─ */
.p2p-order-chat-bar{position:relative;}

/* ─ Bug 1: Chat input bar — bg sólido + safe-area-inset-bottom ─ */
.p2p-order-chat-bar{
  display:flex;gap:8px;
  padding:10px 18px;
  /* safe-area iOS home indicator */
  padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  background:#080C17;
  /* sin border-top que se vea blanco */
  border-top:1px solid rgba(255,255,255,.05);
  flex-shrink:0;
}
.p2p-order-chat-input{
  flex:1 1 auto;min-width:0;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;color:var(--text);
  font-family:'Outfit',sans-serif;font-size:.84rem;
  padding:9px 16px;outline:none;transition:border-color .15s;
}
.p2p-order-chat-input:focus{border-color:rgba(255,255,255,.12);}
.p2p-order-chat-send{
  width:40px;height:40px;min-width:40px;border-radius:50%;
  background:var(--cc-brand);border:none;
  color:#071214;font-size:.84rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .15s;
}
.p2p-order-chat-send:active{opacity:.8;}

@media (max-width:360px){
  .p2p-order-chat-bar{
    gap:6px;
    padding-left:12px;
    padding-right:12px;
  }
  .p2p-chat-icon-btn{
    width:34px;height:34px;min-width:34px;
  }
  .p2p-order-chat-input{
    padding-left:12px;
    padding-right:12px;
  }
  .p2p-order-chat-send{
    width:38px;height:38px;min-width:38px;
  }
}

/* ─ Chat role badges ─ */
.chat-role-admin{display:inline-block;font-size:.52rem;font-weight:700;
  padding:1px 5px;border-radius:4px;margin-left:4px;vertical-align:middle;
  background:rgba(240,165,0,.15);color:var(--gold);text-transform:uppercase;}
.chat-role-op{display:inline-block;font-size:.52rem;font-weight:700;
  padding:1px 5px;border-radius:4px;margin-left:4px;vertical-align:middle;
  background:rgba(56,189,248,.15);color:var(--blue);text-transform:uppercase;}
/* ─ Chat unread badge on order cards ─ */
.p2p-chat-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;border-radius:9px;
  background:var(--cc-brand);color:#071214;
  font-size:.55rem;font-weight:800;padding:0 5px;margin-left:6px;
  vertical-align:middle;flex-shrink:0;
}
/* ─ "Ver orden" button on order cards ─ */
.p2p-order-view-btn{
  width:100%;margin-top:10px;padding:9px 14px;
  background:rgba(0,201,167,.07);
  border:1px solid rgba(0,201,167,.2);
  border-radius:var(--radius-sm);
  color:var(--cc-brand);font-size:.75rem;font-weight:700;
  font-family:'Outfit',sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:7px;
  transition:all .15s;
}
.p2p-order-view-btn:active{background:rgba(0,201,167,.12);}

/* Bug 1 fix: bottom-nav con safe-area-inset-bottom */
.bottom-nav{
  padding-bottom:env(safe-area-inset-bottom, 0px);
  height:calc(var(--nav-h) + env(safe-area-inset-bottom, 0px));
}
/* Ajustar padding del scroll a la nueva altura */
.main-scroll{
  padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom, 0px) + 12px);
}

/* ─────────────────────────────────────────────────────────
   FASE 2 — PAYMENT METHOD SELECTOR
───────────────────────────────────────────────────────── */
.pay-method-section{
  margin-bottom:14px;
}
.pay-method-label{
  font-size:.62rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.7px;color:var(--text3);margin-bottom:8px;
}
.pay-method-opts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;
}
.pay-method-opt{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:10px 6px;border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
  color:var(--text3);cursor:pointer;
  transition:all .15s;font-family:'Outfit',sans-serif;
}
.pay-method-opt i,.pay-method-opt .pm-opt-icon-text{
  font-size:1rem;color:var(--text3);
  transition:color .15s;
}
.pm-opt-icon-text{font-weight:800;font-size:.9rem;}
.pm-opt-icon-img{width:16px;height:16px;border-radius:50%;display:block;}
.pm-opt-name{font-size:.72rem;font-weight:700;color:var(--text2);}
.pm-opt-sub{font-size:.58rem;color:var(--text3);}
.pm-bal-val{font-family:'JetBrains Mono',monospace;font-size:.58rem;}
.pay-method-opt.active{
  border-color:rgba(0,201,167,.3);
  background:rgba(0,201,167,.08);
}
.pay-method-opt.active i,.pay-method-opt.active .pm-opt-icon-text{color:var(--cc-brand);}
.pay-method-opt.active .pm-opt-name{color:var(--cc-brand);}

.pay-wallet-cta{
  margin-top:8px;padding:10px 14px;
  background:rgba(74,143,255,.06);
  border:1px solid rgba(74,143,255,.15);
  border-radius:var(--radius-sm);
  font-size:.74rem;color:var(--blue);
  display:flex;flex-direction:column;gap:4px;
}
.pay-wallet-cta-msg{font-weight:600;display:flex;align-items:center;gap:6px;}
.pay-wallet-cta-hint{font-size:.65rem;color:var(--text3);}

/* ─────────────────────────────────────────────────────────
   FASE 3 — ADVANCED OPTIONS COLLAPSIBLE
───────────────────────────────────────────────────────── */
.adv-opts-toggle{
  width:100%;padding:8px 10px;margin-bottom:6px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius-sm);
  color:var(--text3);font-size:.72rem;font-weight:600;
  font-family:'Outfit',sans-serif;cursor:pointer;
  display:flex;align-items:center;gap:7px;
  transition:all .15s;
}
.adv-opts-toggle:hover{background:rgba(255,255,255,.04);color:var(--text2);}
.adv-opts-toggle i:first-child{font-size:.68rem;}
.adv-chevron{margin-left:auto;font-size:.6rem;transition:transform .2s;}

.adv-opts-body{
  overflow:hidden;
  max-height:0;opacity:0;
  transition:max-height .25s ease, opacity .2s ease;
}
.adv-opts-body.adv-open{
  max-height:400px;opacity:1;
}

/* ─────────────────────────────────────────────────────────
   FASE 4 — DETAIL SHEET improvements
───────────────────────────────────────────────────────── */
/* Timeline inside existing detailBody */
.p2p-timeline + .detail-badge{margin-top:12px;}

/* Cleaner detail amount */
.detail-amount-big{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  padding:16px;margin-bottom:14px;text-align:center;
}
.detail-amount-big-val{
  font-family:'JetBrains Mono',monospace;
  font-size:1.9rem;font-weight:800;color:var(--text);
  letter-spacing:-.3px;line-height:1;
}
.detail-amount-big-sub{
  font-size:.72rem;color:var(--text3);margin-top:6px;
}

/* ─────────────────────────────────────────────────────────
   FASE 5 — TOAST + NOTIF visual improvements
───────────────────────────────────────────────────────── */
.notif-icon-wrap{border-radius:50%;background:rgba(255,255,255,.06);}
.notif-title{font-size:.78rem;}
.notif-msg  {font-size:.7rem;}

/* ─────────────────────────────────────────────────────────
   FASE 6 — MOBILE FIRST improvements
───────────────────────────────────────────────────────── */
@media(max-width:390px){
  .exec-kpi-num{font-size:2rem;}
  .p2p-chat-bubble{max-width:85%;}
  .pay-method-opts{grid-template-columns:repeat(3,1fr);gap:5px;}
  .pm-opt-name{font-size:.66rem;}
  .cw-bal-amt{font-size:.74rem;}
  .stat-grid-3 .stat-box-val{font-size:.95rem;}
  .wd-balances{grid-template-columns:repeat(3,1fr);}
}

/* Tap targets mobile */
.adv-opts-toggle,
.pay-method-opt{
  min-height:44px;
}
/* Botones circulares (back/send) — min-width junto con min-height, si no el
   min-height solo los estira y el círculo queda ovalado/deformado. */
.p2p-detail-back,
.p2p-order-chat-send{
  min-width:44px;
  min-height:44px;
}

/* P2P banner mobile — compacto */
@media(max-width:480px){
  .p2p-banner{flex-wrap:wrap;gap:10px;}
  .p2p-flags{font-size:1.4rem;}
  .p2p-pay-amount{font-size:1.6rem;}
}

/* ─────────────────────────────────────────────────────────
   Preferencias UI — tema e idioma
───────────────────────────────────────────────────────── */
.login-pref-bar{
  position:absolute;
  top:14px;
  right:14px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:7px;
}
.pref-chip,.pref-lang-btn{
  border:1px solid var(--border2);
  background:rgba(255,255,255,.035);
  color:var(--text2);
  border-radius:8px;
  font-family:'Outfit',sans-serif;
  font-size:.68rem;
  font-weight:800;
  min-height:32px;
  cursor:pointer;
  transition:background .18s,border-color .18s,color .18s,transform .18s;
}
.pref-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 10px;
}
.pref-chip i{font-size:.72rem;color:var(--text3);}
.pref-lang-group{
  display:inline-flex;
  align-items:center;
  padding:2px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.025);
  border-radius:9px;
}
.pref-lang-btn{
  min-width:32px;
  min-height:28px;
  border:none;
  border-radius:7px;
  background:transparent;
  color:var(--text3);
  padding:0 8px;
}
.pref-chip:hover,.pref-chip:focus{
  border-color:rgba(0,201,167,.35);
  color:var(--text);
  outline:none;
}
.pref-lang-btn.active{
  background:rgba(0,201,167,.12);
  color:var(--teal);
}
.pref-lang-btn:focus{outline:none;color:var(--text);}

/* Tema claro: oscuro sigue siendo el default; esto solo se activa por elección. */
html[data-theme="light"]{
  color-scheme:light;
  --bg:#F4F7FB;
  --bg2:#EAF0F7;
  --card:#FFFFFF;
  --card2:#F7FAFD;
  --border:rgba(15,23,42,.08);
  --border2:rgba(15,23,42,.14);
  --text:#111827;
  --text2:#526173;
  --text3:#7B8796;
  --teal:#008E78;
  --teal2:rgba(0,142,120,.12);
  --blue:#2563EB;
  --gold:#B77900;
  --gold2:#D99A10;
  --red:#C83232;
  --logo-invert:1;
  --logo-brightness:0.85;
}
html[data-theme="light"] body::before{
  background:
    radial-gradient(ellipse 55% 30% at 7% 0%,rgba(37,99,235,.08) 0%,transparent 62%),
    radial-gradient(ellipse 42% 24% at 92% 100%,rgba(0,142,120,.07) 0%,transparent 60%);
}
html[data-theme="light"] #loginScreen,
html[data-theme="light"] header,
html[data-theme="light"] .ticker,
html[data-theme="light"] .side-drawer,
html[data-theme="light"] .p2p-pay-header{
  background:rgba(255,255,255,.92);
  border-color:rgba(15,23,42,.08);
}
html[data-theme="light"] #loginScreen::before{
  background:
    radial-gradient(ellipse 85% 55% at 50% 18%,rgba(37,99,235,.10) 0%,transparent 66%),
    radial-gradient(ellipse 55% 45% at 18% 88%,rgba(0,142,120,.08) 0%,transparent 58%);
}
html[data-theme="light"] .login-card,
html[data-theme="light"] .card,
html[data-theme="light"] .op-card,
html[data-theme="light"] .rank-item,
html[data-theme="light"] .redemption-card,
html[data-theme="light"] .ticket-thread,
html[data-theme="light"] .operator-info-sheet{
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
html[data-theme="light"] .login-card{
  background:rgba(255,255,255,.90);
  border-color:rgba(15,23,42,.10);
  box-shadow:0 22px 55px rgba(37,99,235,.12),0 10px 28px rgba(15,23,42,.08);
}
html[data-theme="light"] .login-card h2,
html[data-theme="light"] .login-sub{
  color:#111827;
}
html[data-theme="light"] .login-card p,
html[data-theme="light"] .login-tagline{
  color:#64748B;
}
html[data-theme="light"] .input-field i{
  color:#8A96A8;
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .form-control,
html[data-theme="light"] .input-field input,
html[data-theme="light"] .input-field select{
  background:#FFFFFF;
  color:var(--text);
  border-color:rgba(15,23,42,.14);
}
html[data-theme="light"] .btn-tasas,
html[data-theme="light"] .notif-bell-btn,
html[data-theme="light"] .pref-chip,
html[data-theme="light"] .pref-lang-group{
  background:rgba(255,255,255,.72);
  border-color:rgba(15,23,42,.12);
}
html[data-theme="light"] .quick-brl-result{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
html[data-theme="light"] .trade-pair-trigger,
html[data-theme="light"] .trade-pair-option{
  background:#FFFFFF;
  border-color:rgba(15,23,42,.12);
}
html[data-theme="light"] .trade-pair-trigger.open,
html[data-theme="light"] .trade-pair-trigger:hover,
html[data-theme="light"] .trade-pair-option.active{
  background:rgba(0,142,120,.07);
  border-color:rgba(0,142,120,.22);
}
html[data-theme="light"] .trade-pair-menu{
  background:#FFFFFF;
  border-color:rgba(15,23,42,.12);
  box-shadow:0 18px 38px rgba(15,23,42,.14);
}
html[data-theme="light"] .trade-pair-option{
  border-bottom-color:rgba(15,23,42,.08);
}
html[data-theme="light"] #brlResultVal,
html[data-theme="light"] #usdtBRLC,
html[data-theme="light"] #usdtBRLV{
  color:#111827;
}
html[data-theme="light"] .usdt-brl-card{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
html[data-theme="light"] .usdt-brl-card-buy{
  background:linear-gradient(180deg,rgba(0,142,120,.10),#FFFFFF 86%) !important;
  border-color:rgba(0,142,120,.20) !important;
}
html[data-theme="light"] .usdt-brl-card-sell{
  background:linear-gradient(180deg,rgba(200,50,50,.09),#FFFFFF 86%) !important;
  border-color:rgba(200,50,50,.18) !important;
}
html[data-theme="light"] .bottom-nav{
  background:rgba(255,255,255,.94);
  border-top-color:rgba(15,23,42,.10);
}
html[data-theme="light"] .drawer-overlay.open{
  background:rgba(15,23,42,.28);
}
html[data-theme="light"] .ticker::before{
  background:linear-gradient(to right,var(--bg) 0%,transparent 100%);
}
html[data-theme="light"] .ticker::after{
  background:linear-gradient(to left,var(--bg) 0%,transparent 100%);
}
@media (max-width:520px){
  .header-lang{display:none;}
  .theme-pref-btn .theme-toggle-label{display:none;}
  .pref-chip{width:34px;padding:0;}
}

/* ─────────────────────────────────────────────────────────
   Auditoría modo claro — overrides finales
   Mantiene modo oscuro intacto y deja el gráfico USDT/BRL oscuro.
───────────────────────────────────────────────────────── */
html[data-theme="light"]{
  --surface:#FFFFFF;
  --surface2:#F7FAFD;
}

html[data-theme="light"] .home-hero-card,
html[data-theme="light"] .home-card{
  background:linear-gradient(145deg,#FFFFFF,#F7FAFD) !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
  box-shadow:0 10px 28px rgba(15,23,42,.07);
}
html[data-theme="light"] .home-hero-card::before{
  background:radial-gradient(circle at 85% 10%,rgba(0,142,120,.11),transparent 34%),
             radial-gradient(circle at 12% 90%,rgba(37,99,235,.07),transparent 38%);
}
html[data-theme="light"] .home-ranking-card{
  background:radial-gradient(circle at 78% 48%,rgba(0,142,120,.13),transparent 28%),
             linear-gradient(145deg,#FFFFFF,#F7FAFD) !important;
}
html[data-theme="light"] .home-ccb-card{
  background:radial-gradient(circle at 80% 28%,rgba(130,100,255,.12),transparent 30%),
             radial-gradient(circle at 70% 80%,rgba(0,142,120,.10),transparent 36%),
             linear-gradient(145deg,#FFFFFF,#F7FAFD) !important;
}
html[data-theme="light"] .home-greeting,
html[data-theme="light"] .home-card h3,
html[data-theme="light"] .home-market strong,
html[data-theme="light"] .home-movement-main strong,
html[data-theme="light"] .home-asset strong,
html[data-theme="light"] .home-asset b,
html[data-theme="light"] .home-market b{
  color:#111827;
}
html[data-theme="light"] .home-hero-copy strong{
  color:#0F172A;
}
html[data-theme="light"] .home-kicker,
html[data-theme="light"] .home-market small,
html[data-theme="light"] .home-movement-main span,
html[data-theme="light"] .home-asset small,
html[data-theme="light"] .home-asset em,
html[data-theme="light"] .home-ranking-card>span,
html[data-theme="light"] .home-ccb-card p,
html[data-theme="light"] .home-empty{
  color:#64748B;
}
html[data-theme="light"] .home-assets,
html[data-theme="light"] .home-card-head,
html[data-theme="light"] .home-market,
html[data-theme="light"] .home-movement{
  border-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .home-asset{
  border-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .home-profile-btn{
  background:linear-gradient(135deg,rgba(0,142,120,.14),rgba(37,99,235,.10));
  border-color:rgba(0,142,120,.24);
  color:#0F172A;
}
html[data-theme="light"] .home-rank-avatar{
  background:linear-gradient(135deg,rgba(0,142,120,.16),rgba(37,99,235,.12));
  border-color:rgba(0,142,120,.24);
  color:#111827;
}

html[data-theme="light"] .login-card{
  background:rgba(255,255,255,.94) !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .login-card a{
  color:var(--blue);
}
html[data-theme="light"] .input-field input::placeholder,
html[data-theme="light"] textarea::placeholder{
  color:#8A96A8;
}
html[data-theme="light"] .input-field input:focus,
html[data-theme="light"] .input-field select:focus,
html[data-theme="light"] .form-control:focus,
html[data-theme="light"] textarea:focus{
  border-color:rgba(37,99,235,.36);
  box-shadow:0 0 0 3px rgba(37,99,235,.08);
}

html[data-theme="light"] .notif-panel{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.12) !important;
  color:var(--text);
  box-shadow:0 18px 42px rgba(15,23,42,.16);
}
html[data-theme="light"] .notif-panel-hdr,
html[data-theme="light"] .notif-item{
  border-color:rgba(15,23,42,.08) !important;
}
html[data-theme="light"] .notif-item:hover{
  background:#F7FAFD !important;
}
html[data-theme="light"] .notif-item.unread{
  background:rgba(183,119,0,.08) !important;
}
html[data-theme="light"] .notif-icon-wrap{
  background:rgba(15,23,42,.06) !important;
}
html[data-theme="light"] .notif-title{
  color:#111827;
}
html[data-theme="light"] .notif-backdrop{
  background:rgba(15,23,42,.08);
}

html[data-theme="light"] .quick-brl-result{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.10) !important;
  color:#111827;
}
html[data-theme="light"] .usdt-brl-card{
  color:#111827;
}

html[data-theme="light"] .wd-overlay{
  background:rgba(15,23,42,.28);
}
html[data-theme="light"] .wd-sheet,
html[data-theme="light"] .wd-header{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .wd-handle,
html[data-theme="light"] .wd-close,
html[data-theme="light"] .wd-avatar,
html[data-theme="light"] .wl-icon{
  background:rgba(15,23,42,.06) !important;
}
html[data-theme="light"] .wd-user-row,
html[data-theme="light"] .wd-section-title,
html[data-theme="light"] .wd-row,
html[data-theme="light"] .wl-row{
  border-color:rgba(15,23,42,.08) !important;
}
html[data-theme="light"] .wd-bal-item,
html[data-theme="light"] .wl-row{
  background:#F7FAFD !important;
}

html[data-theme="light"] .p2p-detail-overlay,
html[data-theme="light"] .p2p-detail-header,
html[data-theme="light"] .p2p-order-chat-bar{
  background:#F4F7FB !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .p2p-detail-back,
html[data-theme="light"] .p2p-order-chat-input,
html[data-theme="light"] .p2p-chat-icon-btn,
html[data-theme="light"] .p2p-archived-detail-btn{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.12) !important;
  color:var(--text2);
}
html[data-theme="light"] .p2p-order-chat-input:focus{
  border-color:rgba(37,99,235,.32) !important;
}
html[data-theme="light"] .p2p-emoji-panel{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.12) !important;
  box-shadow:0 -8px 28px rgba(15,23,42,.14);
}
html[data-theme="light"] .p2p-emoji-btn:hover,
html[data-theme="light"] .p2p-emoji-btn:active{
  background:rgba(15,23,42,.06) !important;
}
html[data-theme="light"] .p2p-readonly-banner,
html[data-theme="light"] .p2p-archived-bar,
html[data-theme="light"] .p2p-chat-image-card{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.10) !important;
}

html[data-theme="light"] .p2p-order-chat-msgs{
  background:#F4F7FB !important;
}
html[data-theme="light"] .p2p-chat-other .p2p-chat-bubble{
  background:rgba(15,23,42,.05);
  border-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .p2p-chat-img-uploading{
  background:rgba(15,23,42,.04);
  border-color:rgba(15,23,42,.10);
}
html[data-theme="light"] .p2p-chat-img{
  border-color:rgba(15,23,42,.10);
}

html[data-theme="light"] .p2p-checkout-overlay,
html[data-theme="light"] .p2p-checkout-header{
  background:#F4F7FB !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .p2p-checkout-back{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.12) !important;
  color:var(--text2);
}
html[data-theme="light"] .p2p-checkout-expiry,
html[data-theme="light"] .p2p-checkout-summary-rows{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.10) !important;
}
html[data-theme="light"] .p2p-checkout-summary-row{
  border-color:rgba(15,23,42,.08) !important;
}
html[data-theme="light"] .p2p-checkout-btn-secondary{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.12) !important;
  color:var(--text);
}

html[data-theme="light"] .side-drawer{
  background:#FFFFFF !important;
  border-left-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .drawer-header,
html[data-theme="light"] .drawer-footer{
  border-color:rgba(15,23,42,.08) !important;
}
html[data-theme="light"] .drawer-divider{
  background:rgba(15,23,42,.08) !important;
}
html[data-theme="light"] .drawer-item:hover{
  background:#F7FAFD !important;
  color:var(--text);
}

html[data-theme="light"] .sp-overlay{
  background:rgba(15,23,42,.28) !important;
}
html[data-theme="light"] .sp-sheet{
  background:#FFFFFF !important;
  color:var(--text);
  box-shadow:0 -18px 44px rgba(15,23,42,.16);
}
html[data-theme="light"] .sp-type-opt,
html[data-theme="light"] .sp-btn-cancel{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.12) !important;
}
html[data-theme="light"] .sp-handle{
  background:rgba(15,23,42,.18) !important;
}

html[data-theme="light"] .p2p-intro-overlay{
  background:rgba(15,23,42,.28) !important;
}
html[data-theme="light"] .p2p-intro-card{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}

html[data-theme="light"] .operator-info-overlay{
  background:rgba(15,23,42,.28) !important;
}
html[data-theme="light"] .operator-info-sheet{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .operator-info-metric{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.10) !important;
}
html[data-theme="light"] .operator-info-close{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.12) !important;
  color:var(--text2);
}

html[data-theme="light"] .kyc-card,
html[data-theme="light"] .support-ticket,
html[data-theme="light"] .ticket-card,
html[data-theme="light"] .cw-bal-card,
html[data-theme="light"] .fintech-section .stat-box,
html[data-theme="light"] .profile-hero-card,
html[data-theme="light"] .rate-system-display,
html[data-theme="light"] .admin-rate-input,
html[data-theme="light"] .rate-toggle-btn.inactive,
html[data-theme="light"] .btn-paste{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .kyc-action-btn,
html[data-theme="light"] .fintech-view-btn,
html[data-theme="light"] .rank-tab,
html[data-theme="light"] .rate-toggle-btn{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.12) !important;
}
html[data-theme="light"] .profile-photo-action{
  border-color:#F7FAFD;
}
html[data-theme="light"] .kyc-action-btn:hover,
html[data-theme="light"] .fintech-view-btn:hover,
html[data-theme="light"] .btn-paste:hover{
  background:#F7FAFD !important;
}
html[data-theme="light"] .kyc-badge-none,
html[data-theme="light"] .kyc-level-tag,
html[data-theme="light"] .risk-badge-none,
html[data-theme="light"] .ldg-badge.reversed{
  background:rgba(15,23,42,.06) !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text3);
}

html[data-theme="light"] .p2p-pay-overlay,
html[data-theme="light"] .p2p-pay-header{
  background:#F4F7FB !important;
  border-color:rgba(15,23,42,.10) !important;
}
html[data-theme="light"] .p2p-pay-summary,
html[data-theme="light"] .p2p-pay-instructions,
html[data-theme="light"] .pay-copy-box,
html[data-theme="light"] .pay-wallet-cta,
html[data-theme="light"] .pix-code-box{
  background:#FFFFFF !important;
  border-color:rgba(15,23,42,.10) !important;
  color:var(--text);
}
html[data-theme="light"] .pay-copy-btn,
html[data-theme="light"] .btn-copy-ves{
  background:#F7FAFD !important;
  border-color:rgba(15,23,42,.12) !important;
  color:var(--text2);
}

/* ─────────────────────────────────────────────────────────
   P2P client operator selector — visual refresh
───────────────────────────────────────────────────────── */
#clientP2PSelectStep .section-label{
  border-bottom:0;
  margin:8px 0 8px;
  padding:0 2px;
  font-size:.82rem;
  letter-spacing:0;
  text-transform:none;
  color:var(--text2);
  justify-content:space-between;
}
#clientP2PSelectStep .section-label::after{
  content:'\f1de';
  flex:0;
  height:auto;
  background:none;
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:var(--text3);
  font-size:.78rem;
}
#clientP2PSelectStep .section-label i{
  color:var(--text2);
  font-size:.78rem;
}
.op-select-list{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  overflow:hidden;
}
.op-select-card{
  margin:0;
  padding:12px 14px 12px 12px;
  border:0;
  border-bottom:1px solid rgba(0,201,167,.28);
  border-left:3px solid var(--teal);
  border-radius:0;
  background:transparent;
}
.op-select-card:last-child{border-bottom:1px solid rgba(0,201,167,.28);}
.op-select-card.recommended{
  background:rgba(255,255,255,.018);
}
.op-recommended-tag{
  margin-bottom:8px;
  font-size:.72rem;
  text-transform:none;
  letter-spacing:0;
  color:var(--text);
}
.op-select-main{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.op-select-avatar{
  width:27px;
  height:27px;
  border-radius:50%;
  background:#7CB7F2;
  color:#102033;
  font-weight:800;
  font-size:.66rem;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  overflow:hidden;
}
.op-select-avatar.has-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.op-select-card.recommended .op-select-avatar{
  background:#7CB7F2;
  color:#102033;
}
.op-select-info{min-width:0;}
.op-select-name-row{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.op-select-name{
  display:block;
  font-size:.92rem;
  font-weight:800;
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.op-verified-icon{
  color:#67B8FF;
  font-size:.68rem;
  flex-shrink:0;
}
.op-verified-badge{
  width:14px;
  height:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin-left:2px;
  color:#fff;
  font-size:.48rem;
  background:linear-gradient(135deg,#5865ff 0%,#7b3cff 48%,#c018ff 100%);
  clip-path:polygon(50% 0%,58% 10%,70% 6%,76% 18%,89% 20%,90% 34%,100% 42%,92% 53%,96% 66%,83% 72%,80% 86%,66% 86%,56% 100%,45% 91%,32% 96%,25% 84%,12% 81%,11% 67%,0% 58%,8% 47%,4% 34%,17% 28%,20% 14%,34% 14%);
  box-shadow:0 3px 9px rgba(123,60,255,.34);
}
.op-verified-badge i{
  line-height:1;
  transform:scale(1.08);
}
.op-select-reputation{
  font-size:.72rem;
  line-height:1.25;
  color:var(--text2);
  font-weight:700;
  margin-top:2px;
}
.op-select-info-link,
.op-select-stats-link{
  border:0;
  background:transparent;
  color:var(--text3);
  font-family:'Outfit',sans-serif;
  font-size:.68rem;
  padding:0;
  margin-top:4px;
  cursor:pointer;
}
.op-select-info-link:hover,
.op-select-stats-link:hover{color:var(--teal);}
.op-select-wait{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:4px;
  color:var(--text2);
}
.op-select-wait > div{
  flex-shrink:0;
  white-space:nowrap;
}
.op-wait-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#78D64B;
  box-shadow:0 0 0 1px rgba(0,0,0,.35);
  flex-shrink:0;
}
.op-select-wait strong{
  display:block;
  white-space:nowrap;
  font-family:'JetBrains Mono',monospace;
  font-size:.98rem;
  line-height:1;
  color:var(--text);
}
.op-select-wait > div > span{
  display:block;
  font-size:.68rem;
  color:var(--text3);
  margin-top:2px;
}
.op-select-side{
  min-width:138px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  align-self:flex-start;
  gap:7px;
  padding-top:24px;
}
.op-status-badge{
  position:absolute;top:0;right:0;
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(0,201,167,.1);border:1px solid rgba(0,201,167,.2);
  border-radius:20px;padding:3px 9px;
  font-size:.6rem;font-weight:700;color:var(--teal);
  text-transform:uppercase;letter-spacing:.4px;
}
.op-status-badge .live-dot{width:5px;height:5px;}
.op-status-badge.offline{
  background:rgba(224,48,48,.08);border:1px solid rgba(224,48,48,.2);color:var(--red);
}
.op-status-badge.offline .live-dot{background:var(--red);}
.op-select-card.op-card-offline{opacity:.55;}
.op-select-card.op-card-offline .op-select-btn{
  background:var(--text3) !important;color:var(--text2);cursor:not-allowed;
}
.op-method-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin-top:6px;
  flex-wrap:wrap;
}
.op-method-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:var(--text2);
  font-size:.53rem;
  line-height:1;
}
.op-method-pill i{
  color:var(--teal);
  font-size:.58rem;
}
.op-limit{
  color:var(--text2);
  font-size:.68rem;
  line-height:1.15;
  white-space:nowrap;
}
.op-select-btn{
  width:auto;
  min-width:104px;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:8px;
  background:var(--teal) !important;
  color:#071214;
  font-size:.78rem;
}
.op-select-action{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.op-select-action .op-select-stats-link{
  margin-top:0;
}
.op-select-more-btn{
  width:100%;
  min-height:40px;
  border:1px solid rgba(255,255,255,.08);
  border-top:0;
  border-radius:0 0 8px 8px;
  background:rgba(255,255,255,.035);
  color:var(--text2);
  font-family:'Outfit',sans-serif;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.op-select-more-btn:hover{color:var(--text);background:rgba(255,255,255,.055);}
html[data-theme="light"] .op-select-list,
html[data-theme="light"] .op-select-card{
  border-color:rgba(15,23,42,.10);
}
html[data-theme="light"] .op-select-card{
  border-bottom-color:rgba(0,142,120,.24);
}
html[data-theme="light"] .op-select-list{
  background:#FFFFFF;
}
html[data-theme="light"] .op-select-card.recommended{
  background:rgba(0,142,120,.045);
}
html[data-theme="light"] .op-method-pill,
html[data-theme="light"] .op-select-more-btn{
  border-color:rgba(15,23,42,.12);
}
html[data-theme="light"] .op-select-more-btn{
  background:#F7FAFD;
}
@media(max-width:420px){
  .op-select-main{
    grid-template-columns:minmax(0,1fr);
    align-items:flex-start;
  }
  .op-select-side{
    min-width:0;
    width:100%;
    align-items:flex-end;
    padding-top:0;
    margin-top:2px;
  }
  .op-method-row{justify-content:flex-start;}
  .op-select-btn{width:auto;}
  .op-limit{white-space:normal;}
}

.p2p-op-code{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:2px 7px;
  border:1px solid var(--border,#1f2937);
  border-radius:6px;
  color:var(--text2);
  background:rgba(255,255,255,.04);
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:0;
  overflow-wrap:anywhere;
}

.p2p-id-inline{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  overflow-wrap:anywhere;
}

.p2p-receipt-btn{
  white-space:normal;
}

.legal-check-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:10px 0 12px;
  color:var(--text2);
  font-size:.78rem;
  line-height:1.35;
}
.legal-check-row input{
  margin-top:2px;
  flex:0 0 auto;
}
.legal-check-row button{
  border:0;
  background:none;
  color:var(--teal);
  cursor:pointer;
  font:inherit;
  font-weight:700;
  padding:0;
  text-decoration:underline;
}

.onboarding-shell,
.onboarding-dashboard{
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:18px 16px 32px;
}
.onboarding-shell-narrow{
  max-width:540px;
  min-height:60vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.onboarding-progress{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:26px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(0,201,167,.10);
  color:var(--teal);
  border:1px solid rgba(0,201,167,.20);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
}
.register-progress{
  margin:0 auto 12px;
}
.onboarding-status-card,
.onboarding-kyc-card,
.onboarding-limited-hero{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(145deg,rgba(10,15,26,.96),rgba(17,24,39,.92));
  box-shadow:0 20px 55px rgba(0,0,0,.28);
  border-radius:16px;
}
.onboarding-status-card{
  margin-top:14px;
  padding:24px;
  text-align:center;
}
.onboarding-status-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  border-radius:16px;
  background:rgba(0,201,167,.12);
  color:var(--teal);
  font-size:1.35rem;
}
.onboarding-status-card h1,
.onboarding-limited-hero h1,
.onboarding-kyc-card h2{
  margin:0 0 8px;
  color:var(--text);
  letter-spacing:0;
}
.onboarding-status-card p,
.onboarding-limited-hero p,
.onboarding-kyc-card p,
.onboarding-muted{
  color:var(--text2);
  font-size:.92rem;
  line-height:1.5;
}
.onboarding-email-box{
  margin:16px 0 10px;
  padding:12px;
  border-radius:10px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);
  font-family:'JetBrains Mono',monospace;
  font-size:.86rem;
  overflow-wrap:anywhere;
}
.onboarding-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:18px;
}
.onboarding-btn{
  max-width:360px;
  margin:0 auto;
}
.onboarding-secondary,
.onboarding-link-btn{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--text);
  border-radius:10px;
  padding:11px 14px;
  font-weight:800;
  cursor:pointer;
}
.onboarding-link-btn{
  background:transparent;
  color:var(--text3);
  border-color:transparent;
}
.onboarding-dashboard{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.onboarding-limited-hero{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:20px;
}
.onboarding-check-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.onboarding-check{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:12px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
  color:var(--text2);
  font-weight:700;
  font-size:.82rem;
}
.onboarding-check i{color:var(--text3);}
.onboarding-check.ok i{color:var(--teal);}
.onboarding-check.pending i{color:var(--gold);}
.onboarding-kyc-card{
  padding:22px;
}
.onboarding-kyc-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.onboarding-kyc-top .onboarding-status-icon{
  margin:0;
}
.onboarding-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:16px 0;
}
.onboarding-benefits span{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:var(--text2);
  font-size:.82rem;
  font-weight:700;
}
.onboarding-benefits i{color:var(--teal);}

@media (max-width:640px){
  .onboarding-limited-hero{flex-direction:column;}
  .onboarding-check-grid,
  .onboarding-benefits{grid-template-columns:1fr;}
}
.legal-doc-overlay,
.legal-required-overlay{
  position:fixed;
  inset:0;
  z-index:1500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(9,14,26,.82);
  backdrop-filter:blur(8px);
}
.legal-doc-overlay.hidden,
.legal-required-overlay.hidden{display:none;}
.legal-doc-sheet,
.legal-required-sheet{
  width:min(560px,100%);
  max-height:86vh;
  overflow:auto;
  background:var(--surface,#111827);
  border:1px solid var(--border,#1f2937);
  border-radius:8px;
  box-shadow:0 18px 60px rgba(0,0,0,.45);
}
.legal-doc-header{
  position:sticky;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  background:var(--surface,#111827);
  border-bottom:1px solid var(--border,#1f2937);
}
.legal-doc-header button{
  width:34px;
  height:34px;
  border:1px solid var(--border,#1f2937);
  border-radius:8px;
  background:transparent;
  color:var(--text1);
  cursor:pointer;
}
.legal-doc-body{
  padding:16px;
  white-space:pre-wrap;
  color:var(--text2);
  font-size:.86rem;
  line-height:1.55;
}
.legal-required-sheet{
  padding:22px;
  text-align:left;
}
.legal-required-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:var(--teal);
  background:rgba(0,201,167,.12);
  margin-bottom:12px;
}
.legal-required-sheet h2{
  margin:0 0 8px;
  font-size:1.15rem;
}
.legal-required-sheet p{
  margin:0 0 14px;
  color:var(--text2);
  font-size:.9rem;
  line-height:1.45;
}
.legal-required-error{
  display:none;
  color:var(--red);
  font-size:.82rem;
  margin:8px 0;
}
.legal-required-submit{
  width:100%;
  margin-top:8px;
}
