/* Plataforma AXIS, Frente 22 (rodada 5): primeiro acesso do cliente no portal (web/r5-22.js).
   Escopo: #r522-card (Início), #r522-dlg (janelas dos passos), .r522-veu/.r522-foco/.r522-bal (tour), .r522-conta e .r522-aj.
   Usa os tokens --ax-* do app-tema.css (web/TEMA.md). */

.r522-card,.r522-dlg,.r522-bal,.r522-conta,.r522-aj{--r522-reflexo:rgba(255,255,255,.8);--r522-ok:var(--ax-ok,#15805A)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) :is(.r522-card,.r522-dlg,.r522-bal,.r522-conta,.r522-aj){--r522-reflexo:rgba(255,255,255,.06)}}
:root[data-theme="dark"] :is(.r522-card,.r522-dlg,.r522-bal,.r522-conta,.r522-aj){--r522-reflexo:rgba(255,255,255,.06)}
.r522-ic{flex:none}
.r522-selo{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:var(--ax-raio-pilula);font:650 10.5px var(--ax-fonte);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ax-acento);background:var(--ax-acento-suave);box-shadow:inset 0 0 0 1px var(--ax-acento-borda)}
.r522-x{display:grid;place-items:center;width:34px;height:34px;flex:none;border:0;border-radius:10px;background:transparent;color:var(--ax-texto-mudo);cursor:pointer;
  transition:background var(--ax-dur-1),color var(--ax-dur-1)}
.r522-x:hover{background:var(--ax-superficie-3);color:var(--ax-texto)}
.r522-x:focus-visible,.r522-depois:focus-visible,.r522-olho:focus-visible,.r522-chave input:focus-visible+i{outline:2px solid var(--ax-acento);outline-offset:2px}

/* ---------- anel de progresso ---------- */
.r522-anel{position:relative;display:inline-grid;place-items:center;width:var(--t);height:var(--t);flex:none}
.r522-anel svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 4px 10px rgba(132,54,254,.28))}
.r522-anel-f{fill:none;stroke:var(--ax-afundada);stroke-width:7}
.r522-anel-v{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .9s var(--ax-curva)}
.r522-anel b{position:relative;display:flex;flex-direction:column;align-items:center;font:750 21px/1 var(--ax-fonte);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ax-texto)}
.r522-anel b small{margin-top:3px;font:600 10.5px var(--ax-fonte);letter-spacing:0;color:var(--ax-texto-mudo)}

/* ---------- cartão dos primeiros passos ---------- */
.r522-card{position:relative;isolation:isolate;overflow:hidden;margin:18px 0 6px;padding:20px 22px 18px;border-radius:20px;
  background:linear-gradient(180deg,var(--ax-superficie-1),var(--ax-superficie-2));
  box-shadow:var(--ax-anel),var(--ax-sombra-2),inset 0 1px 0 var(--r522-reflexo);animation:r522-entra .5s var(--ax-curva) backwards}
.r522-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(520px 200px at 0% 0%,color-mix(in srgb,var(--ax-acento) 13%,transparent),transparent 70%),radial-gradient(380px 160px at 100% 100%,color-mix(in srgb,var(--ax-acento) 7%,transparent),transparent 70%)}
.r522-luz{position:absolute;left:8%;right:8%;top:0;height:1px;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ax-acento) 70%,#fff),transparent);box-shadow:0 0 16px 1px color-mix(in srgb,var(--ax-acento) 45%,transparent)}
.r522-card.sai{animation:r522-sai .22s ease-in forwards}
.r522-card.realce{animation:r522-realce 2.2s var(--ax-curva)}
@keyframes r522-entra{from{opacity:0;transform:translateY(10px)}}
@keyframes r522-sai{to{opacity:0;transform:translateY(-6px) scale(.99)}}
@keyframes r522-realce{0%,60%{box-shadow:0 0 0 2px var(--ax-acento),0 0 0 8px color-mix(in srgb,var(--ax-acento) 18%,transparent),var(--ax-sombra-3)}}
.r522-cab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
.r522-cab-tx h2{margin:8px 0 3px;font:700 20px/1.2 var(--ax-fonte);letter-spacing:-.02em;color:var(--ax-texto);text-wrap:balance}
.r522-cab-tx p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ax-texto-2)}
.r522-cab-ac{display:flex;align-items:center;gap:6px;align-self:flex-start}
.r522-cab-ac .btn{display:inline-flex;align-items:center;gap:7px}

