/* =========================================================================
   Vertex FX — painel do usuário. App shell + temas claro/escuro.
   ========================================================================= */
:root{
  --gold-1:#f6d77a; --gold-2:#caa24a; --gold-3:#9c7a2c;
  --up:#3ddc84; --down:#ff5f5f;
  --f-body:'Inter',system-ui,-apple-system,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-disp:'Sora','Inter',system-ui,-apple-system,'PingFang SC','Microsoft YaHei','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --sb-w:248px;
}
/* ----- tema escuro (padrão) ----- */
:root, :root[data-theme="dark"]{
  --bg:#08080a; --surface:#0f0f13; --surface-2:#16161b; --surface-3:#1c1c22;
  --sidebar:#0b0b0e; --ink:#f2f0ec; --ink-2:#b9b4ab; --muted:#84807a;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.05);
  --gold-txt:#f6d77a; --line-gold:rgba(202,162,74,.3); --shadow:0 18px 44px rgba(0,0,0,.4);
}
/* ----- tema claro ----- */
:root[data-theme="light"]{
  --bg:#f4f4f1; --surface:#ffffff; --surface-2:#ffffff; --surface-3:#f2f1ec;
  --sidebar:#ffffff; --ink:#14141a; --ink-2:#4d4d59; --muted:#74747f;
  --line:rgba(20,20,26,.10); --line-2:rgba(20,20,26,.06);
  --gold-txt:#8a6a1e; --line-gold:rgba(160,125,42,.34); --shadow:0 12px 34px rgba(20,20,26,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg);transition:background .3s ease}
body{font-family:var(--f-body);background:transparent;color:var(--ink);line-height:1.6;
  -webkit-font-smoothing:antialiased;min-height:100dvh;transition:color .3s ease}
/* fundo WebGL animado — atrás de todo o conteúdo */
#bgfx{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--f-disp);letter-spacing:-.02em;line-height:1.15}
.gold{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* conteúdo em largura total; navegação por dock (desktop) + bottom nav (mobile).
   A sidebar existe só como drawer no mobile (aberto pelo hambúrguer do bottom nav). */
.app{display:block;min-height:100dvh}
.content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
@media (max-width:900px){.content{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}

/* ---------- SIDEBAR (drawer mobile) ---------- */
.sidebar{background:var(--sidebar);border-right:1px solid var(--line);
  display:flex;flex-direction:column;position:fixed;left:0;top:0;width:min(280px,84vw);height:100dvh;
  overflow-y:auto;z-index:46;transform:translateX(-100%);
  transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.sidebar.open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.5)}
.sb-brand{display:flex;align-items:center;gap:.55rem;padding:1.2rem 1.2rem 1rem}
.sb-brand img{width:26px;height:auto}
.sb-brand .wm{font-family:var(--f-disp);font-weight:800;font-size:.92rem;color:var(--ink);white-space:nowrap}
.sb-brand .wm b{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sb-nav{flex:1;padding:.4rem .7rem;display:flex;flex-direction:column;gap:.15rem}
.sb-link{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:11px;
  color:var(--ink-2);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .18s ease,color .18s ease}
.sb-link:hover{background:var(--surface-3);color:var(--ink)}
.sb-link.active{background:rgba(202,162,74,.12);color:var(--gold-txt)}
.sb-link svg{width:19px;height:19px;flex-shrink:0}
.sb-foot{padding:1rem 1.2rem;border-top:1px solid var(--line)}
.sb-social-lbl{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.sb-social{display:flex;gap:.5rem}
.sb-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:11px;border:1px solid var(--line);color:var(--ink-2);transition:.2s ease}
.sb-social a:hover{color:var(--gold-txt);border-color:var(--gold-2);transform:translateY(-2px)}
.sb-social svg{width:18px;height:18px}

/* ---------- TOPBAR ---------- */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.8rem;
  padding:calc(.85rem + env(safe-area-inset-top)) clamp(1rem,3vw,1.8rem) .85rem;background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.tb-menu{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:transparent;
  color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.tb-menu svg{width:20px;height:20px}
@media (max-width:900px){.tb-menu{display:inline-flex}}
.tb-brand{display:flex;align-items:center;gap:.5rem}
.tb-brand img{width:26px;height:auto}
.tb-brand .wm{font-family:var(--f-disp);font-weight:800;font-size:.9rem;color:var(--ink);white-space:nowrap}
.tb-brand .wm b{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tb-spacer{flex:1}
.tb-actions{display:flex;align-items:center;gap:.5rem}
.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:transparent;
  color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s ease}
.icon-btn:hover{color:var(--gold-txt);border-color:var(--gold-2)}
.icon-btn svg{width:19px;height:19px}

/* seletor de idioma (reaproveita padrão) */
.fg{border-radius:2px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.14) inset;display:block}
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:.34rem;height:40px;padding:0 .6rem;border:1px solid var(--line);
  border-radius:11px;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--f-body);font-size:.82rem;font-weight:600;transition:.2s ease}
.lang-btn:hover{border-color:var(--gold-2)}
.lang-btn .fg{width:18px;height:12px}
.lang-menu{position:absolute;right:0;top:calc(100% + .5rem);min-width:168px;background:var(--surface);
  border:1px solid var(--line);border-radius:12px;padding:.3rem;box-shadow:var(--shadow);z-index:90;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;max-height:min(70vh,420px);overflow-y:auto}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{display:flex;align-items:center;gap:.6rem;width:100%;min-height:36px;padding:.4rem .55rem;border:0;
  background:transparent;border-radius:9px;cursor:pointer;color:var(--ink-2);font-family:var(--f-body);font-size:.82rem;font-weight:500;text-align:left;transition:.18s ease}
.lang-menu button:hover{background:var(--surface-3);color:var(--ink)}
.lang-menu button[aria-current="true"]{color:var(--gold-txt)}
.lang-menu .fg{width:22px;height:15px}

.user-chip{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem .3rem .3rem;border:1px solid var(--line);
  border-radius:999px;background:transparent}
.avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-disp);font-weight:800;font-size:.82rem;color:#14110a;background:linear-gradient(140deg,var(--gold-1),var(--gold-3))}
.user-chip .nm{font-size:.82rem;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:560px){.user-chip .nm{display:none}}

/* ---------- CONTENT (premium, alinhado à landing) ---------- */
/* brilho dourado sutil de fundo — como o halo do hero na landing */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(58% 46% at 88% -6%, rgba(202,162,74,.10), transparent 68%)}
:root[data-theme="light"] body::before{background:radial-gradient(58% 46% at 88% -6%, rgba(202,162,74,.08), transparent 66%)}
.topbar,.content{position:relative;z-index:1}

.content{min-width:0}
.view{max-width:1120px;margin:0 auto;padding:clamp(1.4rem,3.5vw,2.4rem) clamp(1rem,3vw,1.8rem) 4rem}
.view-head{margin-bottom:1.9rem}
.view-head .eyebrow{display:inline-block;font-family:var(--f-disp);font-size:.7rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-txt);margin-bottom:.7rem}
.view-head h1{font-size:clamp(1.6rem,4.2vw,2.2rem);font-weight:800;letter-spacing:-.02em}
.view-head h1 .g{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.view-head p{color:var(--ink-2);font-weight:300;margin-top:.35rem}

/* base premium dos cards: destaque no topo + sombra em camadas */
.card,.tile,.soon{position:relative;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, var(--shadow)}
:root[data-theme="light"] .card,:root[data-theme="light"] .tile,:root[data-theme="light"] .soon{box-shadow:var(--shadow)}

.tiles{display:grid;gap:1rem;grid-template-columns:1fr;margin-bottom:1.1rem}
@media (min-width:640px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{padding:1.5rem;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.tile:hover{transform:translateY(-3px);border-color:var(--line-gold,rgba(202,162,74,.3))}
.tile .k{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tile .v{font-family:var(--f-disp);font-weight:700;font-size:1.7rem;letter-spacing:-.03em;margin-top:.55rem;color:var(--ink);line-height:1}
.tile .v.gold{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-theme="light"] .tile .v.gold{background:linear-gradient(120deg,#a07d2a,#6f5416);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tile .sub{font-size:.8rem;color:var(--muted);margin-top:.5rem}
.tile .sub .up{color:var(--up)} .tile .sub .down{color:var(--down)}

/* card-herói: gradiente dourado + halo pulsando (como o card 0 do Modelo na landing) */
.tile-hero{grid-column:1/-1;padding:clamp(1.6rem,4vw,2.2rem);
  border-color:var(--line-gold,rgba(202,162,74,.32));
  background:linear-gradient(150deg,rgba(202,162,74,.14),var(--surface-2) 58%)}
.tile-hero::before{content:'';position:absolute;left:-4%;top:-40%;width:52%;height:110%;pointer-events:none;
  filter:blur(46px);background:radial-gradient(circle,rgba(202,162,74,.28),transparent 70%);
  animation:hglow 6.5s ease-in-out infinite}
@keyframes hglow{0%,100%{opacity:.5}50%{opacity:1}}
.tile-hero > *{position:relative;z-index:1}
.th-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.th-k{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.th-live{display:inline-flex;align-items:center;gap:.4rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--up)}
.th-live .pip{width:7px;height:7px;border-radius:50%;background:var(--up);box-shadow:0 0 0 0 rgba(61,220,132,.5);animation:hpulse 2.4s infinite}
@keyframes hpulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.5)}70%{box-shadow:0 0 0 9px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.th-v{font-family:var(--f-disp);font-weight:800;font-size:clamp(2.2rem,7vw,3.2rem);letter-spacing:-.04em;line-height:1;margin:.7rem 0 .5rem;
  background:linear-gradient(120deg,#fff,var(--gold-1) 60%,var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-theme="light"] .th-v{background:linear-gradient(120deg,#14141a,#a07d2a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.th-sub{font-size:.86rem;color:var(--ink-2)}
.th-sub b{color:var(--gold-txt);font-weight:600}

.card{padding:1.6rem;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.card:hover{border-color:var(--line-gold,rgba(202,162,74,.3));
  box-shadow:0 14px 34px rgba(0,0,0,.24), 0 0 0 1px rgba(202,162,74,.10), 0 0 24px rgba(202,162,74,.06)}
:root[data-theme="light"] .card:hover{box-shadow:0 14px 30px rgba(60,50,20,.10), 0 0 0 1px rgba(202,162,74,.18)}
.card + .card{margin-top:1rem}
.card h3{font-family:var(--f-disp);font-size:1.05rem;font-weight:700;margin-bottom:.9rem;display:flex;align-items:center;gap:.55rem}
.card h3 .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-2)}
.kv{display:flex;justify-content:space-between;gap:1rem;padding:.62rem 0;border-bottom:1px solid var(--line-2);font-size:.9rem}
.kv:last-child{border-bottom:0}
.kv .kk{color:var(--muted)}
.kv .vv{color:var(--ink);font-weight:500}

.soon{margin-top:1.2rem;border-style:dashed;border-color:var(--line-gold,rgba(202,162,74,.34));padding:2.4rem 1.4rem;text-align:center;
  background:linear-gradient(160deg,rgba(202,162,74,.06),transparent 60%)}
.soon .ico{width:56px;height:56px;margin:0 auto 1rem;border-radius:16px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line-gold,rgba(202,162,74,.3));background:rgba(202,162,74,.10);color:var(--gold-txt)}
.soon .ico svg{width:25px;height:25px}
.soon .t{font-family:var(--f-disp);font-weight:700;font-size:1.15rem;color:var(--ink)}
.soon .d{color:var(--muted);font-size:.9rem;margin-top:.4rem}

/* ---------- BOTTOM DOCK FLUTUANTE (mobile, mesma linguagem do desktop) ---------- */
.botnav{position:fixed;left:50%;bottom:calc(.85rem + env(safe-area-inset-bottom));transform:translateX(-50%);
  z-index:42;display:none;align-items:center;gap:.15rem;padding:.35rem;border-radius:999px;
  background:color-mix(in srgb,var(--sidebar) 78%,transparent);border:1px solid var(--line);
  box-shadow:0 16px 42px rgba(0,0,0,.42),0 0 0 1px var(--line-2);
  backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);max-width:calc(100vw - 1.6rem)}
@media (max-width:900px){.botnav{display:flex}}
.bn{display:flex;align-items:center;justify-content:center;padding:.6rem;border-radius:999px;border:0;background:none;
  cursor:pointer;color:var(--muted);font-family:var(--f-body);
  transition:background .25s ease,color .2s ease,padding .28s cubic-bezier(.2,.7,.2,1)}
.bn svg{width:23px;height:23px;flex-shrink:0}
.bn span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;font-size:.78rem;font-weight:600;
  transition:max-width .3s cubic-bezier(.2,.7,.2,1),opacity .22s ease,margin-left .28s ease}
/* item ativo vira pílula dourada com o nome */
.bn.active{background:linear-gradient(120deg,rgba(246,215,122,.22),rgba(202,162,74,.16));color:var(--gold-txt);padding:.6rem .95rem}
.bn.active span{max-width:120px;opacity:1;margin-left:.45rem}
.bn:not(.active):active{transform:scale(.9)}

/* ---------- BOTTOM SHEET (mobile, padrão nativo) ---------- */
.sheet-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:48;opacity:0;visibility:hidden;
  transition:opacity .28s ease,visibility .28s}
.sheet-scrim.show{opacity:1;visibility:visible}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:49;background:var(--surface);
  border-top:1px solid var(--line);border-radius:24px 24px 0 0;
  padding:.7rem clamp(1rem,4vw,1.4rem) calc(1.6rem + env(safe-area-inset-bottom));
  transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.7,.2,1);
  box-shadow:0 -24px 60px rgba(0,0,0,.42);will-change:transform;touch-action:none}
.sheet.show{transform:none}
.sheet-grip{width:42px;height:4px;border-radius:99px;background:var(--line);margin:.3rem auto 1.1rem}
.sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
@media (max-width:359px){.sheet-grid{grid-template-columns:repeat(3,1fr)}}
.sheet-item{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.9rem .2rem;
  border-radius:16px;color:var(--ink-2);text-align:center;transition:background .18s ease}
.sheet-item:active{background:var(--surface-3)}
.sheet-item .si-ic{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:var(--surface-3);color:var(--ink);transition:.2s ease}
.sheet-item .si-ic svg{width:23px;height:23px}
.sheet-item span{font-size:.72rem;font-weight:500;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.sheet-item.active .si-ic{background:linear-gradient(140deg,var(--gold-1),var(--gold-3));color:#14110a;
  box-shadow:0 8px 20px rgba(202,162,74,.35)}
.sheet-item.active span{color:var(--gold-txt);font-weight:600}
.sheet-social{display:flex;justify-content:center;gap:.6rem;margin-top:1.3rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.sheet-social a{width:44px;height:44px;border-radius:13px;border:1px solid var(--line);display:flex;
  align-items:center;justify-content:center;color:var(--ink-2);transition:.2s ease}
.sheet-social a:active{color:var(--gold-txt);border-color:var(--gold-2)}
.sheet-social svg{width:20px;height:20px}

/* ---------- DOCK FLUTUANTE (desktop) ---------- */
.dock{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:40;
  display:none;align-items:center;gap:.3rem;padding:.5rem;border-radius:20px;
  background:color-mix(in srgb,var(--sidebar) 82%,transparent);border:1px solid var(--line);
  box-shadow:0 18px 50px rgba(0,0,0,.4),0 0 0 1px var(--line-2);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@media (min-width:901px){.dock{display:flex}}
.dk{position:relative;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);cursor:pointer;transform-origin:center bottom;
  transition:transform .14s ease,background .18s ease,color .18s ease}
.dk:hover{background:var(--surface-3);color:var(--ink)}
.dk.active{color:var(--gold-txt);background:rgba(202,162,74,.14)}
.dk svg{width:22px;height:22px}
/* tooltip */
.dk .tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);
  padding:.3rem .6rem;border-radius:8px;background:var(--surface);border:1px solid var(--line);
  color:var(--ink);font-size:.72rem;font-weight:500;white-space:nowrap;pointer-events:none;
  opacity:0;transition:opacity .16s ease,transform .16s ease;box-shadow:var(--shadow)}