.r522-lista{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;counter-reset:r522}
.r522-it{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 14px 12px;border-radius:15px;background:var(--ax-superficie-1);
  box-shadow:var(--ax-anel),0 1px 2px rgba(20,21,52,.05),inset 0 1px 0 var(--r522-reflexo);transition:transform var(--ax-dur-2) var(--ax-curva),box-shadow var(--ax-dur-2) var(--ax-curva),opacity var(--ax-dur-2)}
.r522-it.aberto:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--ax-acento-borda),var(--ax-sombra-2),inset 0 1px 0 var(--r522-reflexo)}
.r522-it.feito{background:color-mix(in srgb,var(--r522-ok) 5%,var(--ax-superficie-1))}
.r522-it.disp{background:var(--ax-superficie-2)}
.r522-med{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--ax-acento);
  background:linear-gradient(160deg,color-mix(in srgb,var(--ax-acento) 16%,var(--ax-superficie-1)),color-mix(in srgb,var(--ax-acento) 6%,var(--ax-superficie-1)));
  box-shadow:inset 0 0 0 1px var(--ax-acento-borda),inset 0 1px 0 var(--r522-reflexo),0 3px 8px -3px color-mix(in srgb,var(--ax-acento) 40%,transparent)}
.r522-it.feito .r522-med{color:#fff;background:linear-gradient(160deg,color-mix(in srgb,var(--r522-ok) 72%,#fff),var(--r522-ok));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 10px -3px color-mix(in srgb,var(--r522-ok) 55%,transparent);animation:r522-pop .45s var(--ax-curva)}
.r522-it.disp .r522-med{color:var(--ax-texto-mudo);background:var(--ax-afundada);box-shadow:inset 0 0 0 1px var(--ax-borda)}
@keyframes r522-pop{0%{transform:scale(.6)}60%{transform:scale(1.08)}}
.r522-it-tx{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.r522-it-tx b{font:650 14px/1.3 var(--ax-fonte);letter-spacing:-.01em;color:var(--ax-texto)}
.r522-it-tx b em{font-style:normal;font-weight:600;font-size:11px;color:var(--ax-texto-mudo);white-space:nowrap}
.r522-it-tx small{font-size:12.5px;line-height:1.45;color:var(--ax-texto-2)}
.r522-it.feito .r522-it-tx b{color:var(--ax-texto-2)}
.r522-it-ac{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-height:30px}
.r522-depois{border:0;background:none;padding:6px 8px;border-radius:8px;font:600 12px var(--ax-fonte);color:var(--ax-texto-mudo);cursor:pointer;transition:color var(--ax-dur-1),background var(--ax-dur-1)}
.r522-depois:hover{color:var(--ax-texto);background:var(--ax-superficie-3)}
.r522-ok-txt{display:inline-flex;align-items:center;gap:5px;font:650 12.5px var(--ax-fonte);color:var(--r522-ok)}

.r522-card.completo .r522-cab-tx h2{font-size:22px}
.r522-card.festa .r522-anel svg{animation:r522-gira 1.1s var(--ax-curva)}
@keyframes r522-gira{from{transform:rotate(-90deg) scale(.9)}}

@media (max-width:1240px){.r522-lista{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .r522-lista{grid-template-columns:1fr;gap:8px}
  .r522-it{flex-direction:row;align-items:center;gap:12px;padding:12px}
  .r522-it-ac{flex-direction:column;align-items:flex-end;gap:2px;min-height:0}
}
@media (max-width:640px){
  .r522-card{margin:14px 0 4px;padding:16px 14px 14px;border-radius:18px}
  .r522-cab{grid-template-columns:auto minmax(0,1fr);gap:12px 14px}
  .r522-cab .r522-anel{--t:62px!important}
  .r522-cab-tx h2{font-size:17.5px;margin-top:6px}
  .r522-cab-ac{grid-column:1/-1;justify-content:space-between}
  .r522-card.completo .r522-cab-ac{justify-content:flex-end}
  .r522-it{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}
  .r522-it-ac{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:4px}
  .r522-med{width:34px;height:34px;border-radius:11px}
}

/* ---------- janelas dos passos ---------- */
dialog.r522-dlg{width:min(600px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;overflow:hidden;background:var(--ax-flutuante)}
dialog.r522-dlg.r522-dlg-notif{width:min(760px,calc(100vw - 32px))}
.r522-dlg-c{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}
.r522-dlg-cab,.r522-cons-cab{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;padding:22px 22px 16px;isolation:isolate;border-bottom:1px solid var(--ax-borda)}
.r522-dlg-cab::before,.r522-cons-cab::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(400px 170px at 0% 0%,color-mix(in srgb,var(--ax-acento) 15%,transparent),transparent 72%)}
.r522-dlg-med{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;background:var(--ax-degrade-marca,linear-gradient(140deg,#9A5BFF,#6E25E0));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 18px -6px rgba(132,54,254,.6)}
.r522-dlg-cab small,.r522-cons-cab small{font:600 12px var(--ax-fonte);color:var(--ax-acento)}
dialog.r522-dlg h2{margin:2px 0 4px;font:700 21px/1.25 var(--ax-fonte);letter-spacing:-.02em;color:var(--ax-texto)}
.r522-dlg-cab p,.r522-cons-cab p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ax-texto-2)}
.r522-dlg-corpo{display:flex;flex-direction:column;gap:14px;padding:18px 22px 20px;overflow:auto}
.r522-dlg-corpo h3{margin:0 0 8px;font:650 13px var(--ax-fonte);color:var(--ax-texto-mudo)}
.r522-dlg-corpo>section>p{margin:0;font-size:14px;line-height:1.6;color:var(--ax-texto-2)}
form.r522-dlg-corpo{overflow:auto}
dialog.r522-dlg .r522-dlg-pe{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 22px 18px;border-top:1px solid var(--ax-borda);background:var(--ax-superficie-2)}
form .r522-dlg-pe{margin:6px -22px -20px}
.r522-dlg-pe .btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.r522-dica{margin:0;font-size:12.5px;line-height:1.5;color:var(--ax-texto-mudo)}
.r522-erro{margin:0;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--ax-erro);background:var(--ax-erro-suave)}
.r522-aviso{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px 13px;border-radius:12px;font-size:13.5px;line-height:1.45;color:var(--ax-texto);background:var(--ax-alerta-suave);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ax-alerta) 30%,transparent)}
.r522-aviso svg{color:var(--ax-alerta);margin-top:1px}

/* senha */
.r522-form{gap:12px}
.r522-campo-olho{position:relative;display:block}
.r522-campo-olho input{width:100%;padding-right:46px}
.r522-olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--ax-texto-mudo);cursor:pointer}
.r522-olho:hover,.r522-olho[aria-pressed="true"]{color:var(--ax-acento);background:var(--ax-acento-suave)}
.r522-forca{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:-4px}
.r522-forca i{height:5px;border-radius:99px;background:var(--ax-afundada);transition:background var(--ax-dur-2)}
.r522-forca[data-n="1"] i:nth-child(-n+1){background:var(--ax-erro)}
.r522-forca[data-n="2"] i:nth-child(-n+2){background:var(--ax-alerta)}
.r522-forca[data-n="3"] i{background:var(--r522-ok)}