.dk:hover .tip{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- COMMAND PALETTE (Cmd+K) ---------- */
.cmdk-btn{display:none;align-items:center;gap:.5rem;height:40px;padding:0 .8rem;border:1px solid var(--line);
  border-radius:11px;background:transparent;color:var(--muted);cursor:pointer;font-family:var(--f-body);font-size:.82rem;transition:.2s ease}
.cmdk-btn:hover{border-color:var(--gold-2);color:var(--ink)}
.cmdk-btn svg{width:16px;height:16px}
.cmdk-btn kbd{font-family:var(--f-body);font-size:.68rem;border:1px solid var(--line);border-radius:5px;padding:.05rem .3rem;color:var(--muted)}
@media (min-width:701px){.cmdk-btn{display:inline-flex}}
.cmdk{position:fixed;inset:0;z-index:80;display:none;align-items:flex-start;justify-content:center;
  padding:14vh 1rem 1rem;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.cmdk.show{display:flex}
.cmdk-panel{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 40px 90px rgba(0,0,0,.5);overflow:hidden;animation:cmdkIn .18s ease}
@keyframes cmdkIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1}}
.cmdk-search{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line)}
.cmdk-search svg{width:19px;height:19px;color:var(--muted);flex-shrink:0}
.cmdk-search input{flex:1;border:0;background:none;color:var(--ink);font-family:var(--f-body);font-size:1rem;outline:none}
.cmdk-search input::placeholder{color:var(--muted)}
.cmdk-list{max-height:min(52vh,420px);overflow-y:auto;padding:.4rem}
.cmdk-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:11px;cursor:pointer;color:var(--ink-2)}
.cmdk-item .ci-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:var(--surface-3);color:var(--gold-txt);flex-shrink:0}
.cmdk-item .ci-ic svg{width:18px;height:18px}
.cmdk-item .ci-t{font-size:.9rem;font-weight:500;color:var(--ink)}
.cmdk-item .ci-d{font-size:.76rem;color:var(--muted)}
.cmdk-item.sel,.cmdk-item:hover{background:rgba(202,162,74,.12)}
.cmdk-item.sel .ci-t{color:var(--gold-txt)}
.cmdk-empty{padding:1.4rem;text-align:center;color:var(--muted);font-size:.88rem}
.cmdk-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.1rem;border-top:1px solid var(--line)}
.cmdk-social{display:flex;gap:.4rem}
.cmdk-social a{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:.2s ease}
.cmdk-social a:hover{color:var(--gold-txt);border-color:var(--gold-2)}
.cmdk-social svg{width:16px;height:16px}
.cmdk-hint{font-size:.72rem;color:var(--muted)}

@media (min-width:901px){.scrim{display:none}}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- SUPORTE ---------- */
.field{margin-bottom:1rem}
.field label{display:block;font-size:.78rem;font-weight:500;color:var(--ink-2);margin-bottom:.4rem}
.field label .opt{color:var(--muted);font-weight:400}
.inp{width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-3);
  color:var(--ink);font-family:var(--f-body);font-size:.92rem;transition:border-color .2s ease}
textarea.inp{resize:vertical;min-height:96px}
select.inp{appearance:none;-webkit-appearance:none;cursor:pointer}
.inp:focus{outline:none;border-color:var(--gold-2)}
.msg{display:none;margin-bottom:1rem;padding:.7rem .9rem;border-radius:11px;font-size:.85rem}
.msg.show{display:block}
.msg.error{background:rgba(255,95,95,.10);border:1px solid rgba(255,95,95,.3);color:#ff8f8f}
.msg.ok{background:rgba(61,220,132,.10);border:1px solid rgba(61,220,132,.3);color:#7ce8a8}
.sup-wa-hint{font-size:.82rem;color:var(--muted);line-height:1.45;padding:.2rem 0}
.sup-note{font-size:.82rem;padding:.7rem .9rem;border-radius:11px;margin-bottom:1rem;line-height:1.45}
.sup-note.wa{background:rgba(61,220,132,.08);border:1px solid rgba(61,220,132,.25);color:var(--ink-2)}
.sup-note.tk{background:rgba(202,162,74,.08);border:1px solid var(--line-gold);color:var(--ink-2)}
.sup-files{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.sup-file{font-size:.74rem;padding:.25rem .55rem;border-radius:8px;background:var(--surface-3);color:var(--ink-2)}
input[type="file"]{font-size:.84rem;color:var(--ink-2)}
/* botão primário refinado: largura do conteúdo, cantos suaves, brilho discreto */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:auto;min-height:42px;padding:0 1.25rem;
  border-radius:12px;border:0;cursor:pointer;font-family:var(--f-disp);font-size:.86rem;font-weight:600;
  background:linear-gradient(120deg,var(--gold-1),var(--gold-2));color:#14110a;box-shadow:0 2px 10px rgba(202,162,74,.14);
  transition:transform .2s ease,box-shadow .25s ease,opacity .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(202,162,74,.2)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.btn.block{width:100%}   /* utilitário p/ quando o botão precisa ocupar a linha */
.sup-empty{color:var(--muted);font-size:.88rem;padding:.6rem 0}

.ticket-row{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;border:0;background:none;cursor:pointer;
  padding:.85rem 0;border-bottom:1px solid var(--line-2)}
.ticket-row:last-child{border-bottom:0}
.tr-main{flex:1;min-width:0}
.tr-title{font-weight:600;font-size:.92rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-meta{font-size:.76rem;color:var(--muted);margin-top:.2rem}
.tr-status{flex-shrink:0;font-size:.7rem;font-weight:600;padding:.28rem .7rem;border-radius:999px;white-space:nowrap}
.st-open{background:rgba(202,162,74,.16);color:var(--gold-txt)}
.st-in_progress{background:rgba(83,189,235,.16);color:#69c7ef}
.st-done{background:rgba(61,220,132,.16);color:#5fd88a}
.st-closed{background:var(--surface-3);color:var(--muted)}

/* chat */
.sup-back{border:0;background:none;color:var(--gold-txt);font-family:var(--f-body);font-size:.88rem;font-weight:600;
  cursor:pointer;padding:.2rem 0;margin-bottom:.8rem}
.chatbox{border:1px solid var(--line);border-radius:18px;background:var(--surface-2);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);background:var(--surface-3)}
.ch-title{font-family:var(--f-disp);font-weight:700;font-size:.98rem}
.ch-sub{font-size:.76rem;color:var(--muted);margin-top:.15rem}
.chat-scroll{height:min(52vh,460px);overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.5rem;
  background:var(--bg)}
.bubble{max-width:80%;padding:.6rem .85rem;border-radius:14px;font-size:.9rem;line-height:1.45;position:relative;word-wrap:break-word}
.bubble.me{align-self:flex-end;background:linear-gradient(135deg,var(--gold-2),var(--gold-3));color:#fff;border-bottom-right-radius:5px}
.bubble.them{align-self:flex-start;background:var(--surface-3);color:var(--ink);border-bottom-left-radius:5px}
.bubble .bt{display:block;font-size:.62rem;opacity:.7;margin-top:.3rem}
.chat-att{display:inline-block;margin-top:.35rem;font-size:.82rem;text-decoration:underline;cursor:pointer;opacity:.95}
.chat-input{display:flex;align-items:center;gap:.5rem;padding:.7rem;border-top:1px solid var(--line);background:var(--surface-2)}
.chat-input .inp{flex:1;border-radius:999px}
.chat-attach{width:42px;height:42px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-2)}
.chat-attach:hover{color:var(--gold-txt);border-color:var(--gold-2)}
.chat-attach svg{width:19px;height:19px}
.chat-send{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(120deg,var(--gold-1),var(--gold-2));color:#14110a;display:flex;align-items:center;justify-content:center}
.chat-send svg{width:19px;height:19px}
/* rating */
.rate-box{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-top:1px solid var(--line);background:var(--surface-3);font-size:.88rem;color:var(--ink-2)}
.stars{display:flex;gap:.25rem}
.stars button{border:0;background:none;cursor:pointer;font-size:1.7rem;line-height:1;color:var(--line);transition:color .12s ease}
.stars button.on{color:var(--gold-1)}
.rate-done{padding:.9rem;text-align:center;border-top:1px solid var(--line);background:rgba(61,220,132,.08);color:#7ce8a8;font-size:.86rem}

/* ---------- ADMIN ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}
.chip-f{border:1px solid var(--line);background:transparent;color:var(--ink-2);border-radius:999px;
  padding:.4rem .9rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:.18s ease}
.chip-f:hover{border-color:var(--gold-2)}
.chip-f.on{background:rgba(202,162,74,.16);color:var(--gold-txt);border-color:var(--line-gold)}
.admin-chat-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.act-info{min-width:0}
.act-controls{display:flex;gap:.5rem;flex-wrap:wrap}
.inp.mini{width:auto;padding:.5rem .7rem;font-size:.82rem}
.att-row{display:flex;align-items:center;gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--line-2)}
.att-row:last-child{border-bottom:0}
.att-av{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;
  font-family:var(--f-disp);font-weight:800;color:#14110a;background:linear-gradient(140deg,var(--gold-1),var(--gold-3))}
.att-av img{width:100%;height:100%;object-fit:cover}
.att-main{flex:1;min-width:0}
.att-nm{font-weight:600;font-size:.92rem}
.att-status{margin-top:.3rem;border:1px solid var(--line);background:transparent;border-radius:999px;padding:.2rem .7rem;
  font-size:.72rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}
.att-status::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--muted)}
.att-status.online{color:#5fd88a} .att-status.online::before{background:#3ddc84}
.att-status.offline{color:var(--muted)}
.att-del{width:38px;height:38px;flex-shrink:0;border:1px solid var(--line);border-radius:11px;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}
.att-del:hover{color:var(--down);border-color:var(--down)}
.att-del svg{width:17px;height:17px}
.wa-row{margin-bottom:.9rem}
.wa-row label{display:block;font-size:.8rem;font-weight:500;color:var(--ink-2);margin-bottom:.4rem}

/* atendente no topo do chat */
.agent{display:flex;align-items:center;gap:.65rem;min-width:0}
/* sem overflow:hidden aqui — senão a bolinha de status é cortada; a foto se recorta sozinha */
.agent-av{position:relative;width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-disp);font-weight:800;color:#14110a;background:linear-gradient(140deg,var(--gold-1),var(--gold-3))}
.agent-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.agent-av.gen{background:var(--surface-2);color:var(--gold-txt);border:1px solid var(--line)}
.agent-av.gen svg{width:20px;height:20px}
.agent-dot{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border-radius:50%;z-index:2;
  border:2.5px solid var(--surface-3);background:var(--muted)}
.agent-dot.online{background:#3ddc84}
.agent-txt{min-width:0}
.agent-nm{font-family:var(--f-disp);font-weight:700;font-size:.92rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-st{font-size:.72rem;color:var(--muted);margin-top:.1rem}
.agent-st.online{color:#5fd88a}
.chat-subline{padding:.6rem 1.2rem;border-bottom:1px solid var(--line);background:var(--surface-3);
  font-size:.8rem;color:var(--muted)}
/* atribuição por mensagem: quando muda o agente que respondeu */
.msg-agent{display:flex;align-items:center;gap:.5rem;align-self:flex-start;margin:.7rem 0 .05rem 2px}
.msg-agent .ma-av{position:relative;width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-disp);font-weight:800;font-size:.72rem;color:#14110a;background:linear-gradient(140deg,var(--gold-1),var(--gold-3))}
.msg-agent .ma-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.msg-agent .ma-av.gen{background:var(--surface-3);color:var(--gold-txt)}
.msg-agent .ma-av.gen svg{width:14px;height:14px}
.msg-agent .ma-dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;border:2px solid var(--bg);background:var(--muted)}
.msg-agent .ma-dot.online{background:#3ddc84}
.msg-agent .ma-nm{font-size:.74rem;font-weight:600;color:var(--gold-txt)}

/* ---------- PERFIL (rede social) ---------- */
/* ---- capa: camadas empilhadas, identidade sempre por cima ---- */
.profile-head{position:relative;margin-bottom:1.4rem}
.profile-cover{height:clamp(140px,24vw,210px);border-radius:20px;position:relative;overflow:hidden;z-index:0;
  background:linear-gradient(120deg,rgba(202,162,74,.25),rgba(156,122,44,.12) 55%,var(--surface-2));
  border:1px solid var(--line)}
.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center;z-index:0}
.cover-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
/* alpha p/ legibilidade — mais forte embaixo, onde a identidade encosta */
.profile-cover::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,6,9,.10) 0%,rgba(6,6,9,.34) 52%,rgba(6,6,9,.74) 100%)}
.profile-cover.has-img{background:var(--surface-2)}
.pc-glow{position:absolute;right:8%;top:-40%;width:46%;height:150%;z-index:2;filter:blur(50px);pointer-events:none;
  background:radial-gradient(circle,rgba(202,162,74,.4),transparent 70%);animation:hglow 7s ease-in-out infinite}
.profile-id{position:relative;z-index:3;display:flex;align-items:flex-end;gap:1.2rem;margin:-52px .4rem 0;padding:0;flex-wrap:wrap}
/* nome e @apelido ficam SOBRE a capa; a COR é definida pelo admin (inline, vinda do
   app_settings) para casar com cada banner. Aqui só a sombra p/ dar contraste extra.
   A linha de meta cai ABAIXO da capa -> mantém a cor do tema (--muted). */
.profile-id .pf-name,.profile-id .pf-nick{text-shadow:0 1px 12px rgba(0,0,0,.55)}
/* admin: preview + enquadramento da capa global */
.cv-frame{position:relative;height:clamp(130px,24vw,220px);border-radius:16px;border:1px solid var(--line);overflow:hidden;
  background:linear-gradient(120deg,rgba(202,162,74,.18),var(--surface-2));cursor:grab;user-select:none;touch-action:none}
.cv-frame.drag{cursor:grabbing}
.cv-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center}
.cv-frame .cv-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem;pointer-events:none}
.cv-frame .cv-grid{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .2s;
  background:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px) 0 33.3%/100% 33.3% ,
             linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px) 33.3% 0/33.3% 100%}
.cv-frame.drag .cv-grid{opacity:1}
.cv-zoom{display:flex;align-items:center;gap:.7rem;margin:.9rem 0 1rem;color:var(--muted);font-size:.85rem}
.cv-zoom input[type=range]{flex:1;accent-color:var(--gold-2)}
.cv-tip{color:var(--muted);font-size:.85rem;margin:.8rem 0 1rem}
/* scrim + amostra do nome/apelido sobre o banner (mesma faixa escura do perfil) */
.cv-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,6,9,.10) 0%,rgba(6,6,9,.34) 52%,rgba(6,6,9,.74) 100%)}
.cv-sample{position:absolute;left:1rem;bottom:.9rem;z-index:3}
.cv-sample-name{font-family:var(--f-disp);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.cv-sample-nick{font-weight:600;font-size:.9rem;margin-top:.1rem;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.cv-colors{display:flex;gap:1rem;flex-wrap:wrap;margin:.2rem 0 1rem}
.cv-color{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink-2);font-size:.85rem;cursor:pointer}
.cv-color input[type=color]{width:38px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:none;cursor:pointer}
.cv-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none}
.btn.ghost:hover{border-color:var(--gold-2);color:var(--gold-txt);box-shadow:none;transform:translateY(-1px)}
.pf-avatar-wrap{position:relative;flex-shrink:0}
.pf-avatar{width:104px;height:104px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-disp);font-weight:800;font-size:2.2rem;color:#14110a;
  background:linear-gradient(140deg,var(--gold-1),var(--gold-3));
  border:4px solid var(--bg);box-shadow:0 10px 30px rgba(0,0,0,.3)}