/* 2FA */
.r522-etapas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:r522e}
.r522-etapas li{position:relative;padding-left:40px;display:flex;flex-direction:column;gap:6px;counter-increment:r522e}
.r522-etapas li::before{content:counter(r522e);position:absolute;left:0;top:-2px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 13px var(--ax-fonte);color:var(--ax-acento);background:var(--ax-acento-suave);box-shadow:inset 0 0 0 1px var(--ax-acento-borda)}
.r522-etapas b{font:650 14px var(--ax-fonte);color:var(--ax-texto)}
.r522-etapas span{font-size:13.5px;line-height:1.5;color:var(--ax-texto-2)}
.r522-qr{display:inline-block;padding:10px;border-radius:14px;background:#fff;box-shadow:var(--ax-anel),var(--ax-sombra-1)}
.r522-qr svg{display:block;width:170px;height:170px}
.r522-qr-w:empty{display:none}
.r522-cod{display:flex;gap:8px;align-items:center}
.r522-cod input{width:150px;font:600 20px var(--ax-fonte-mono);letter-spacing:.3em;text-align:center}

/* extrato */
.r522-ext-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.r522-ext-c{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border-radius:13px;background:var(--ax-superficie-2);box-shadow:var(--ax-anel)}
.r522-ext-c b{font:650 13.5px var(--ax-fonte);color:var(--ax-texto)}
.r522-ext-c span{font-size:13px;line-height:1.5;color:var(--ax-texto-2)}

/* consultor */
.r522-cons-cab{align-items:center;padding:24px 22px 20px}
.r522-cons-av{position:relative;display:grid;place-items:center;width:68px;height:68px;border-radius:22px;color:#fff;background:var(--ax-degrade-marca,linear-gradient(140deg,#9A5BFF,#6E25E0));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 26px -10px rgba(132,54,254,.7)}
.r522-cons-av>b{font:700 24px var(--ax-fonte);letter-spacing:-.02em}
.r522-cons-av>svg{width:34px;height:auto;fill:currentColor}
.r522-cons-av i{position:absolute;right:-6px;bottom:-6px;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--ax-navy,#141534);color:#fff;box-shadow:0 0 0 3px var(--ax-flutuante)}
.r522-cons-av i svg{width:14px;height:auto;fill:currentColor}
.r522-faz{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.r522-faz li{display:flex;gap:12px;align-items:flex-start}
.r522-faz li>svg{margin-top:2px;color:var(--ax-acento)}
.r522-faz span{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.5;color:var(--ax-texto-2)}
.r522-faz b{font:650 14px var(--ax-fonte);color:var(--ax-texto)}
.r522-ritmo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:relative}
.r522-ritmo li{position:relative;display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-radius:12px;background:var(--ax-superficie-2);box-shadow:var(--ax-anel)}
.r522-ritmo b{font:700 13px var(--ax-fonte);color:var(--ax-acento);font-variant-numeric:tabular-nums}
.r522-ritmo span{font-size:12.5px;line-height:1.4;color:var(--ax-texto-2)}
.r522-dlg-cons .r522-dica{margin-top:8px}

/* preferências de notificação */
.r522-notif{display:flex;flex-direction:column;gap:14px}
.r522-mat{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;box-shadow:var(--ax-anel);background:var(--ax-superficie-1)}
.r522-mat-l{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,92px);align-items:center;gap:8px;padding:11px 14px;border-top:1px solid var(--ax-borda)}
.r522-mat-l:first-child{border-top:0}
.r522-mat-cab{padding:9px 14px;background:var(--ax-superficie-2);font:600 12px var(--ax-fonte);color:var(--ax-texto-mudo)}
.r522-mat-cab .c{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.r522-mat .c{text-align:center;display:flex;justify-content:center}
.r522-mat-ev{display:flex;flex-direction:column;gap:2px;min-width:0}
.r522-mat-ev b{font:600 13.5px var(--ax-fonte);color:var(--ax-texto)}
.r522-mat-ev small{font-size:12px;color:var(--ax-texto-mudo);line-height:1.4}
.r522-chave{position:relative;display:inline-block;width:40px;height:24px;cursor:pointer}
.r522-chave input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.r522-chave i{position:absolute;inset:0;border-radius:99px;background:var(--ax-afundada);box-shadow:inset 0 0 0 1px var(--ax-borda-forte),inset 0 1px 2px rgba(10,10,40,.12);transition:background var(--ax-dur-2),box-shadow var(--ax-dur-2);pointer-events:none}
.r522-chave i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(10,10,40,.3);transition:transform var(--ax-dur-2) var(--ax-curva)}
.r522-chave input:checked+i{background:var(--ax-degrade);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.r522-chave input:checked+i::after{transform:translateX(16px)}
.r522-chave input:disabled+i{opacity:.55}
.r522-chave:has(input:disabled){cursor:not-allowed}
.r522-notif-g{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.8fr));gap:10px 12px;align-items:end}
.r522-fds{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ax-texto-2);cursor:pointer}
.r522-fds input{width:17px;height:17px;accent-color:var(--ax-roxo)}