.pf-avatar img{width:100%;height:100%;object-fit:cover}
/* anel verificado */
.pf-avatar-wrap.verified .pf-avatar{border-color:transparent;
  background:linear-gradient(140deg,var(--gold-1),var(--gold-3)) padding-box,
             linear-gradient(120deg,var(--gold-1),#3ddc84) border-box;border:4px solid transparent}
.pf-check{position:absolute;right:2px;bottom:2px;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(120deg,#3ddc84,#2bb673);color:#06301c;display:flex;align-items:center;justify-content:center;
  border:3px solid var(--bg)}
.pf-check svg{width:15px;height:15px}
.pf-cam{position:absolute;right:2px;top:2px;width:32px;height:32px;border-radius:50%;cursor:pointer;
  background:rgba(8,8,10,.8);color:#fff;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;
  transition:.2s ease}
.pf-cam:hover{background:var(--gold-2);color:#14110a}
.pf-cam.busy{opacity:.5;pointer-events:none}
.pf-cam svg{width:16px;height:16px}
.pf-idtext{padding-bottom:.3rem;min-width:0}
.pf-name{display:flex;align-items:center;gap:.4rem;font-family:var(--f-disp);font-weight:800;font-size:1.4rem;letter-spacing:-.02em}
.pf-vsmall{color:#3ddc84;display:inline-flex}
.pf-vsmall svg{width:16px;height:16px}
.pf-nick{color:var(--gold-txt);font-weight:600;font-size:.92rem;margin-top:.1rem}
.pf-meta{color:var(--muted);font-size:.82rem;margin-top:.3rem}
.pf-meta .dim{opacity:.7}
.pf-vbadge{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.72rem;font-weight:600;
  padding:.28rem .7rem;border-radius:999px;background:rgba(61,220,132,.14);color:#5fd88a}
.pf-vbadge svg{width:13px;height:13px}
.pf-vbadge.off{background:rgba(202,162,74,.12);color:var(--gold-txt)}
/* atalho discreto para o pedido de parceria IB (investidor com contrato ativo ≥ US$ 50) */
.pf-ibcta{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.74rem;font-weight:600;color:var(--muted);
  text-decoration:none;padding:.26rem .65rem;border-radius:999px;border:1px solid var(--line);transition:color .2s,border-color .2s}
.pf-ibcta svg{width:14px;height:14px}
.pf-ibcta svg.arr{width:12px;height:12px;opacity:.7}
.pf-ibcta:hover,.pf-ibcta:focus-visible{color:var(--gold-txt);border-color:rgba(202,162,74,.5)}

/* nível */
.level-card{margin-bottom:1rem}
.lv-top{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.lv-badge{width:46px;height:46px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-disp);font-weight:800;font-size:1.3rem;color:#14110a;background:linear-gradient(140deg,var(--gold-1),var(--gold-3))}
.lv-name{font-family:var(--f-disp);font-weight:700;font-size:1.05rem}
.lv-sub{font-size:.76rem;color:var(--muted);margin-top:.15rem}
.lv-bar{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden;border:1px solid var(--line)}
.lv-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold-1),var(--gold-2));
  box-shadow:0 0 12px rgba(202,162,74,.5);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.lv-foot{font-size:.78rem;color:var(--muted);margin-top:.6rem}

/* DDI no perfil (reaproveita padrão do signup) */
.phone{display:flex;gap:.5rem}
.ddi{position:relative;flex-shrink:0}
.ddi-btn{display:flex;align-items:center;gap:.4rem;height:100%;min-height:46px;padding:0 .7rem;border:1px solid var(--line);
  border-radius:12px;background:var(--surface-3);color:var(--ink);cursor:pointer;font-family:var(--f-body);font-size:.9rem;white-space:nowrap}
.ddi-btn .fg{width:22px;height:15px}
.ddi-btn .cv{width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg) translate(-1px,-1px)}
.ddi-menu{position:absolute;left:0;top:calc(100% + .4rem);min-width:180px;max-height:240px;overflow-y:auto;background:var(--surface);
  border:1px solid var(--line);border-radius:12px;padding:.3rem;z-index:20;box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s ease}
.ddi.open .ddi-menu{opacity:1;visibility:visible;transform:none}
.ddi-menu button{display:flex;align-items:center;gap:.6rem;width:100%;min-height:38px;padding:.4rem .55rem;border:0;background:transparent;
  border-radius:9px;cursor:pointer;color:var(--ink-2);font-family:var(--f-body);font-size:.85rem;text-align:left}
.ddi-menu button:hover{background:var(--surface-3);color:var(--ink)}
.ddi-menu .fg{width:22px;height:15px;flex-shrink:0}
.ddi-other-ico{width:22px;height:15px;border-radius:2px;background:var(--surface-3);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--gold-txt)}
.ddi-manual{width:78px;flex-shrink:0;text-align:center}
.phone .inp{flex:1;min-width:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.row2{grid-template-columns:1fr;gap:0}.row2 .field{margin-bottom:1rem}}
.field .opt{color:var(--muted);font-weight:400;font-size:.72rem}

/* cabeçalho: avatar com foto + anel verificado */
.avatar.has-img{background:none}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.avatar{overflow:hidden}
.user-chip.verified{box-shadow:0 0 0 1.5px #3ddc84}

/* ======================= PARTNERSHIP ======================= */
.pa-hero{margin-bottom:1rem}
/* campo de link como pílula, com ações em ícone discreto */
.pa-linkbox{display:flex;align-items:center;gap:.35rem;margin:.9rem 0 .2rem;padding:.4rem .5rem .4rem .85rem;
  border:1px solid var(--line-gold,rgba(202,162,74,.3));border-radius:14px;background:rgba(0,0,0,.2)}
:root[data-theme="light"] .pa-linkbox{background:rgba(202,162,74,.08)}
.pa-link-ico{display:flex;flex-shrink:0;color:var(--gold-txt)}
.pa-link-ico svg{width:16px;height:16px}
.pa-link{flex:1;min-width:0;border:0;background:none;color:var(--ink);
  font-family:var(--f-mono,ui-monospace,monospace);font-size:.84rem;outline:none;padding:0;text-overflow:ellipsis}
.pa-iconbtn{width:34px;height:34px;flex-shrink:0;border:0;border-radius:9px;background:transparent;color:var(--ink-2);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s ease}
.pa-iconbtn:hover{background:var(--surface-3);color:var(--gold-txt)}
.pa-iconbtn.ok{color:#3ddc84}
.pa-iconbtn svg{width:17px;height:17px}

/* níveis liberados */
.pa-levels{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1.1rem}
@media(min-width:640px){.pa-levels{grid-template-columns:repeat(4,1fr)}}
.pa-lv{padding:.85rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);opacity:.7;transition:.25s ease}
.pa-lv.on{opacity:1;border-color:var(--line-gold,rgba(202,162,74,.32));background:linear-gradient(160deg,rgba(202,162,74,.08),var(--surface-2))}
.pa-lv-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.pa-lv-n{font-family:var(--f-disp);font-weight:700;font-size:.9rem}
.pa-lv-badge{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;
  background:var(--surface-3);color:var(--muted)}
.pa-lv-badge.on{background:rgba(61,220,132,.16);color:#5fd88a}
.pa-lv-req{font-size:.74rem;color:var(--muted);margin-top:.4rem}
.pa-stats{margin-bottom:1.1rem}

/* árvore da rede */
.net-empty{text-align:center;padding:2rem 1rem;color:var(--muted)}
.net-empty svg{width:34px;height:34px;color:var(--gold-txt);opacity:.7;margin-bottom:.6rem}
.net-empty .t{font-family:var(--f-disp);font-weight:700;font-size:1.05rem;color:var(--ink)}
.net-empty .d{font-size:.86rem;margin-top:.3rem}
.net-tree{display:flex;flex-direction:column;gap:.4rem}
.net-row{display:flex;align-items:center;gap:.7rem;padding:.55rem .5rem;border-radius:12px;transition:background .18s ease}
.net-row:hover{background:var(--surface-3)}
.net-toggle{width:26px;height:26px;flex-shrink:0;border:0;background:transparent;color:var(--muted);cursor:pointer;
  display:flex;align-items:center;justify-content:center;border-radius:8px;transition:.2s ease}
.net-toggle:hover{background:var(--surface-3);color:var(--ink)}
.net-toggle svg{width:16px;height:16px;transition:transform .2s ease}
.net-node.open>.net-row>.net-toggle svg{transform:rotate(90deg)}
.net-toggle.ghost{cursor:default}
.net-av{width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-disp);font-weight:800;font-size:1rem;color:#14110a;background:linear-gradient(140deg,var(--gold-1),var(--gold-3))}
.net-av img{width:100%;height:100%;object-fit:cover}
.net-av.verified{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px #3ddc84}
.net-main{flex:1;min-width:0}
.net-nick{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.92rem;color:var(--ink);flex-wrap:wrap}
.net-check{width:14px;height:14px;color:#3ddc84;flex-shrink:0}
.net-lvl{font-size:.66rem;font-weight:600;letter-spacing:.04em;color:var(--gold-txt);padding:.12rem .5rem;border-radius:999px;
  background:rgba(202,162,74,.12);white-space:nowrap}
.net-sub{font-size:.78rem;color:var(--muted);margin-top:.15rem}
.net-sub b{color:var(--ink);font-weight:600}
.net-depth{flex-shrink:0;font-size:.66rem;font-weight:700;color:var(--muted);padding:.16rem .45rem;border:1px solid var(--line);border-radius:8px}
.net-children{margin-left:1.1rem;padding-left:.7rem;border-left:1.5px solid var(--line);
  display:none;flex-direction:column;gap:.3rem;margin-top:.3rem}
.net-node.open>.net-children{display:flex}

/* barra de nível discreta no hero do partnership */
.pa-levelbar{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.08)}
.pa-lb-info{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.45rem;flex-wrap:wrap}
.pa-lb-name{font-size:.8rem;font-weight:600;color:var(--ink-2)}
.pa-lb-pct{font-size:.72rem;color:var(--muted)}
.pa-levelbar .lv-bar{height:7px}

/* ---- elemento "Mercados" (card 3D -> ilha escura -> grid) ---- */
.pa-markets{margin-bottom:1.1rem}
.pa-markets .tilt-card{max-width:100%;border:4px solid #4a4a4a;border-radius:26px;background:#1c1c1e;padding:.9rem;
  box-shadow:0 9px 20px rgba(0,0,0,.29),0 37px 37px rgba(0,0,0,.20),0 84px 50px rgba(0,0,0,.12)}
.pa-markets .tilt-inner{--ink:#f2f0ec;--ink-2:#b9b4ab;--muted:#84807a;--surface-2:#16161b;
  --line:rgba(255,255,255,.07);--line-gold:rgba(202,162,74,.28);--gold-1:#f6d77a;--gold-2:#caa24a;
  color:var(--ink);background:#0d0d11;border-radius:20px;padding:clamp(.9rem,3vw,1.4rem);overflow:hidden}
.pa-markets .inst-grid{display:grid;gap:.7rem;grid-template-columns:repeat(3,1fr)}
@media(max-width:480px){.pa-markets .inst-grid{grid-template-columns:1fr}}
.pa-markets .inst{padding:1.05rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);
  transition:border-color .25s ease,transform .25s ease}
.pa-markets .inst:hover{border-color:var(--line-gold);transform:translateY(-3px)}
.pa-markets .inst-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.pa-markets .inst-sym{font-family:var(--f-disp);font-weight:600;font-size:.82rem;color:var(--ink-2)}
.pa-markets .inst-px{font-family:var(--f-disp);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;margin-top:.5rem;color:var(--ink)}
.pa-markets .inst-px.gold{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* comissão disponível + total recebido (dois cards) */
.pa-avail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.1rem}
@media(max-width:440px){.pa-avail-grid{grid-template-columns:1fr}}
.pa-cardn{padding:1.2rem 1.3rem}
.pa-avail-k{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pa-avail-v{font-family:var(--f-disp);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;margin-top:.35rem;
  background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-theme="light"] .pa-avail-v{background:linear-gradient(120deg,#a07d2a,#6f5416);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pa-avail-v.alt{background:none;-webkit-text-fill-color:initial;color:var(--ink)}
/* saque discreto: link dourado sutil */
.pa-wd{display:inline-flex;align-items:center;gap:.35rem;margin-top:.7rem;padding:0;border:0;background:none;cursor:pointer;
  color:var(--gold-txt);font-family:var(--f-body);font-size:.78rem;font-weight:600;opacity:.85;transition:opacity .18s ease}
.pa-wd:hover{opacity:1;text-decoration:underline}
.pa-wd svg{width:14px;height:14px}
.pa-cardn .msg{margin-top:.5rem}

/* histórico de comissões */
.pa-hist-controls{display:flex;gap:.6rem;margin-bottom:.7rem;flex-wrap:wrap}
.pa-search{flex:1;min-width:180px}
.pa-chips{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.9rem}
.pa-hist{display:flex;flex-direction:column;gap:.2rem}
.pa-hrow{display:flex;align-items:center;gap:.8rem;padding:.65rem .4rem;border-bottom:1px solid var(--line-2);border-radius:10px;transition:background .18s ease}
.pa-hrow:last-child{border-bottom:0}
.pa-hrow:hover{background:var(--surface-3)}
.pa-hav{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-disp);font-weight:800;font-size:.95rem;color:#14110a;background:linear-gradient(140deg,var(--gold-1),var(--gold-3))}
.pa-hmain{flex:1;min-width:0}
.pa-hnick{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem;color:var(--ink);flex-wrap:wrap}
.pa-hmeta{font-size:.76rem;color:var(--muted);margin-top:.15rem}
.pa-hamt{flex-shrink:0;font-family:var(--f-disp);font-weight:700;font-size:1rem;color:var(--up);font-variant-numeric:tabular-nums}
.pa-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}
.pa-pg{padding:.5rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink-2);
  cursor:pointer;font-family:var(--f-body);font-size:.82rem;font-weight:600;transition:.18s ease}
.pa-pg:hover:not(:disabled){border-color:var(--gold-2);color:var(--ink)}
.pa-pg:disabled{opacity:.4;cursor:default}
.pa-pg-info{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}

/* rede: carregar mais / loading dos filhos */
.net-more{margin:.4rem 0 .2rem 2px;padding:.4rem .8rem;border:1px dashed var(--line-gold,rgba(202,162,74,.34));
  border-radius:9px;background:transparent;color:var(--gold-txt);cursor:pointer;font-family:var(--f-body);
  font-size:.76rem;font-weight:600;transition:.18s ease}
.net-more:hover{background:rgba(202,162,74,.08)}
.net-loading{padding:.5rem 2px;color:var(--muted);font-size:.85rem;letter-spacing:.1em}

/* seções recolhíveis (Partnership: rede + histórico) */
.card-collapsible{padding:0;overflow:hidden}
.card-h{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.6rem;
  background:none;border:0;cursor:pointer;color:var(--ink);font-family:var(--f-disp);font-size:1.05rem;font-weight:700;text-align:left}
.card-h .ch-l{display:flex;align-items:center;gap:.55rem}
.card-h .ch-l .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-2)}
.card-h .ch-chev{width:18px;height:18px;color:var(--muted);flex-shrink:0;transition:transform .25s ease}
.card-collapsible.collapsed .ch-chev{transform:rotate(-90deg)}
.card-h:hover .ch-chev{color:var(--gold-txt)}
.card-collapsible .card-body{padding:0 1.6rem 1.6rem}
.card-collapsible.collapsed .card-body{display:none}

/* ======================= HISTÓRICO DE TRADING ======================= */
.th-app{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line-gold,rgba(202,162,74,.32));
  background:linear-gradient(150deg,rgba(202,162,74,.16),var(--surface-2) 62%);
  padding:clamp(1.5rem,4vw,2.6rem);margin-bottom:1.1rem;display:grid;grid-template-columns:1fr;gap:1.4rem;align-items:center}
@media(min-width:820px){.th-app{grid-template-columns:1.12fr .88fr;gap:2rem}}
.th-fx{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.7}
.th-copy,.th-visual{position:relative;z-index:1}
.th-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-disp);font-weight:700;font-size:.8rem;
  letter-spacing:.02em;color:var(--gold-txt);text-transform:uppercase}
.th-logo{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}
.th-title{font-family:var(--f-disp);font-weight:800;font-size:clamp(1.5rem,4.4vw,2.2rem);letter-spacing:-.03em;
  line-height:1.1;margin:.7rem 0 .5rem;color:var(--ink)}
.th-sub{color:var(--ink-2);font-size:.95rem;max-width:42ch;margin-bottom:1.3rem}
.th-stores{display:flex;gap:.7rem;flex-wrap:wrap}
.store-badge{display:inline-flex}
.sb{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .95rem;border-radius:12px;
  background:#0b0b0d;border:1px solid rgba(255,255,255,.16);color:#fff;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.store-badge:hover .sb{transform:translateY(-2px);border-color:var(--gold-2);box-shadow:0 8px 22px rgba(0,0,0,.3)}
.sb-ic{width:22px;height:22px;flex-shrink:0}
.sb-txt{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.sb-txt small{font-size:.6rem;letter-spacing:.04em;opacity:.8;text-transform:uppercase}
.sb-txt b{font-family:var(--f-disp);font-size:1rem;font-weight:700;letter-spacing:-.01em}
.th-visual{display:flex;align-items:center;justify-content:center;min-height:clamp(220px,34vw,320px)}
.th-glow{position:absolute;width:70%;height:70%;border-radius:50%;filter:blur(60px);z-index:0;
  background:radial-gradient(circle,rgba(202,162,74,.5),transparent 70%);animation:hglow 7s ease-in-out infinite}
.th-phone{position:relative;z-index:1;max-height:clamp(240px,36vw,380px);width:auto;
  filter:drop-shadow(0 26px 44px rgba(0,0,0,.42));animation:thFloat 6s ease-in-out infinite;transition:transform .18s ease-out;will-change:transform}
@keyframes thFloat{0%,100%{translate:0 -6px}50%{translate:0 6px}}

/* conta investidor (conexão MT5) */
.th-conn-d{color:var(--muted);font-size:.86rem;margin:-.4rem 0 1rem}
.conn-row{display:flex;align-items:center;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--line-2)}
.conn-row:last-of-type{border-bottom:0}
.conn-l{width:88px;flex-shrink:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.conn-v{flex:1;min-width:0;font-family:var(--f-mono,ui-monospace,monospace);font-size:.9rem;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em}
.conn-v.empty{color:var(--muted)}
.conn-copy{width:34px;height:34px;flex-shrink:0;border:0;border-radius:9px;background:transparent;color:var(--ink-2);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s ease}
.conn-copy:hover:not(:disabled){background:var(--surface-3);color:var(--gold-txt)}
.conn-copy.ok{color:#3ddc84}
.conn-copy:disabled{opacity:.4;cursor:default}
.conn-copy.on{color:var(--gold-txt)}
.conn-copy svg{width:17px;height:17px}
.th-conn-hint{margin-top:1rem;padding:.7rem .9rem;border-radius:10px;background:rgba(202,162,74,.08);
  border:1px solid var(--line-gold,rgba(202,162,74,.24));color:var(--ink-2);font-size:.8rem}

/* card Myfxbook (portado da landing) */
.th-report-wrap{margin-top:1.1rem}
.report{display:block;padding:clamp(1.4rem,3.6vw,1.9rem);border-radius:20px;
  border:1px solid rgba(255,255,255,.09);background:#0d0d11;color:#f2f0ec;
  box-shadow:0 4px 12px rgba(13,13,17,.10),0 20px 46px rgba(13,13,17,.22);
  transition:transform .3s ease,border-color .3s ease,box-shadow .35s ease}
.report:hover{transform:translateY(-4px);border-color:rgba(246,215,122,.45);
  box-shadow:0 6px 16px rgba(13,13,17,.16),0 28px 62px rgba(13,13,17,.30),0 0 0 1px rgba(246,215,122,.22),0 0 52px rgba(202,162,74,.38)}
.report-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}
.report-brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-disp);font-size:.85rem;font-weight:700;color:#fff}
.report-brand svg{width:17px;height:17px;color:var(--gold-1)}
.report-live{display:inline-flex;align-items:center;gap:.4rem;font-size:.66rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:#3ddc84;border:1px solid currentColor;border-radius:999px;padding:.2rem .6rem}
.report-live .pip{width:5px;height:5px;border-radius:50%;background:currentColor;animation:pulse 2.4s infinite,liveBlink 1.4s steps(1,end) infinite}
.report-name{font-family:var(--f-disp);font-size:clamp(1.3rem,4vw,1.75rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff}
.report-kicker{font-size:.78rem;color:#84807a;margin-top:.35rem}
.report-chart{margin:1.4rem 0 1.2rem;color:#f6d77a;border-radius:12px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);overflow:hidden}
.report-chart svg{width:100%;height:clamp(74px,16vw,96px);display:block}
.report-scroll{transform-box:view-box;transform-origin:0 0;animation:reportScroll 2.6s linear infinite}
@keyframes reportScroll{from{transform:translate(-60px,14px)}to{transform:translate(0,0)}}
@keyframes liveBlink{0%,60%{opacity:1}61%,100%{opacity:.25}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.5)}70%{box-shadow:0 0 0 6px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.report-cta{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--f-disp);font-size:.86rem;font-weight:600;color:var(--gold-1)}
.report-cta svg{width:15px;height:15px}
.report:hover .report-cta{text-decoration:underline;text-underline-offset:3px}
.report-note{font-size:.76rem;color:var(--muted);margin-top:.7rem;text-align:center}
@media (prefers-reduced-motion:reduce){.report-scroll,.report-live .pip,.th-phone,.th-glow{animation:none}}

/* ======================= RELATÓRIOS ======================= */
.rep-datefilter{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:.4rem}

/* DisplayCards — stack em cascata (grid-area:stack), grayscale -> cor + sobe no hover/seleção */
.dc-deposit{--dc:#2fbf71}.dc-withdrawal{--dc:#ff6b6b}.dc-commission{--dc:#caa24a}
.dc-yield{--dc:#2dd4bf}.dc-bonus{--dc:#a78bfa}.dc-contract{--dc:#5b9dff}
.dcards-stack{display:grid;grid-template-areas:'stack';place-items:center;
  min-height:clamp(210px,32vw,250px);margin:.2rem 0 1.7rem;padding-top:4rem;overflow:visible}
.dcard{grid-area:stack;position:relative;width:clamp(12rem,40vw,14rem);height:8.2rem;padding:0;cursor:pointer;text-align:left;
  border:2px solid var(--line);border-radius:16px;background:var(--surface-2);
  --tx:calc((var(--i) - 2.5) * 6rem); --ty:calc((var(--i) - 2.5) * .85rem);
  transform:skewY(-8deg) translate(var(--tx),var(--ty));
  filter:grayscale(1);box-shadow:0 10px 26px rgba(0,0,0,.22);
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease,border-color .35s ease,box-shadow .35s ease}
/* véu escuro que some no hover/seleção */
.dcard::before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--bg);opacity:.5;
  transition:opacity .6s ease;pointer-events:none;z-index:1}
/* borda direita esmaece p/ mesclar com o próximo card da pilha */
.dcard::after{content:'';position:absolute;top:-6%;right:-1px;width:42%;height:112%;pointer-events:none;z-index:2;
  border-radius:inherit;background:linear-gradient(to left,var(--bg),transparent)}
/* selecionado: permanece ELEVADO em destaque (à frente e no alto) */
.dcard.sel{filter:grayscale(0);border-color:var(--dc,var(--gold-2));z-index:40;
  transform:skewY(-8deg) translate(var(--tx),calc(var(--ty) - 4.6rem)) scale(1.05);
  box-shadow:0 24px 46px rgba(0,0,0,.32),0 0 0 1px var(--dc,var(--gold-2))}
/* hover: sobe acima da pilha p/ ler o card inteiro */
.dcard:hover{filter:grayscale(0);border-color:var(--dc,var(--gold-2));z-index:60;
  transform:skewY(-8deg) translate(var(--tx),calc(var(--ty) - 5rem)) scale(1.06);
  box-shadow:0 28px 54px rgba(0,0,0,.36),0 0 0 1px var(--dc,var(--gold-2))}
.dcard:hover::before,.dcard.sel::before{opacity:0}
.dcard:hover::after,.dcard.sel::after{opacity:0}
.dc-in{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:space-between;height:100%;
  gap:.4rem;padding:1.05rem 1.2rem;transform:skewY(8deg)}
.dc-row1{display:flex;align-items:center;gap:.55rem}
.dc-ic{width:30px;height:30px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--dc,var(--gold-2)) 22%,transparent);color:var(--dc,var(--gold-2))}
.dc-ic svg{width:17px;height:17px}
.dc-title{font-family:var(--f-disp);font-weight:700;font-size:.9rem;color:var(--ink)}
.dc-val{font-family:var(--f-disp);font-weight:800;font-size:1.45rem;letter-spacing:-.02em;color:var(--ink)}
.dc-meta{font-size:.71rem;color:var(--muted)}
/* mobile: hover não existe -> grade 2 colunas, todos visíveis e tocáveis */
@media(max-width:760px){
  .dcards-stack{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;grid-template-areas:none;place-items:stretch;
    min-height:0;overflow:visible;margin:.6rem 0 1.3rem}
  .dcard{grid-area:auto;width:auto;height:auto;transform:none;filter:none;z-index:auto!important;box-shadow:0 6px 16px rgba(0,0,0,.14)}
  .dcard::before{opacity:0}
  .dcard::after{display:none}
  .dcard:hover{transform:none;filter:none}
  .dcard.sel,.dcard:hover.sel{transform:none;border-color:var(--dc,var(--gold-2));box-shadow:0 8px 20px rgba(0,0,0,.18),0 0 0 1px var(--dc,var(--gold-2))}
  .dc-in{transform:none;padding:.9rem 1rem;gap:.35rem}
  .dc-val{font-size:1.2rem}
}

/* controles + tabela */
.rep-filter{margin-left:auto}
.rep-clear{border:1px solid var(--line);background:var(--surface-3);color:var(--ink-2);border-radius:999px;
  padding:.2rem .6rem;font-size:.7rem;font-weight:600;cursor:pointer;font-family:var(--f-body)}
.rep-clear:hover{border-color:var(--gold-2);color:var(--ink)}
.rep-controls{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.rep-controls .pa-search{flex:1;min-width:150px}
.rep-dt{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;color:var(--muted);white-space:nowrap}
.rep-dt .inp{width:auto}
.rep-exp{margin-left:auto}
.rep-exp svg{width:15px;height:15px}
.rep-table-wrap{overflow-x:auto}
.rep-table{width:100%;border-collapse:collapse;font-size:.86rem;min-width:580px}
.rep-table th{text-align:left;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  font-weight:600;padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.rep-table td{padding:.72rem .6rem;border-bottom:1px solid var(--line-2);color:var(--ink);vertical-align:middle}
.rep-table tbody tr:hover{background:var(--surface-3)}
.rep-date{color:var(--ink-2);white-space:nowrap}
.rep-lvl{color:var(--muted)}
.rep-type{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;font-weight:600;font-size:.8rem;color:var(--dc,var(--ink))}
.rep-type i{width:8px;height:8px;border-radius:50%;background:var(--dc,var(--gold-2));flex-shrink:0}
.rep-amt{font-family:var(--f-disp);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.rep-amt.up{color:var(--up)}.rep-amt.down{color:var(--down)}.rep-amt.dim{color:var(--muted)}
.rep-amt-c{text-align:right}
.rep-st{display:inline-flex;padding:.16rem .55rem;border-radius:999px;font-size:.67rem;font-weight:600;letter-spacing:.03em}
.rep-st.st-done{background:rgba(61,220,132,.14);color:#4fce86}
.rep-st.st-pending{background:rgba(202,162,74,.16);color:var(--gold-txt)}
.rep-st.st-canceled{background:rgba(255,107,107,.14);color:#ff8f8f}
.rep-st.st-signed{background:rgba(91,157,255,.16);color:#7fb0ff}

/* ======================= WALLET ======================= */
.wcard-area{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-bottom:1.4rem}
.cc{width:clamp(300px,92vw,360px);height:clamp(188px,58vw,226px);perspective:1300px;cursor:pointer;
  --cc-bg:linear-gradient(135deg,#1b160d,#12100b 45%,#0b0906);--cc-accent:#caa24a;--cc-accent-2:#f6d77a;--cc-ring:rgba(202,162,74,.5)}
.cc-inner{position:relative;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.cc:hover .cc-inner,.cc.flip .cc-inner{transform:rotateY(180deg)}
.cc-face{position:absolute;inset:0;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,.45)}
.cc-front{background:var(--cc-bg);border:1px solid var(--cc-ring);
  color:#f3ecdc;padding:1.15rem 1.3rem;display:flex;flex-direction:column;justify-content:space-between;
  transition:background .6s ease,border-color .6s ease}
.cc-front::after{content:'';position:absolute;right:-20%;top:-40%;width:60%;height:150%;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--cc-accent) 55%,transparent),transparent 70%);filter:blur(30px)}
.cc-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.09) 46%,transparent 60%)}
.cc-top{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}
.cc-logo{width:34px;height:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.cc-soon{font-family:var(--f-disp);font-weight:700;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:#14110a;background:linear-gradient(120deg,var(--cc-accent-2),var(--cc-accent));padding:.24rem .55rem;border-radius:999px}
.cc-chip{width:38px;height:28px;border-radius:6px;position:relative;z-index:1;margin:.2rem 0;
  background:linear-gradient(135deg,var(--cc-accent-2),var(--cc-accent));box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.cc-chip::before{content:'';position:absolute;inset:5px 8px;border:1px solid rgba(0,0,0,.25);border-radius:3px}
.cc-num{font-family:var(--f-mono,ui-monospace,monospace);font-size:1.15rem;letter-spacing:.18em;position:relative;z-index:1;color:#e9e0cc}
.cc-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;position:relative;z-index:1}
.cc-lbl{display:block;font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.cc-val{font-family:var(--f-mono,ui-monospace,monospace);font-size:.82rem;font-weight:500;margin-top:.15rem;
  max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-exp{text-align:right}
.cc-back{transform:rotateY(180deg);background:var(--cc-bg);border:1px solid var(--cc-ring);color:#f3ecdc;display:flex;flex-direction:column;transition:background .6s ease,border-color .6s ease}
.cc-strip{margin-top:1.3rem;height:42px;width:100%;background:#0a0a0c}
.cc-cvvbox{margin:1rem 1.2rem 0;height:30px;border-radius:6px;background:#d8d3c6;display:flex;align-items:center;justify-content:flex-end;padding-right:.8rem}
.cc-cvv{font-family:var(--f-mono,ui-monospace,monospace);color:#14110a;letter-spacing:.18em;font-size:.9rem}
.cc-cvv-lbl{align-self:flex-end;margin:.25rem 1.2rem 0;font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.cc-backlogo{margin-top:auto;padding:1rem 1.2rem;display:flex;align-items:center;gap:.5rem;justify-content:flex-end;font-family:var(--f-disp);font-weight:800;letter-spacing:.02em}
.cc-backlogo img{width:22px;height:auto}
.cc-hint{font-size:.74rem;color:var(--muted)}

.w-balances{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.1rem}
@media(max-width:520px){.w-balances{grid-template-columns:1fr}}
.w-bal-k{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.w-bal-v{font-family:var(--f-disp);font-weight:800;font-size:1.7rem;letter-spacing:-.02em;margin-top:.4rem;color:var(--ink)}
.w-bal-v span{font-size:.85rem;font-weight:600;color:var(--muted)}
.w-bal-v.gold{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.w-bal-v.gold span{-webkit-text-fill-color:var(--muted)}
:root[data-theme="light"] .w-bal-v.gold{background:linear-gradient(120deg,#a07d2a,#6f5416);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.w-act-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}
.w-btn{flex:1;min-width:150px;justify-content:center}
.w-btn svg{width:16px;height:16px}
.w-btn.locked{opacity:.5;cursor:not-allowed}
.w-countdown{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;margin-bottom:.7rem;
  padding:.8rem 1rem;border-radius:12px;background:var(--surface-3);border:1px solid var(--line)}
.w-cd-lbl{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--muted)}
.w-cd-lbl svg{width:14px;height:14px}
.w-cd-time{font-family:var(--f-disp);font-weight:800;font-size:1.35rem;letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.w-cd-next{font-size:.72rem;color:var(--gold-txt)}
.w-open{display:inline-flex;align-items:center;gap:.45rem;color:var(--up);font-weight:700;font-size:.95rem}
.w-open svg{width:17px;height:17px}
.w-minmax{font-size:.8rem;color:var(--muted);margin-bottom:.7rem}
.w-note{display:flex;gap:.55rem;font-size:.78rem;color:var(--ink-2);line-height:1.45;
  background:rgba(202,162,74,.07);border:1px solid var(--line-gold,rgba(202,162,74,.24));border-radius:10px;padding:.65rem .85rem}
.w-note svg{width:16px;height:16px;flex-shrink:0;color:var(--gold-txt);margin-top:.05rem}

/* modal genérico */
.vmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.2rem}
.vmodal-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .24s ease}
.vmodal.show .vmodal-scrim{opacity:1}
.vmodal-card{position:relative;z-index:1;width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;
  padding:1.9rem 1.6rem 1.7rem;box-shadow:var(--shadow);text-align:center;transform:translateY(14px) scale(.97);opacity:0;transition:transform .26s cubic-bezier(.2,.7,.2,1),opacity .26s ease}
.vmodal.show .vmodal-card{transform:none;opacity:1}
.vmodal-x{position:absolute;top:.7rem;right:.7rem;width:34px;height:34px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:9px;display:flex;align-items:center;justify-content:center}
.vmodal-x:hover{background:var(--surface-3);color:var(--ink)}
.vmodal-x svg{width:18px;height:18px}
.vmodal-ic{width:58px;height:58px;margin:0 auto 1rem;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(202,162,74,.12);color:var(--gold-txt)}
.vmodal-ic svg{width:27px;height:27px}
.vmodal-card h3{font-family:var(--f-disp);font-size:1.2rem;margin-bottom:.5rem}
.vmodal-body{color:var(--ink-2);font-size:.92rem;line-height:1.5}

.w-cd-tz{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--muted)}
.w-cd-tz svg{width:12px;height:12px}
.w-open + .w-cd-tz{margin-top:.35rem}
.cc-num b{color:var(--cc-accent-2);font-weight:600}
/* seletor de cor do cartão (personalização) */
.cc-themes{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:.2rem}
.cc-sw{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;
  background:var(--sw);box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.cc-sw:hover{transform:scale(1.12)}
.cc-sw.on{transform:scale(1.12);border-color:var(--ink);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--gold-2)}

/* ======================= INVESTIMENTOS ======================= */
.inv-stats{margin-bottom:1.2rem}
.inv-hero .th-top{align-items:center}
.inv-hero .th-v{margin:.5rem 0 .4rem}
/* ação em vidro escuro — contrasta sobre o hero dourado */
.inv-new{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border-radius:11px;flex-shrink:0;
  background:rgba(8,7,4,.5);border:1px solid rgba(255,255,255,.16);color:#f6d77a;cursor:pointer;
  font-family:var(--f-disp);font-weight:600;font-size:.82rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease}
.inv-new:hover{background:rgba(8,7,4,.72);border-color:var(--gold-1);transform:translateY(-1px)}
.inv-new svg{width:15px;height:15px}
:root[data-theme="light"] .inv-new{background:rgba(20,17,10,.82);color:#f6d77a;border-color:rgba(255,255,255,.14)}
.ct-list{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:720px){.ct-list{grid-template-columns:1fr 1fr}}
/* card de contrato — split (painel gradiente + dados), estilo CryptoCard */
.ic-card{display:flex;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface-2);
  box-shadow:var(--shadow);transition:transform .2s ease,border-color .3s ease,box-shadow .3s ease}
.ic-card:hover{transform:scale(1.02);border-color:var(--line-gold,rgba(202,162,74,.3))}
.ic-card.st-canceled{opacity:.72}
.ic-left{position:relative;overflow:hidden;width:40%;flex-shrink:0;padding:.8rem .9rem;display:flex;flex-direction:column;justify-content:space-between;gap:.7rem;color:#fff;
  background:linear-gradient(150deg,#1f9d57,#0f5c33)}
.ic-fx{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.ic-left>*:not(.ic-fx){position:relative;z-index:1}
.ic-card.st-pending .ic-left{background:linear-gradient(150deg,#caa24a,#7a5f1f)}
.ic-card.st-canceled .ic-left{background:linear-gradient(150deg,#e2564d,#7f1d1d)}
.ic-card.st-completed .ic-left{background:linear-gradient(150deg,#4f8bff,#1e40af)}
.ic-lt{display:flex;align-items:center;gap:.5rem}
.ic-term{font-family:var(--f-disp);font-weight:800;font-size:.8rem;padding:.16rem .5rem;border-radius:8px;
  background:rgba(255,255,255,.2);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ic-status{font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.ic-pct{font-family:var(--f-disp);font-weight:800;font-size:1.25rem;letter-spacing:-.02em;line-height:1}
.ic-price{font-size:.7rem;opacity:.85;margin-top:.2rem;font-variant-numeric:tabular-nums}
.ic-right{width:60%;padding:.8rem .9rem;display:flex;flex-direction:column;justify-content:space-between;gap:.6rem}
.ic-p-lbl{font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ic-value{font-family:var(--f-disp);font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:.15rem}
.ic-value.up{color:var(--up)}
.ic-name{font-size:.72rem;color:var(--muted);margin-top:.3rem}
.ic-bottom{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.ic-prog{flex:1;height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden;border:1px solid var(--line)}
.ic-prog i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold-1),var(--gold-2));box-shadow:0 0 8px rgba(202,162,74,.4)}
.ic-meta{font-size:.72rem;color:var(--muted)}
.ic-cancel{width:32px;height:32px;flex-shrink:0;border:1px solid var(--line);border-radius:9px;background:transparent;
  color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s ease}
.ic-cancel:hover{border-color:var(--down);color:var(--down)}
.ic-cancel svg{width:16px;height:16px}
.btn.ct-danger{background:linear-gradient(120deg,#ff6b6b,#e2483f);color:#fff;box-shadow:0 2px 10px rgba(226,72,63,.2)}

/* modal novo contrato */
.ct-modal{text-align:left}
.ct-sec-lbl{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1.1rem 0 .55rem}
.ct-sec-lbl:first-child{margin-top:0}
.ct-terms{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.ct-term-opt{text-align:left;padding:.9rem;border:1.5px solid var(--line);border-radius:13px;background:var(--surface-2);cursor:pointer;transition:.2s ease}
.ct-term-opt:hover{border-color:var(--gold-2)}
.ct-term-opt.on{border-color:var(--gold-2);background:rgba(202,162,74,.08);box-shadow:0 0 0 1px var(--gold-2)}
.ct-to-h{font-family:var(--f-disp);font-weight:800;font-size:1.05rem;color:var(--ink)}
.ct-to-fee{font-size:.78rem;font-weight:600;color:var(--gold-txt);margin:.15rem 0 .35rem}
.ct-to-d{font-size:.72rem;color:var(--muted);line-height:1.4}
.ct-amount{position:relative;display:flex;align-items:center}
.ct-amount .inp{flex:1;padding-right:3.4rem}
.ct-amount-u{position:absolute;right:.9rem;font-size:.8rem;font-weight:600;color:var(--muted)}
.ct-min{font-size:.75rem;color:var(--muted);margin-top:.4rem}
.ct-methods{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.ct-method{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.8rem;border:1.5px solid var(--line);
  border-radius:13px;background:var(--surface-2);cursor:pointer;text-align:left;transition:.2s ease;position:relative}
.ct-method:hover{border-color:var(--gold-2)}
.ct-method.on{border-color:var(--gold-2);background:rgba(202,162,74,.08);box-shadow:0 0 0 1px var(--gold-2)}
.ct-method.soon{opacity:.72}
.ct-m-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:rgba(202,162,74,.14);color:var(--gold-txt);margin-bottom:.25rem}
.ct-m-ic svg{width:17px;height:17px}
.ct-m-t{font-family:var(--f-disp);font-weight:700;font-size:.88rem;color:var(--ink)}
.ct-m-d{font-size:.7rem;color:var(--muted)}
.ct-m-soon{font-size:.66rem;font-weight:600;color:var(--down)}
.ct-continue{margin-top:1.2rem}

/* modal CPF / depósito / cancelamento */
.vmodal-body .cpf-note,.vmodal-body p{margin-bottom:.9rem}
.vmodal-body .inp{text-align:center;font-size:1.05rem;letter-spacing:.05em}
.dep-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line-2);text-align:left}
.dep-k{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-shrink:0}
.dep-v{font-family:var(--f-mono,ui-monospace,monospace);font-size:.86rem;color:var(--ink)}
.dep-v.gold{font-family:var(--f-disp);font-weight:800;color:var(--gold-txt)}
.dep-copy{display:inline-flex;align-items:center;gap:.5rem;max-width:60%;border:0;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--f-mono,ui-monospace,monospace);font-size:.82rem}
.dep-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dep-copy svg{width:15px;height:15px;flex-shrink:0;color:var(--muted)}
.dep-copy.ok{color:#3ddc84}
.dep-note{font-size:.76rem;color:var(--ink-2);margin-top:.6rem;text-align:left}
.dep-pending{display:flex;gap:.5rem;align-items:center;font-size:.78rem;color:var(--gold-txt);margin-top:1rem;
  background:rgba(202,162,74,.08);border:1px solid var(--line-gold,rgba(202,162,74,.24));border-radius:10px;padding:.6rem .8rem}
.dep-pending svg{width:15px;height:15px;flex-shrink:0}
.modal-actions{display:flex;gap:.6rem;margin-top:1.2rem}
.modal-actions .btn{flex:1;justify-content:center}

/* ======================= HOME (cockpit) ======================= */
.home-id{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface-2);margin-bottom:1.1rem;box-shadow:var(--shadow)}
.home-cover{height:84px;background:linear-gradient(120deg,rgba(202,162,74,.28),rgba(156,122,44,.12) 55%,var(--surface-2));background-size:cover;background-position:center}
.home-id-row{display:flex;align-items:flex-end;gap:1rem;padding:.6rem 1.2rem 1.1rem;flex-wrap:wrap}
.home-id-row .pf-avatar-wrap{margin-top:-46px}
.hm-av{width:72px;height:72px;font-size:1.6rem;border:3px solid var(--surface-2)}
.hm-check{width:24px;height:24px}
.home-id-txt{flex:1;min-width:130px}
.home-name{display:flex;align-items:center;gap:.35rem;font-family:var(--f-disp);font-weight:800;font-size:1.15rem;color:var(--ink)}
.home-name .pf-vsmall{color:#3ddc84}
.home-nick{color:var(--gold-txt);font-weight:600;font-size:.84rem;margin-top:.1rem}
.home-level{min-width:190px;flex:1}
.home-lv-top{display:flex;justify-content:space-between;gap:.6rem;font-size:.74rem;color:var(--ink-2);margin-bottom:.4rem}
.home-lv-pct{color:var(--gold-txt);font-weight:600}
.home-level .lv-bar{height:7px}

.home-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1.1rem}
@media(min-width:640px){
  .home-kpis.kpis-6{grid-template-columns:repeat(3,1fr)}
  .home-kpis.kpis-4{grid-template-columns:repeat(4,1fr)}
  .home-kpis.kpis-5{grid-template-columns:repeat(5,1fr)}
}
.home-kpi{display:block;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);transition:border-color .25s ease,transform .2s ease,box-shadow .25s ease}
.home-kpi:hover{border-color:var(--line-gold,rgba(202,162,74,.3));transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.14)}
.hk-k{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hk-v{font-family:var(--f-disp);font-weight:800;font-size:1.2rem;letter-spacing:-.02em;margin-top:.3rem;color:var(--ink);font-variant-numeric:tabular-nums}
.hk-v.up{color:var(--up)}
.hk-v.gold{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:root[data-theme="light"] .hk-v.gold{background:linear-gradient(120deg,#a07d2a,#6f5416);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.home-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.1rem}
@media(max-width:560px){.home-quick{grid-template-columns:repeat(2,1fr)}}
.home-qa{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:1rem .6rem;border:1px solid var(--line);border-radius:14px;
  background:var(--surface-2);color:var(--ink-2);font-family:var(--f-body);font-size:.78rem;font-weight:600;transition:.2s ease}
.home-qa:hover{border-color:var(--gold-2);color:var(--gold-txt);transform:translateY(-2px)}
.home-qa svg{width:20px;height:20px}

.hm-seeall{margin-left:auto;font-size:.76rem;color:var(--gold-txt);font-weight:600}
.hm-acts{display:flex;flex-direction:column}
.hm-act{display:flex;align-items:center;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line-2)}
.hm-act:last-child{border-bottom:0}
.hm-act-dot{width:9px;height:9px;border-radius:50%;background:var(--dc,var(--gold-2));flex-shrink:0}
.hm-act-main{flex:1;min-width:0}
.hm-act-t{font-weight:600;font-size:.86rem;color:var(--ink)}
.hm-act-d{font-size:.74rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-act-v{font-family:var(--f-disp);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.hm-act-v.up{color:var(--up)}.hm-act-v.down{color:var(--down)}.hm-act-v.dim{color:var(--muted)}

/* home: ações rápidas em auto-fit (funciona com 3 ou 4 itens) */
.home-quick{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}   /* sempre numa linha só (3 ou 4 atalhos) */
@media(max-width:560px){.home-quick{gap:.5rem}.home-qa{padding:.85rem .35rem;gap:.4rem}.home-qa span{font-size:.74rem;line-height:1.2;text-align:center}}

/* card da corretora parceira (Ultima Markets) — portado da landing */
.broker-brand{position:relative;overflow:hidden;border-radius:18px;background:#0d0d11;border:1px solid rgba(255,255,255,.08);
  text-align:center;padding:clamp(1.4rem,4vw,2rem) clamp(1.2rem,3vw,1.8rem);margin-bottom:1.1rem;
  box-shadow:0 6px 16px rgba(13,13,17,.1),0 18px 50px rgba(13,13,17,.18);transition:transform .35s ease,border-color .35s ease,box-shadow .4s ease}
.broker-brand::before{content:'';position:absolute;left:12%;right:12%;top:-28%;height:78%;pointer-events:none;filter:blur(30px);
  background:radial-gradient(circle,rgba(211,252,98,.18),transparent 68%);animation:brokerGlow 6.5s ease-in-out infinite}
@keyframes brokerGlow{0%,100%{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(7%)}}
.broker-brand::after{content:'';position:absolute;top:-10%;bottom:-10%;width:34%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-190%) skewX(-12deg);
  animation:brokerShine 7.5s ease-in-out infinite}
@keyframes brokerShine{0%,72%{transform:translateX(-190%) skewX(-12deg)}100%{transform:translateX(330%) skewX(-12deg)}}
.broker-brand:hover{transform:translateY(-3px);border-color:rgba(211,252,98,.32);
  box-shadow:0 10px 22px rgba(13,13,17,.16),0 30px 66px rgba(13,13,17,.28),0 0 48px rgba(211,252,98,.16)}
.broker-logo{position:relative;z-index:2;max-width:min(220px,70%);height:auto;margin:0 auto;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.broker-brand:hover .broker-logo{transform:scale(1.05)}
.broker-logo.is-missing{display:none}
.broker-logo.is-missing ~ .broker-word{display:block}
.broker-word{display:none;font-family:var(--f-disp);font-weight:800;font-size:clamp(1.15rem,4vw,1.6rem);letter-spacing:.02em;color:#d3fc62;line-height:1.1}
.broker-word b{font-weight:400;opacity:.7}
.broker-inter{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.8rem;margin-top:1.4rem;
  padding:.7rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.04);
  font-size:.78rem;font-weight:500;color:#c9c5bd;line-height:1.45;text-align:left;max-width:340px;transition:border-color .35s ease,background .35s ease}
.broker-inter img{width:36px;height:36px;flex-shrink:0;object-fit:contain}
.broker-brand:hover .broker-inter{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.07)}
.broker-cta{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.45rem;margin-top:1.1rem;
  font-family:var(--f-disp);font-size:.84rem;font-weight:600;color:#d3fc62}
.broker-cta svg{width:15px;height:15px}
.broker-cta:hover{text-decoration:underline;text-underline-offset:3px}
/* "powered by" delicado no canto do card da corretora */
.broker-pb{position:absolute;top:.85rem;left:1.1rem;z-index:2;font-size:.6rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.38)}

.partner-lock .ico svg{width:26px;height:26px}

/* ---------- gráficos (home) ---------- */
.ch-card h3{margin-bottom:.6rem}
.ch-toggle{margin-left:auto;display:inline-flex;gap:.3rem;background:var(--surface-3);border-radius:9px;padding:.2rem}
.ch-tg{border:0;background:transparent;color:var(--muted);font-family:var(--f-body);font-size:.72rem;font-weight:600;
  padding:.2rem .55rem;border-radius:7px;cursor:pointer;transition:.18s ease}
.ch-tg.on{background:var(--surface-2);color:var(--gold-txt);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.ch-wrap{position:relative;width:100%}
.ch-svg{width:100%;height:auto;display:block;overflow:visible;touch-action:none}
.ch-grid{stroke:var(--line-2);stroke-width:1}
.ch-ylab{fill:var(--muted);font-size:11px;font-family:var(--f-body);text-anchor:end}
.ch-xlab{fill:var(--muted);font-size:11px;font-family:var(--f-body)}
.ch-cross{stroke:var(--gold-2);stroke-width:1;stroke-dasharray:3 3;opacity:.7}
.ch-dot{fill:var(--gold-1);stroke:var(--bg);stroke-width:2}
.ch-tip{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:var(--surface);
  border:1px solid var(--line);border-radius:9px;padding:.35rem .55rem;box-shadow:var(--shadow);white-space:nowrap;z-index:3}
.ch-tip b{font-family:var(--f-disp);font-size:.85rem;color:var(--gold-txt);display:block}
.ch-tip span{font-size:.68rem;color:var(--muted)}
.ch-bar.up{fill:var(--up)} .ch-bar.down{fill:var(--down)}
.ch-barg:hover .ch-bar{filter:brightness(1.12)}
.ch-blab{font-family:var(--f-disp);font-size:11px;font-weight:700}
.ch-blab.up{fill:var(--up)} .ch-blab.down{fill:var(--down)}

/* ---------- widget de mercado ---------- */
.mkt-card h3{margin-bottom:.7rem}
.mkt-tabs{display:flex;gap:.3rem;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:.4rem;padding-bottom:.1rem}
.mkt-tabs::-webkit-scrollbar{height:0}
.mkt-tab{border:0;background:transparent;color:var(--muted);font-family:var(--f-body);font-size:.82rem;font-weight:600;
  padding:.5rem .7rem;cursor:pointer;position:relative;white-space:nowrap;transition:color .18s ease}
.mkt-tab:hover{color:var(--ink)}
.mkt-tab.on{color:var(--ink)}
.mkt-tab.on::after{content:'';position:absolute;left:.5rem;right:.5rem;bottom:-.15rem;height:2px;border-radius:2px;background:var(--gold-2)}
.mkt-headrow,.mkt-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr 1fr;align-items:center;gap:.5rem}
.mkt-headrow{padding:.5rem .3rem;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mkt-headrow span:nth-child(2),.mkt-headrow span:nth-child(3),.mkt-headrow span:nth-child(5),
.mkt-row .mkt-bid,.mkt-row .mkt-chg,.mkt-row .mkt-pct{text-align:right}
.mkt-row{padding:.6rem .3rem;border-top:1px solid var(--line-2);font-variant-numeric:tabular-nums;font-size:.86rem}
.mkt-row:hover{background:var(--surface-3)}
.mkt-sym{font-family:var(--f-disp);font-weight:700;color:var(--ink);white-space:nowrap}
.mkt-bid{color:var(--ink);font-weight:600}
.mkt-chg.up,.mkt-pct.up{color:var(--up)} .mkt-chg.down,.mkt-pct.down{color:var(--down)}
.mkt-pct{font-weight:600;white-space:nowrap;font-size:.8rem}
.mkt-spark{height:26px}
.mkt-spark svg{width:100%;height:100%;display:block}
.mkt-spark.up{color:var(--up)} .mkt-spark.down{color:var(--down)}
@media(max-width:560px){
  .mkt-headrow,.mkt-row{grid-template-columns:1.2fr 1fr .9fr 1fr}
  .mkt-spark{display:none}
  .mkt-headrow span:nth-child(4){display:none}
}

/* admin: aprovação de rentabilidade */
.dy-cap,.dy-launched{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--ink-2)}
.dy-cap svg,.dy-launched svg{width:16px;height:16px;color:var(--gold-txt);flex-shrink:0}
.dy-launched{color:var(--up)} .dy-launched svg{color:var(--up)}
.dy-cap b,.dy-launched b{color:var(--ink);font-family:var(--f-disp)}

/* histórico de operações reais */
.ops-wrap{overflow-x:auto}
.ops-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:520px}
.ops-table th{text-align:left;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.ops-table th:nth-child(n+4),.ops-table td.op-num{text-align:right}
.ops-table td{padding:.6rem .6rem;border-bottom:1px solid var(--line-2);color:var(--ink);vertical-align:middle}
.ops-table tbody tr:hover{background:var(--surface-3)}
.op-date{color:var(--ink-2);white-space:nowrap}
.op-sym{font-family:var(--f-disp);font-weight:700}
.op-side{font-size:.68rem;font-weight:700;padding:.14rem .5rem;border-radius:999px;white-space:nowrap}
.op-side.buy{background:rgba(61,220,132,.16);color:#4fce86} .op-side.sell{background:rgba(255,107,107,.14);color:#ff8f8f}
.op-num{font-family:var(--f-disp);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.op-num.up{color:var(--up)} .op-num.down{color:var(--down)}

.pf-check-share{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.82rem;color:var(--ink-2);cursor:pointer}
.pf-check-share input{width:16px;height:16px;accent-color:var(--gold-2);cursor:pointer}
.net-phone{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;font-size:.76rem;color:#4fce86;font-weight:600}
.net-phone svg{width:13px;height:13px}
.net-phone:hover{text-decoration:underline}

/* admin: solicitações de parceria */
.req-card + .req-card{margin-top:1rem}
.req-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.req-name{font-family:var(--f-disp);font-weight:800;font-size:1.05rem}
.req-date{font-size:.74rem;color:var(--muted)}
.req-kv{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line-2);font-size:.86rem}
.req-kv span{color:var(--muted)} .req-kv b{color:var(--ink);font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.req-kv a{color:var(--gold-txt)}
.req-actions{display:flex;gap:.6rem;margin-top:1rem}
.req-actions .btn{flex:1;justify-content:center}
.req-ok{background:linear-gradient(120deg,#3ddc84,#2bb673);color:#06301c}

/* ======================= ADMIN — MENU LATERAL ======================= */
.adm-shell{min-height:100dvh}
.adm-side{position:fixed;top:0;left:0;z-index:45;width:250px;height:100dvh;
  background:var(--sidebar);border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:1.1rem .75rem;gap:.35rem;
  overflow-y:auto;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.adm-side.open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.5)}
.adm-brand{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem 1rem}
.adm-brand img{width:26px;height:auto}
.adm-brand .wm{font-family:var(--f-disp);font-weight:800;font-size:.95rem;color:var(--ink);white-space:nowrap}
.adm-brand .wm b{background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.adm-nav{display:flex;flex-direction:column;gap:.12rem}
.adm-item{display:flex;align-items:center;gap:.7rem;padding:.64rem .7rem;border-radius:11px;
  color:var(--ink-2);font-family:var(--f-body);font-size:.9rem;font-weight:500;cursor:pointer;
  border:0;background:transparent;text-align:left;width:100%;transition:.16s ease}
.adm-item svg{width:19px;height:19px;flex:none;opacity:.92}
.adm-item:hover{background:var(--surface-3);color:var(--ink)}
.adm-item.active{background:rgba(202,162,74,.13);color:var(--gold-txt)}
.adm-item .badge-n{margin-left:auto;min-width:20px;height:20px;padding:0 .35rem;border-radius:999px;
  background:var(--gold-2);color:#1a1206;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.adm-main{min-width:0}
.adm-crumb{font-family:var(--f-disp);font-weight:700;font-size:1rem;color:var(--ink)}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:44;opacity:0;visibility:hidden;transition:opacity .28s ease}
.scrim.show{opacity:1;visibility:visible}

/* sub-abas dentro de um menu */
.adm-subnav{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.7rem}
.adm-sub{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.42rem .95rem;
  color:var(--ink-2);font-family:var(--f-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:.16s ease}
.adm-sub:hover{color:var(--ink);border-color:var(--gold-2)}
.adm-sub.on{background:rgba(202,162,74,.14);color:var(--gold-txt);border-color:transparent}

/* dashboard KPIs */
.adm-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:760px){.adm-kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:1.2rem 1.25rem;
  border:1px solid var(--line);border-radius:16px;background:var(--surface-2);cursor:pointer;transition:.18s ease;text-align:left;width:100%;font-family:inherit}
.kpi:hover{border-color:var(--gold-2);transform:translateY(-2px)}
.kpi-ic{width:38px;height:38px;border-radius:11px;background:rgba(202,162,74,.12);color:var(--gold-txt);display:flex;align-items:center;justify-content:center}
.kpi-ic svg{width:20px;height:20px}
.kpi-v{font-family:var(--f-disp);font-weight:800;font-size:1.75rem;letter-spacing:-.02em;color:var(--ink);line-height:1}
.kpi-v small{font-size:.9rem;font-weight:600;color:var(--muted)}
.kpi-l{font-size:.8rem;color:var(--muted)}
.kpi .badge-n{position:absolute;top:1rem;right:1rem;min-width:22px;height:22px;padding:0 .4rem;border-radius:999px;background:var(--gold-2);color:#1a1206;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}

/* lista de usuários */
.usr-search{margin-bottom:1.1rem}
.usr-row{display:flex;align-items:center;gap:.9rem;padding:.72rem .2rem;border-bottom:1px solid var(--line)}
.usr-row:last-child{border-bottom:0}
.usr-av{width:38px;height:38px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--gold-txt);overflow:hidden;flex:none}
.usr-av img{width:100%;height:100%;object-fit:cover}
.usr-main{min-width:0;flex:1}
.usr-nm{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usr-sub{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usr-meta{display:flex;align-items:center;gap:.7rem;flex:none}
.usr-tag{font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:var(--surface-3);color:var(--ink-2);text-transform:capitalize}
.usr-tag.partner{background:rgba(202,162,74,.16);color:var(--gold-txt)}
.usr-tag.admin{background:rgba(61,220,132,.16);color:#3ddc84}
.usr-inv{font-weight:700;color:var(--ink);font-size:.88rem;white-space:nowrap}
@media(max-width:560px){.usr-inv,.usr-lvl{display:none}}

@media (min-width:901px){
  .adm-side{transform:none;box-shadow:none}
  .adm-main{padding-left:250px}
}

/* ===== pagamentos (PIX / USDT / cartão) e saques ===== */
.ct-methods-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:520px){.ct-methods-3{grid-template-columns:1fr}}
.ct-hold{color:var(--gold-txt)}
.pay-qr{display:flex;justify-content:center;margin:.2rem 0 1rem;min-height:216px}
.pay-qr img{border-radius:12px;background:#fff;padding:8px;width:216px;height:216px}
.dep-pending.ok{color:var(--up);background:rgba(61,220,132,.08);border-color:rgba(61,220,132,.3)}
.dep-pending.bad{color:var(--down);background:rgba(255,95,95,.08);border-color:rgba(255,95,95,.3)}
.ic-pay{height:32px;padding:0 .9rem;flex-shrink:0;border:0;border-radius:9px;cursor:pointer;font-weight:600;font-size:.78rem;
  color:#1a1405;background:linear-gradient(120deg,var(--gold-1),var(--gold-2))}
.ic-bottom .ic-pay{margin-left:auto}
/* vencimento: renovar / resgatar */
.ic-bottom .ic-renew+.ic-redeem{margin-left:0}
.ic-redeem{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.ic-mat{color:#f0b54a;font-weight:600}
.ic-card.st-matured{box-shadow:0 0 0 1px rgba(240,181,74,.35)}
/* aceite dos Termos */
.tos-ok{display:flex;gap:.6rem;align-items:flex-start;margin:.85rem 0 .2rem;font-size:.78rem;line-height:1.45;color:var(--ink-2);cursor:pointer}
.tos-ok input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:18px;height:18px;margin:.05rem 0 0;border:1.5px solid var(--muted);border-radius:5px;display:grid;place-items:center;cursor:pointer;transition:.15s}
.tos-ok input:checked{background:var(--gold,#caa24a);border-color:var(--gold,#caa24a)}
.tos-ok input:checked::after{content:'';width:5px;height:9px;border:solid #111;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.tos-ok input:focus-visible{outline:2px solid var(--gold,#caa24a);outline-offset:2px}
.tos-ok a{color:var(--gold-txt,#d6ad50);text-decoration:underline;text-underline-offset:2px}
.vx-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,12px);z-index:9999;max-width:min(92vw,420px);padding:.7rem 1rem;border-radius:12px;background:var(--surface,#16161b);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.35);font-size:.86rem;opacity:0;transition:.3s}
.vx-toast.on{opacity:1;transform:translate(-50%,0)}
.w-bal-held,.pa-held{font-size:.74rem;color:var(--muted);margin-top:.35rem}
.wd-row{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--line-2)}
.wd-row:last-child{border-bottom:0}
.wd-main{flex:1;min-width:0}
.wd-amt{font-weight:600}
.wd-amt span{color:var(--muted);font-weight:500}
.wd-meta{font-size:.74rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-top:.3rem}
.seg button{border:0;background:transparent;color:var(--ink-2);padding:.55rem 1.1rem;font:inherit;font-weight:600;font-size:.84rem;cursor:pointer}
.seg button.on{background:rgba(202,162,74,.18);color:var(--gold-txt)}
.adm-wd{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.adm-wd:last-child{border-bottom:0}
.adm-wd-main{flex:1;min-width:220px}
.adm-wd-amt{font-weight:700}
.adm-wd-dest{font-family:var(--f-mono,ui-monospace,monospace);font-size:.78rem;word-break:break-all;color:var(--ink-2);margin-top:.2rem}
.adm-wd-act{display:flex;gap:.5rem;flex-wrap:wrap}
.adm-pay-table{width:100%;border-collapse:collapse;font-size:.82rem}
.adm-pay-table th{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.4rem .5rem;font-weight:600}
.adm-pay-table td{padding:.55rem .5rem;border-top:1px solid var(--line-2);vertical-align:top}
.adm-scroll{overflow-x:auto}

/* ===== notificações push / PWA ===== */
.push-banner{margin-bottom:1rem;border-color:var(--line-gold,rgba(202,162,74,.3))}
.pb-t{display:flex;gap:.7rem;align-items:center;font-weight:600}
.pb-t svg{width:22px;height:22px;flex-shrink:0;color:var(--gold-txt)}
.pb-d{font-size:.82rem;color:var(--ink-2);margin-top:.5rem;line-height:1.5}
.pb-a{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}
.np-status{font-size:.86rem;color:var(--ink-2);margin:.4rem 0 .8rem;line-height:1.5}
.np-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}
.np-list{border-top:1px solid var(--line-2)}
.np-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line-2);font-size:.9rem;cursor:pointer}
.np-row:last-child{border-bottom:0}
.np-row input{width:20px;height:20px;accent-color:#caa24a;flex-shrink:0}
.np-count{margin-top:.6rem;font-size:.86rem;color:var(--gold-txt);font-weight:600;min-height:1.2em}

/* ===== Vex — assistente de IA ===== */
.vex-fab{position:fixed;right:22px;bottom:22px;z-index:44;display:none;flex-direction:column;align-items:flex-end;gap:.7rem}
@media (min-width:901px){.vex-fab{display:flex}}
.vex-fab.is-open .vex-fab-btn{opacity:0;pointer-events:none;transform:scale(.6)}
.vex-fab-btn{position:relative;width:68px;height:68px;border-radius:50%;border:2px solid var(--gold-2);padding:0;background:#1c1c20;cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.45);animation:vexPulse 3.4s ease-out infinite;transition:transform .25s ease,opacity .2s ease}
.vex-fab-btn:hover{transform:scale(1.07)}
.vex-fab-btn img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;animation:vexBob 4.2s ease-in-out infinite}
.vex-dot{position:absolute;right:2px;bottom:3px;width:14px;height:14px;border-radius:50%;background:#3ddc84;border:2.5px solid var(--bg,#08080a);display:block}
@keyframes vexPulse{0%{box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 0 rgba(202,162,74,.5)}70%{box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 16px rgba(202,162,74,0)}100%{box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 0 rgba(202,162,74,0)}}
@keyframes vexBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-3deg)}}
@keyframes vexPop{0%{opacity:0;transform:translateY(10px) scale(.92)}100%{opacity:1;transform:none}}
.vex-bubble{display:none;position:relative;width:240px;background:var(--surface);border:1px solid var(--line-gold,rgba(202,162,74,.3));border-radius:20px 20px 6px 20px;
  padding:.65rem;box-shadow:0 18px 50px rgba(0,0,0,.5);cursor:pointer;transform-origin:bottom right}
.vex-bubble.show{display:block;animation:vexPop .38s cubic-bezier(.2,1.4,.4,1)}
.vex-bubble video{width:100%;aspect-ratio:1;border-radius:14px;display:block;background:#1c1c20;object-fit:cover}
.vex-bubble p{margin:.55rem .25rem .1rem;font-size:.86rem;font-weight:600;line-height:1.4}
.vex-bubble-x{position:absolute;top:.35rem;right:.35rem;z-index:2;width:26px;height:26px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.1rem;line-height:1;cursor:pointer}
.vex-panel{position:fixed;right:22px;bottom:22px;width:392px;height:min(640px,calc(100dvh - 44px));display:none;flex-direction:column;z-index:60;
  background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.55);overflow:hidden}
.vex-panel.show{display:flex;animation:vexPop .3s ease}
@media (max-width:900px){.vex-panel{inset:0;width:auto;height:auto;border-radius:0;border:0}}
.vex-hd{display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;padding-top:calc(.8rem + env(safe-area-inset-top));border-bottom:1px solid var(--line-2);
  background:linear-gradient(180deg,rgba(202,162,74,.10),transparent)}
.vex-hd-av{position:relative;width:42px;height:42px;flex-shrink:0}
.vex-hd-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:1.5px solid var(--gold-2);display:block}
.vex-hd-av .vex-dot{width:12px;height:12px;right:-1px;bottom:0}
.vex-hd-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.vex-hd-tx b{font-family:var(--f-disp);font-size:1rem}
.vex-hd-tx small{color:var(--muted);font-size:.72rem}
.vex-hd-act{display:flex;gap:.2rem}
.vex-hd-act button{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.vex-hd-act button:hover{background:var(--surface-3);color:var(--ink)}
.vex-hd-act svg{width:18px;height:18px}
.vex-msgs{flex:1;overflow-y:auto;padding:1rem .9rem;display:flex;flex-direction:column;gap:.55rem;overscroll-behavior:contain}
.vex-m{max-width:88%;padding:.6rem .8rem;border-radius:16px;font-size:.9rem;line-height:1.5;word-wrap:break-word}
.vex-m p{margin:0}.vex-m p+p,.vex-m ul+p,.vex-m p+ul{margin-top:.5rem}
.vex-m ul{margin:0;padding-left:1.1rem}.vex-m li{margin:.15rem 0}
.vex-m.bot{align-self:flex-start;background:var(--surface-3);border-bottom-left-radius:5px}
.vex-m.me{align-self:flex-end;background:linear-gradient(120deg,var(--gold-1),var(--gold-2));color:#1a1405;border-bottom-right-radius:5px}
.vex-m.err{border:1px solid rgba(255,95,95,.35)}
.vex-m.ticket{border:1px solid rgba(61,220,132,.4);background:rgba(61,220,132,.08)}
.vex-link{display:block;margin-top:.5rem;border:0;background:none;padding:0;color:var(--gold-txt);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.vex-typing{display:inline-flex;gap:4px;padding:.15rem 0}
.vex-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:vexDot 1.2s infinite ease-in-out}
.vex-typing i:nth-child(2){animation-delay:.15s}.vex-typing i:nth-child(3){animation-delay:.3s}
@keyframes vexDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.vex-chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 .9rem .6rem}
.vex-chips:empty{display:none}
.vex-chip{border:1px solid var(--line-gold,rgba(202,162,74,.3));background:transparent;color:var(--gold-txt);border-radius:999px;padding:.4rem .75rem;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}
.vex-chip:hover{background:rgba(202,162,74,.12)}
.vex-form{display:flex;gap:.5rem;align-items:flex-end;padding:.6rem .8rem;border-top:1px solid var(--line-2)}
.vex-form textarea{flex:1;resize:none;max-height:120px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:.92rem;padding:.6rem .8rem;line-height:1.4;outline:none}
.vex-form textarea:focus{border-color:var(--gold-2)}
/* anexos no chat com o atendente */
.vex-att{display:none;flex:none;width:40px;height:40px;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-2);border:1px solid var(--line);background:var(--surface-2);transition:color .2s,border-color .2s}
.vex-att:hover{color:var(--gold-txt,#d6ad50);border-color:var(--gold-2)}
.vex-att svg{width:18px;height:18px}
.vex-panel.is-human .vex-att{display:flex}
.vex-file{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;padding:.5rem .65rem;border-radius:10px;background:rgba(0,0,0,.18);color:inherit;text-decoration:none;font-size:.82rem;max-width:240px}
.vex-file svg{width:16px;height:16px;flex:none}
.vex-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vex-file.img{display:block;padding:0;background:none;max-width:220px}
.vex-file.img img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:10px}
.vex-m p+.vex-file{margin-top:.5rem}
.vex-form button{width:42px;height:42px;flex-shrink:0;border:0;border-radius:50%;background:linear-gradient(120deg,var(--gold-1),var(--gold-2));color:#1a1405;cursor:pointer;display:flex;align-items:center;justify-content:center}
.vex-form button:disabled{opacity:.5;cursor:default}
.vex-form button svg{width:19px;height:19px}
.vex-disc{padding:0 .9rem .7rem;padding-bottom:calc(.7rem + env(safe-area-inset-bottom));font-size:.66rem;color:var(--muted);line-height:1.4;text-align:center}
/* card em destaque (menu expansivo no mobile + topo do Suporte) */
.vex-card{display:flex;align-items:center;gap:.9rem;width:100%;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--line-gold,rgba(202,162,74,.35));border-radius:18px;cursor:pointer;text-align:left;color:var(--ink);font:inherit;
  background:linear-gradient(120deg,rgba(202,162,74,.18),rgba(202,162,74,.05));position:relative;overflow:hidden}
.vex-card::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(246,215,122,.16) 50%,transparent 65%);transform:translateX(-120%);animation:vexShine 4.5s ease-in-out infinite}
@keyframes vexShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.vc-av{position:relative;width:52px;height:52px;flex-shrink:0}
.vc-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--gold-2);display:block}
.vc-dot{position:absolute;right:0;bottom:1px;width:13px;height:13px;border-radius:50%;background:#3ddc84;border:2.5px solid var(--surface)}
.vc-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.vc-tx b{font-family:var(--f-disp);font-size:1.02rem}
.vc-tx small{color:var(--ink-2);font-size:.78rem}
.vc-chev{width:20px;height:20px;color:var(--gold-txt);flex-shrink:0}
.vex-card-inline{margin-bottom:1.1rem}
@media (prefers-reduced-motion: reduce){.vex-fab-btn,.vex-fab-btn img,.vex-card::after,.vex-bubble.show,.vex-panel.show{animation:none}}

/* ----- Vex animado (v2): o próprio botão do canto é o vídeo do aceno ----- */
.vex-fab-btn{width:96px;height:96px;border-radius:30px;overflow:hidden;background:#1c1c20;border:2px solid var(--gold-2)}
.vex-fab-btn video{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.vex-fab-btn .vex-dot{right:8px;bottom:8px;z-index:2}
.vex-fab-btn:hover{transform:scale(1.06) rotate(-2deg)}
.vc-av{overflow:visible}
.vc-av video,.vc-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--gold-2);display:block;background:#1c1c20}

/* Vex em modo atendente humano */
.vex-stars{display:flex;gap:.2rem;margin-top:.4rem}
.vex-stars button{border:0;background:none;font-size:1.7rem;line-height:1;color:var(--gold-txt,#caa24a);cursor:pointer;padding:.1rem .15rem;opacity:.55;transition:.15s}
.vex-stars button:hover,.vex-stars button:focus-visible{opacity:1;transform:scale(1.12)}
.vex-panel.is-human .vex-hd-av img{border-color:#2fd6a0}
.vex-panel.is-human .vex-hd-av .vex-dot{background:#2fd6a0}
a.vex-link{text-decoration:underline}

button.sheet-item{border:0;background:none;font:inherit;font-size:inherit;cursor:pointer}

/* modais: nunca maiores que a tela — rolam por dentro (PWA/celular) */
.vmodal{padding:max(.8rem,env(safe-area-inset-top)) max(.8rem,env(safe-area-inset-right)) max(.8rem,env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left))}
.vmodal-card{max-height:calc(100vh - 1.6rem);max-height:calc(100dvh - 1.6rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.vmodal-x{position:sticky;top:0;float:right;margin:-.9rem -.7rem 0 0;z-index:2;background:var(--surface)}
@media (max-width:520px){
  .vmodal-card{width:100%;padding:1.2rem 1rem 1.1rem;border-radius:16px}
  .vmodal-ic{width:44px;height:44px;margin-bottom:.6rem}.vmodal-ic svg{width:21px;height:21px}
  .vmodal-card h3{font-size:1.05rem;margin-bottom:.35rem}
  .ct-sec-lbl{margin:.8rem 0 .4rem}
  .ct-terms{gap:.5rem}.ct-term-opt{padding:.65rem}
  .ct-methods-3{grid-template-columns:repeat(3,1fr);gap:.4rem}
  .ct-method{padding:.55rem .45rem;align-items:center;text-align:center}.ct-m-d,.ct-m-soon{display:none}
  .ct-continue{margin-top:.8rem}
  .pay-qr{min-height:0;margin-bottom:.7rem}.pay-qr img{width:176px;height:176px}
}
@media (max-height:640px){.vmodal-ic{display:none}.pay-qr img{width:150px;height:150px}}


/* Perfil: insígnia do nível (arte do plano de carreira) no lugar do quadrado numerado */
.lv-badge-img{width:72px;height:72px;flex-shrink:0;border-radius:50%;object-fit:cover;filter:drop-shadow(0 4px 14px rgba(246,200,90,.35))}
.level-card .lv-top{gap:1.1rem}

.pa-hhold{margin-top:.2rem;font-size:.72rem;font-weight:600;color:#f5b548}

/* ---------- modal de novo contrato: desktop em 2 colunas + resumo; checkout do Stripe embutido ---------- */
.ct-col-a,.ct-col-b{min-width:0}
.ct-methods-n1{grid-template-columns:1fr}.ct-methods-n2{grid-template-columns:1fr 1fr}.ct-methods-n3{grid-template-columns:repeat(3,1fr)}
@media (max-width:520px){.ct-methods-n3{grid-template-columns:1fr}}
.ct-sum{margin-top:1.1rem;padding:.9rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.ct-sum-h{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.ct-sum-r{display:flex;justify-content:space-between;gap:1rem;padding:.38rem 0;font-size:.86rem;border-bottom:1px dashed var(--line);color:var(--ink-2)}
.ct-sum-r:last-child{border-bottom:0}.ct-sum-r b{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
@media (min-width:880px){
  .vmodal-card.wide-ct{width:min(920px,100%);padding:1.9rem 2.2rem 1.7rem}
  .wide-ct .ct-modal{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:0 2.4rem;align-items:start}
  .wide-ct .ct-methods{grid-template-columns:1fr}
  .wide-ct .ct-method{flex-direction:row;align-items:center;gap:.85rem;padding:.8rem 1rem}
  .wide-ct .ct-m-ic{flex:none}.wide-ct .ct-m-d{margin-left:auto;text-align:right}
  .wide-ct .ct-col-b{padding:1.2rem 1.3rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,rgba(202,162,74,.06),transparent 70%)}
  .wide-ct .ct-continue{margin-top:1.1rem}
}
.vmodal-card.wide-pay{width:min(560px,100%)}
.stripe-embed{margin-top:1rem;min-height:140px;border-radius:14px;overflow:hidden}
.stripe-loading{padding:2.4rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}

/* ---------- reinvestir (saldo → contrato) ---------- */
.dc-reinvest{--dc:#f59e0b}
.pa-wd-row{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;align-items:center}
.ri-email{display:flex;gap:.5rem}
.ri-email .inp{flex:1;min-width:0}
.ri-email .btn{flex-shrink:0;padding:.6rem 1rem}
.ri-who{font-size:.82rem;margin-top:.45rem;min-height:1.1em}
.ri-who.ok{color:#2fbf71}
.ri-who.bad{color:#ff6b6b}
.ri-minrow{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.ri-all{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-weight:600;color:var(--gold,#caa24a);text-decoration:underline;text-underline-offset:3px}
.ct-continue.ri-go{background:linear-gradient(120deg,#f6d77a,#e8b545);color:#14110a;box-shadow:0 0 0 3px rgba(246,215,122,.25);animation:riPulse 1.4s ease-in-out infinite}
@keyframes riPulse{50%{box-shadow:0 0 0 7px rgba(246,215,122,.08)}}

.wd-fee{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.5rem 0 .2rem;padding:.6rem .8rem;border-radius:12px;background:rgba(202,162,74,.08);border:1px solid rgba(202,162,74,.22);font-size:.82rem}
.wd-fee:empty{display:none}
.wd-fee span{color:var(--muted)}
.wd-fee b{color:var(--gold,#caa24a)}

/* ---------- fundo de reserva (gráfico mensal + modais) ---------- */
.ch-res{fill:#d6ad50}
.ch-barg:hover .ch-res{filter:brightness(1.12)}
.ch-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:.5rem;font-size:.76rem;color:var(--muted)}
.ch-legend span{display:inline-flex;align-items:center;gap:.4rem}
.ch-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.ch-legend .lg-acct{background:var(--up)}
.ch-legend .lg-res{background:#d6ad50}
.ch-resnote{margin:.45rem 0 0;font-size:.74rem;line-height:1.5;color:var(--muted)}
.ch-resinfo{display:none}
@media (max-width:640px){
  .ch-resnote{display:none}
  .res-open .ch-resnote{display:block}
  .ch-resinfo{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border-radius:50%;border:1px solid var(--muted);background:transparent;color:var(--muted);font:italic 600 11px/1 Georgia,serif;cursor:pointer;opacity:.8}
  .res-open .ch-resinfo{color:#d6ad50;border-color:#d6ad50;opacity:1}
}
.ct-resnote{margin:.6rem 0 .2rem;padding:.6rem .75rem;border-radius:12px;font-size:.76rem;line-height:1.5;color:var(--muted);background:rgba(202,162,74,.07);border:1px solid rgba(202,162,74,.2)}

.ch-rbar.in{fill:#d6ad50}.ch-rbar.out{fill:#ff8a5b}
.ch-barg:hover .ch-rbar{filter:brightness(1.12)}
.ch-rlab.in{fill:#d6ad50}.ch-rlab.out{fill:#ff8a5b}
.ch-rlab{font-family:var(--f-disp);font-size:11px;font-weight:700}
.ch-legend .lg-in{background:#d6ad50}.ch-legend .lg-out{background:#ff8a5b}

.ch-rtotal{display:inline-flex;align-items:baseline;gap:.4rem;margin:-.35rem 0 .2rem;font-size:.68rem;color:var(--muted);opacity:.85}
.ch-rtotal b{font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}
.ch-rtotal b.in{color:rgba(214,173,80,.85)}.ch-rtotal b.out{color:rgba(255,138,91,.85)}

/* mês que bateu o teto nos dois planos: brilho dourado (conta para a PL anual) */
.ch-bar.up.pl{stroke:#f6d77a;stroke-width:1.6;animation:plGlow 2.6s ease-in-out infinite}
@keyframes plGlow{0%,100%{filter:drop-shadow(0 0 3px rgba(246,215,122,.75)) drop-shadow(0 0 9px rgba(246,215,122,.35))}50%{filter:drop-shadow(0 0 6px rgba(246,215,122,1)) drop-shadow(0 0 18px rgba(246,215,122,.6))}}
.ch-plval{fill:var(--muted,#8a8f98);opacity:.7;font-size:8.5px;font-weight:400;letter-spacing:.02em}
@keyframes plStar{50%{opacity:.55}}
.ch-legend .lg-pl{background:var(--up);box-shadow:0 0 0 1.5px #f6d77a,0 0 8px rgba(246,215,122,.9)}
@media (prefers-reduced-motion:reduce){.ch-bar.up.pl{animation:none}.ch-bar.up.pl{filter:drop-shadow(0 0 5px rgba(246,215,122,.9))}}

/* ===== pré-lançamento: banner com contador "split-flap" (placas de papel) e poeira dourada (home e investimentos) ===== */
.pm-banner{--fw:46px;--fh:66px;--paper-t:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(180deg,#2a292f,#1f1e23);--paper-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(180deg,#1b1a1f,#141317);
  --fp-ink:#f3d886;--fp-hinge:rgba(0,0,0,.6);--fp-shadow:0 10px 22px rgba(0,0,0,.42),0 2px 4px rgba(0,0,0,.35);
  position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:1.3rem 2.2rem;flex-wrap:wrap;
  margin:1rem 0 1.15rem;padding:1.35rem 1.55rem;border-radius:18px;border:1px solid var(--line-gold);overflow:hidden;
  background:radial-gradient(55% 140% at 86% 50%,color-mix(in srgb,var(--gold-2) 11%,transparent),transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0) 55%),var(--surface-2)}
[data-theme="light"] .pm-banner{--paper-t:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .12 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(180deg,#fdfaf2,#f3ecdc);--paper-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .12 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(180deg,#efe7d4,#e6dcc5);
  --fp-ink:#7a5c17;--fp-hinge:rgba(90,70,20,.22);--fp-shadow:0 8px 18px rgba(80,60,20,.14),0 1px 2px rgba(80,60,20,.18)}
.pm-banner::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='60' viewBox='0 0 160 60'%3E%3Cg fill='none' stroke='%23caa24a' stroke-opacity='.13' stroke-width='.6'%3E%3Cpath d='M0 30 C20 10 40 10 60 30 S100 50 120 30 S150 10 160 30'/%3E%3Cpath d='M0 22 C20 2 40 2 60 22 S100 42 120 22 S150 2 160 22'/%3E%3Cpath d='M0 38 C20 18 40 18 60 38 S100 58 120 38 S150 18 160 38'/%3E%3Cpath d='M0 14 C20 -6 40 -6 60 14 S100 34 120 14 S150 -6 160 14'/%3E%3Cpath d='M0 46 C20 26 40 26 60 46 S100 66 120 46 S150 26 160 46'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask:linear-gradient(90deg,#000,transparent 60%);mask:linear-gradient(90deg,#000,transparent 60%)}
.pm-banner::after{content:'';position:absolute;left:8%;right:8%;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--gold-1),transparent);opacity:.55}
.pm-fx{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.pm-txt,.pm-clock{position:relative;z-index:1}
.pm-txt{min-width:0;flex:1 1 300px}
.pm-pill{display:flex;width:max-content;max-width:100%;align-items:center;gap:.45rem;padding:.24rem .65rem;border-radius:999px;font-size:.62rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-txt);border:1px solid var(--line-gold);background:color-mix(in srgb,var(--gold-2) 9%,transparent)}
.pm-pill i{width:6px;height:6px;border-radius:50%;background:var(--gold-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold-1) 22%,transparent);animation:cxPulse 2.4s ease-in-out infinite}
.pm-txt h3{margin:.7rem 0 .45rem;font-family:var(--f-disp);font-weight:700;font-size:clamp(1.15rem,1.7vw,1.42rem);letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
[data-theme="light"] .pm-txt h3 em{background-image:linear-gradient(120deg,#b8892a,#7a5c17)}
.pm-txt h3 em{font-style:normal;background:linear-gradient(120deg,var(--gold-1),var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pm-lead{font-size:.8rem;color:var(--muted)}
.pm-when{display:flex;align-items:center;gap:.45rem;margin-top:.3rem;font-size:.88rem;font-weight:600;color:var(--ink)}
.pm-when svg{width:16px;height:16px;flex:none;color:var(--gold-txt)}
.pm-when span::first-letter{text-transform:uppercase}
.pm-clock{display:flex;align-items:flex-start;gap:.55rem}
.pm-g{display:grid;justify-items:center;gap:.45rem}
.pm-g small{font-size:.56rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pm-fl{display:flex;gap:4px}
.pm-col{display:grid;align-content:center;gap:9px;height:var(--fh)}
.pm-col::before,.pm-col::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold-2);opacity:.75}
/* placa: metade de cima e de baixo em "papel"; .ft/.fb são as abas que viram */
.fp{position:relative;width:var(--fw);height:var(--fh);perspective:420px;border-radius:8px;box-shadow:var(--fp-shadow)}
.fp b{position:absolute;left:0;right:0;height:50%;overflow:hidden;display:block;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.fp b i{position:absolute;left:0;right:0;height:var(--fh);line-height:var(--fh);text-align:center;font-style:normal;font-family:var(--f-disp);font-weight:700;
  font-size:calc(var(--fh) * .6);letter-spacing:-.02em;color:var(--fp-ink);font-variant-numeric:tabular-nums}
.fp .t,.fp .ft{top:0;border-radius:8px 8px 0 0;background:var(--paper-t)}
.fp .b,.fp .fb{bottom:0;border-radius:0 0 8px 8px;background:var(--paper-b)}
.fp .t i,.fp .ft i{top:0}
.fp .b i,.fp .fb i{top:calc(var(--fh) / -2)}
.fp::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:var(--fp-hinge);z-index:5}
.fp::before{content:'';position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;z-index:6;border-radius:1px;
  background:linear-gradient(90deg,var(--fp-hinge) 0 2px,transparent 2px calc(100% - 2px),var(--fp-hinge) calc(100% - 2px))}
.fp .ft{z-index:3;transform-origin:50% 100%}
.fp .fb{z-index:3;transform-origin:50% 0;transform:rotateX(90deg)}
.fp .ft::after,.fp .fb::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0}
.fp .ft::after{background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.5))}
.fp .fb::after{background:linear-gradient(0deg,rgba(0,0,0,0),rgba(0,0,0,.45))}
.fp.go .ft{animation:fpTop .28s cubic-bezier(.55,.06,.68,.19) forwards}
.fp.go .ft::after{animation:fpShadeIn .28s forwards}
.fp.go .fb{animation:fpBot .34s .26s cubic-bezier(.2,.7,.3,1.25) forwards}
.fp.go .fb::after{opacity:1;animation:fpShadeOut .34s .26s forwards}
@keyframes fpTop{to{transform:rotateX(-90deg)}}
@keyframes fpBot{from{transform:rotateX(90deg)}to{transform:rotateX(0)}}
@keyframes fpShadeIn{to{opacity:1}}
@keyframes fpShadeOut{to{opacity:0}}
@media (max-width:640px){
  .pm-banner{--fw:clamp(26px,7.6vw,38px);--fh:calc(var(--fw) * 1.42);padding:1.1rem 1rem 1.15rem;gap:1.05rem}
  .pm-txt{flex-basis:100%}
  .pm-when{font-size:.82rem;align-items:flex-start}.pm-when svg{margin-top:1px}
  .pm-clock{width:100%;justify-content:center;gap:.4rem}
  .pm-fl{gap:3px}
  .pm-col{gap:7px}.pm-col::before,.pm-col::after{width:4px;height:4px}
  .pm-banner::before{-webkit-mask:linear-gradient(180deg,#000,transparent 70%);mask:linear-gradient(180deg,#000,transparent 70%)}
}
@media (prefers-reduced-motion:reduce){.pm-pill i{animation:none}}