@media (max-width:640px){
  dialog.r522-dlg,dialog.r522-dlg.r522-dlg-notif{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .r522-dlg-c{height:100%;max-height:100%}
  .r522-dlg-corpo{flex:1;padding:16px}
  .r522-dlg-cab,.r522-cons-cab{padding:calc(16px + env(safe-area-inset-top,0px)) 16px 14px;gap:12px}
  .r522-dlg-med{width:40px;height:40px}
  dialog.r522-dlg h2{font-size:19px}
  dialog.r522-dlg .r522-dlg-pe{padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  form .r522-dlg-pe{margin:6px -16px -16px}
  .r522-dlg-pe .btn{flex:1;justify-content:center}
  .r522-ext-g,.r522-ritmo{grid-template-columns:1fr 1fr}
  .r522-ext-g .r522-ext-c:first-child{grid-column:1/-1}
  .r522-mat-l{grid-template-columns:minmax(0,1fr) repeat(3,46px);gap:4px;padding:10px 10px}
  .r522-mat-cab{font-size:11px}
  .r522-mat-cab .c svg{display:none}
  .r522-mat-ev small{display:none}
  .r522-chave{width:36px;height:22px}
  .r522-chave i::after{width:16px;height:16px}
  .r522-chave input:checked+i::after{transform:translateX(14px)}
  .r522-notif-g{grid-template-columns:1fr 1fr}
  .r522-notif-g .campo:first-child{grid-column:1/-1}
}

/* ---------- tour ---------- */
.r522-veu{position:fixed;inset:0;z-index:95;opacity:0;transition:opacity var(--ax-dur-3)}
.r522-foco{position:fixed;z-index:96;pointer-events:none;border-radius:16px;opacity:0;
  box-shadow:0 0 0 2px rgba(199,166,255,.95),0 0 0 7px rgba(132,54,254,.26),0 0 32px 6px rgba(166,111,254,.42),0 0 0 9999px rgba(8,9,28,.64);
  transition:left .4s var(--ax-curva),top .4s var(--ax-curva),width .4s var(--ax-curva),height .4s var(--ax-curva),opacity var(--ax-dur-3),border-radius .4s}
.r522-foco.centro{border-radius:50%;box-shadow:0 0 0 9999px rgba(8,9,28,.7)}
.r522-foco:not(.centro)::after{content:"";position:absolute;inset:-2px;border-radius:inherit;box-shadow:0 0 0 2px rgba(199,166,255,.7);animation:r522-pulso 1.8s ease-out infinite}
@keyframes r522-pulso{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}
.r522-veu.in,.r522-foco.in{opacity:1}
.r522-veu.sai,.r522-foco.sai{opacity:0}
.r522-bal{position:fixed;z-index:97;width:min(360px,calc(100vw - 24px));padding:18px 20px 16px;border-radius:18px;color:var(--ax-texto);
  background:linear-gradient(180deg,var(--ax-flutuante),var(--ax-superficie-2));
  box-shadow:0 0 0 1px var(--ax-borda),inset 0 1px 0 var(--r522-reflexo),0 28px 60px -18px rgba(8,9,28,.6),0 8px 20px -10px rgba(8,9,28,.4);
  opacity:0;transform:translateY(8px) scale(.98);transition:opacity var(--ax-dur-3) var(--ax-curva),transform var(--ax-dur-3) var(--ax-curva),left .4s var(--ax-curva),top .4s var(--ax-curva)}
.r522-bal.in{opacity:1;transform:none}
.r522-bal.troca{opacity:0;transform:translateY(4px)}
.r522-bal.sai{opacity:0;transform:translateY(8px) scale(.98)}
.r522-bal::before{content:"";position:absolute;width:14px;height:14px;background:var(--ax-flutuante);box-shadow:-1px 1px 0 var(--ax-borda);display:none}
.r522-bal[data-lado="dir"]::before{display:block;left:-7px;top:calc(var(--r522-seta,40px) - 7px);transform:rotate(45deg)}
.r522-bal[data-lado="baixo"]::before{display:block;top:-7px;left:calc(var(--r522-seta,40px) - 7px);transform:rotate(135deg)}
.r522-bal[data-lado="cima"]::before{display:block;bottom:-7px;left:calc(var(--r522-seta,40px) - 7px);transform:rotate(-45deg);background:var(--ax-superficie-2)}
.r522-bal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.r522-bal-top small{font:650 11.5px var(--ax-fonte);color:var(--ax-acento);font-variant-numeric:tabular-nums}
.r522-bal-top .r522-x{width:28px;height:28px;margin:-6px -8px -6px 0}
.r522-prog{display:flex;gap:4px;margin-bottom:12px}
.r522-prog i{flex:1;height:3px;border-radius:99px;background:var(--ax-afundada);transition:background var(--ax-dur-3)}
.r522-prog i.feito{background:color-mix(in srgb,var(--ax-acento) 55%,transparent)}
.r522-prog i.agora{background:var(--ax-degrade)}
.r522-bal h2{margin:0 0 6px;font:700 17.5px/1.3 var(--ax-fonte);letter-spacing:-.015em;color:var(--ax-texto);text-wrap:balance}
.r522-bal p{margin:0;font-size:14px;line-height:1.55;color:var(--ax-texto-2)}
.r522-bal-ac{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}
.r522-esp{flex:1}
.r522-bal[data-lado="meio"]{left:50%!important;top:50%!important;width:min(500px,calc(100vw - 24px));padding:0 0 22px;overflow:hidden;transform:translate(-50%,-46%) scale(.97)}
.r522-bal[data-lado="meio"].in{transform:translate(-50%,-50%)}
.r522-bal[data-lado="meio"].troca,.r522-bal[data-lado="meio"].sai{transform:translate(-50%,-47%) scale(.98)}
.r522-bal[data-lado="meio"]>*:not(.r522-bal-marca){margin-left:26px;margin-right:26px}
.r522-bal[data-lado="meio"] .r522-bal-ac{justify-content:flex-end;margin-top:22px}
.r522-bal-marca{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 26px;margin-bottom:20px;color:#fff;
  background:radial-gradient(360px 180px at 100% 0%,rgba(166,111,254,.55),transparent 70%),radial-gradient(260px 160px at 0% 120%,rgba(132,54,254,.35),transparent 70%),linear-gradient(150deg,#1D1E52,#111233)}
.r522-bal-marca::after{content:"";position:absolute;left:12%;right:12%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(199,166,255,.9),transparent);box-shadow:0 0 14px 1px rgba(166,111,254,.5)}
.r522-bal-marca .r522-selo{color:#E3D6FF;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(227,214,255,.28)}
.r522-bal-logo svg{display:block;height:26px;width:auto;color:#fff}
.r522-bal.fim .r522-bal-marca{padding:16px 26px}
.r522-bal[data-lado="meio"] h2{font-size:22px;margin-bottom:8px}
.r522-bal[data-lado="meio"] p{font-size:14.5px}
.r522-bal-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.r522-bal-info span{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--ax-raio-pilula);font:500 12.5px var(--ax-fonte);color:var(--ax-texto-2);background:var(--ax-superficie-2);box-shadow:var(--ax-anel)}
.r522-bal-info svg,.r522-bal-falta svg{color:var(--ax-acento)}
.r522-bal-falta{display:flex;align-items:flex-start;gap:8px;margin-top:14px!important;padding:10px 12px;border-radius:12px;font-size:13.5px!important;background:var(--ax-acento-suave);box-shadow:inset 0 0 0 1px var(--ax-acento-borda)}
@media (max-width:760px){
  .r522-bal[data-lado="cel-baixo"],.r522-bal[data-lado="cel-cima"]{left:12px!important;right:12px;width:auto}
  .r522-bal[data-lado="cel-baixo"]{top:auto!important;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .r522-bal[data-lado="cel-cima"]{top:calc(12px + env(safe-area-inset-top,0px))!important;bottom:auto}
  .r522-bal[data-lado="meio"]>*:not(.r522-bal-marca){margin-left:20px;margin-right:20px}
  .r522-bal-marca{padding:18px 20px}
}
@media (prefers-reduced-motion:reduce){
  .r522-card,.r522-it.feito .r522-med,.r522-foco::after,.r522-card.festa .r522-anel svg{animation:none}
  .r522-foco,.r522-bal,.r522-anel-v{transition:none}
}

/* ---------- Minha conta e Central de ajuda ---------- */
.r522-conta{display:grid;gap:16px;margin-top:16px}
.r522-conta-pc{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.r522-conta-pc>div:nth-child(2){flex:1;min-width:200px}
.r522-conta-pc h2{margin:0}
.r522-conta-ac{display:flex;gap:8px;flex-wrap:wrap}
.r522-conta-ac .btn{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.r522-conta-notif .acoes{margin-top:14px}
.r522-conta-notif .r522-notif{margin-top:12px}
.r522-aj{display:flex;align-items:center;gap:14px;margin:16px 0;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,var(--ax-superficie-1),var(--ax-superficie-2));box-shadow:var(--ax-anel),var(--ax-sombra-1),inset 0 1px 0 var(--r522-reflexo)}
.r522-aj-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--ax-acento);background:var(--ax-acento-suave);box-shadow:inset 0 0 0 1px var(--ax-acento-borda)}
.r522-aj>div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.r522-aj b{font:650 14.5px var(--ax-fonte)}
.r522-aj small{font-size:13px;color:var(--ax-texto-2);line-height:1.45}
@media (max-width:640px){.r522-aj{flex-wrap:wrap}.r522-aj .btn{width:100%}}
