*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:#06111f;color:#eef7ff;min-height:100vh}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 80% 0,#0f75ff55,transparent 35%),radial-gradient(circle at 0 45%,#00d9ff22,transparent 35%);pointer-events:none}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:14px 5%;position:sticky;top:0;z-index:10;background:#071321dd;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff12}.brand{display:flex;gap:11px;align-items:center}.brand>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:25px;font-weight:900;background:linear-gradient(145deg,#20e5ff,#1478ff);box-shadow:0 10px 25px #008cff55;color:#001327}.brand small,.brand b{display:block}.brand small{opacity:.62}.ghost{background:#ffffff0b;border:1px solid #ffffff1d;color:white;border-radius:14px;padding:10px 14px}main{max-width:1100px;margin:auto;padding:28px 5% 100px}.auth{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;min-height:75vh}.badge{display:inline-block;padding:8px 12px;border:1px solid #1edaff66;border-radius:30px;color:#64e9ff;font-size:12px;font-weight:800}.hero h1{font-size:clamp(40px,6vw,74px);line-height:.98;margin:20px 0}.hero em{font-style:normal;color:#44ddff}.hero>p{font-size:18px;opacity:.7}.promo{margin-top:30px;padding:22px;border-radius:25px;background:linear-gradient(145deg,#0e70ff,#11c5df);box-shadow:0 20px 50px #087bff44}.promo h2{font-size:30px;margin:8px 0}.promo p{margin-bottom:0}.card,.panel{background:#0d1d2ddd;border:1px solid #ffffff16;border-radius:26px;padding:24px;box-shadow:0 25px 60px #0007;backdrop-filter:blur(16px)}.tabs{display:flex;gap:8px;background:#06111f;padding:6px;border-radius:16px}.tabs button{flex:1;border:0;padding:12px;border-radius:12px;background:transparent;color:#b7c8d8}.tabs button.active{background:#18344d;color:#fff}form h2{margin-top:28px}input,select{width:100%;background:#071522;border:1px solid #ffffff17;color:white;border-radius:15px;padding:15px;margin:7px 0;outline:none;font-size:16px}label{font-size:12px;opacity:.65}.primary{width:100%;border:0;border-radius:16px;padding:16px;margin-top:12px;font-size:16px;font-weight:900;color:#001424;background:linear-gradient(145deg,#45f0ff,#1687ff);box-shadow:0 12px 24px #087dff55;transform:translateY(0);transition:.2s}.primary:active,.quick button:active{transform:translateY(3px);box-shadow:none}.hide{display:none!important}.welcome{display:flex;justify-content:space-between;align-items:center}.welcome h2{margin:2px 0 18px}.verified{font-size:12px;background:#ffb11b22;color:#ffd27a;padding:9px 12px;border-radius:20px}.balance{padding:27px;border-radius:28px;background:linear-gradient(145deg,#183d5a,#0b1d2c);border:1px solid #66eaff33;box-shadow:inset 0 1px #ffffff1c,0 24px 55px #0008}.balance h1{font-size:42px;margin:6px 0}.balance p{opacity:.75}.locknote{margin-top:18px;padding:13px;border-radius:14px;background:#04101c88;font-size:13px;color:#cde6f5}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.quick button{border:1px solid #ffffff12;background:linear-gradient(145deg,#142a3c,#0b1825);color:white;border-radius:20px;padding:18px 8px;font-weight:700;box-shadow:0 12px 24px #0005;transition:.2s}.quick i{display:block;margin:auto auto 9px;width:42px;height:42px;border-radius:14px;background:#1cb7ff22;color:#4bdfff;display:grid;place-items:center;font-size:23px}.panel{margin:16px 0}.panel h2{margin-top:0}.info,.simulation{padding:14px;border-radius:14px;background:#147fff16;color:#c9e9ff}.msgs{height:280px;overflow:auto;background:#06111f;border-radius:18px;padding:12px}.bubble{max-width:80%;padding:10px 13px;margin:7px;border-radius:16px;background:#193348}.bubble.me{margin-left:auto;background:#137ce8}.send{display:flex;gap:8px;margin-top:8px}.send button{border:0;border-radius:14px;padding:0 18px;background:#2bdcf5;font-weight:800}.row{display:flex;justify-content:space-between;padding:12px 2px;border-bottom:1px solid #ffffff0d}.row small{opacity:.6}nav{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);width:min(92%,520px);display:flex;background:#0b1927ee;border:1px solid #ffffff17;border-radius:22px;padding:7px;backdrop-filter:blur(20px);z-index:20;box-shadow:0 20px 50px #000}nav button{flex:1;background:transparent;border:0;color:white;padding:8px;font-size:18px}nav small{display:block;font-size:10px;margin-top:3px;opacity:.7}.loader{position:fixed;inset:0;background:#06111ff0;z-index:999;display:none;place-items:center;align-content:center;gap:14px}.loader.on{display:grid}.orb{width:54px;height:54px;border-radius:50%;border:5px solid #ffffff1f;border-top-color:#35ddff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.auth{grid-template-columns:1fr}.hero h1{font-size:43px}.quick{grid-template-columns:repeat(2,1fr)}main{padding:18px 4% 100px}.hero{padding-top:15px}.balance h1{font-size:35px}}
/* NFCT VISUAL 2.0 */
:root{--nfct-navy:#061b48;--nfct-blue:#087cff;--nfct-cyan:#10cfff;--nfct-soft:#eaf7ff}
.brand>span{display:none}
.brandLogo{object-fit:contain;border-radius:12px;background:#fff;padding:3px;box-shadow:0 8px 22px #078cff35}
.heroLogo{width:175px;height:175px;border-radius:38px;background:#fff;display:grid;place-items:center;margin:20px 0 10px;box-shadow:0 25px 70px #008cff35,0 0 0 1px #fff2}
.heroLogo img{width:150px;height:150px;object-fit:contain}
.heroFeatures{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.heroFeatures span{padding:10px 14px;border-radius:14px;background:#ffffff0d;border:1px solid #ffffff17;font-weight:800;font-size:13px}
.promo{position:relative;overflow:hidden;background:linear-gradient(135deg,#0753c8,#079cff 58%,#12d5ef);border:1px solid #77eaff55}
.promo:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:#fff2;right:-70px;top:-70px}
.giftIcon{font-size:35px;margin-bottom:7px}
.promo h2{font-size:35px}
.balance{background:linear-gradient(135deg,#061c49,#07499d 60%,#078dff);position:relative;overflow:hidden}
.balance:after{content:"NFCT";position:absolute;right:18px;top:15px;font-size:34px;font-weight:1000;opacity:.08}
.quick button{min-height:105px;background:linear-gradient(145deg,#102b48,#07192c);border-color:#20cfff20}
.quick i{background:linear-gradient(145deg,#0b6dff33,#15d8ff22);box-shadow:inset 0 1px #ffffff20}
.moneyField{display:flex;align-items:center;background:#071522;border:2px solid #168cff55;border-radius:18px;padding-left:17px;margin:12px 0;box-shadow:inset 0 1px #ffffff0d}
.moneyField:focus-within{border-color:#23cfff;box-shadow:0 0 0 4px #19cfff13}
.moneyField span{font-size:22px;font-weight:900;color:#55dfff}
.moneyField input{border:0;margin:0;background:transparent;font-size:28px;font-weight:900}
.creditRange{margin:15px 0}.creditRange>small{opacity:.6}
.amountChips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}
.amountChips button{border:1px solid #168cff35;background:#0b2540;color:#eaf8ff;border-radius:14px;padding:12px 5px;font-weight:800}
.amountChips button:active{background:#087cff}
.panel{border-color:#148cff20}
@media(max-width:760px){
 .heroLogo{width:120px;height:120px;border-radius:28px}
 .heroLogo img{width:105px;height:105px}
 .hero h1{font-size:42px}
 .promo h2{font-size:30px}
 .amountChips{grid-template-columns:repeat(3,1fr)}
}

.withdrawUnavailable{
  position:relative;
  opacity:.65;
  cursor:not-allowed!important;
  filter:saturate(.55);
}
.withdrawUnavailable small{
  display:block;
  margin-top:5px;
  font-size:10px;
  font-weight:800;
  color:#8fdfff;
}

/* SAIR: oculto por padrão */
#logoutBtn{
  display:none!important;
}
body.logged-in #logoutBtn{
  display:flex!important;
}


/* ========================================================
   NFCT - TELAS INDIVIDUAIS
   ======================================================== */

body.logged-in{
  padding-bottom:95px;
}

.nfctPageActive{
  display:block!important;
  width:100%;
  min-height:calc(100vh - 145px);
  animation:nfctPageIn .22s ease;
}

@keyframes nfctPageIn{
  from{
    opacity:0;
    transform:translateX(14px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

#deposit.nfctPageActive,
#credit.nfctPageActive,
#chat.nfctPageActive,
#statement.nfctPageActive{
  margin:0!important;
  border-radius:24px;
}

#nav{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:10px;
  width:calc(100% - 20px);
  max-width:620px;
  z-index:999;
  padding:8px;
  border-radius:24px;
  background:rgba(5,20,42,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 14px 45px rgba(0,0,0,.38);
  border:1px solid rgba(41,181,255,.18);
}

#nav:not(.hide){
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
}

#nav button{
  min-height:58px;
  border:0;
  border-radius:17px;
  background:transparent;
  color:#dceeff;
  font-size:21px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
}

#nav button small{
  font-size:10px;
  font-weight:800;
}

body[data-page="deposit"] #deposit,
body[data-page="credit"] #credit,
body[data-page="chat"] #chat,
body[data-page="statement"] #statement{
  display:block!important;
}

@media(max-width:760px){
  .nfctPageActive{
    min-height:calc(100vh - 120px);
    border-radius:20px!important;
  }

  #credit .moneyField input{
    font-size:30px;
  }

  #chat .msgs{
    height:calc(100vh - 330px)!important;
    min-height:320px;
  }
}


/* ========================================
   NFCT - HOME E TRANSIÇÃO
   ======================================== */

/* Nas páginas internas, esconde qualquer resumo de saldo */
body.nfct-inner .balance,
body.nfct-inner .balanceCard,
body.nfct-inner .saldo,
body.nfct-inner #balance,
body.nfct-inner #balances,
body.nfct-inner .wallet,
body.nfct-inner .walletBalance,
body.nfct-inner .summary,
body.nfct-inner .financialSummary{
  display:none!important;
}

/* Loader de 3 segundos */
#nfctPageLoader{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:25px;
  background:
    radial-gradient(circle at 50% 30%,#087cff35,transparent 40%),
    #041329;
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}

#nfctPageLoader.show{
  display:flex;
}

.nfctLoaderCard{
  width:220px;
  min-height:180px;
  border-radius:30px;
  background:linear-gradient(145deg,#09264c,#06172e);
  border:1px solid #20bfff35;
  box-shadow:0 30px 80px #0008;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
}

.nfctLoaderCard b{
  font-size:19px;
  color:#fff;
}

.nfctLoaderCard small{
  color:#9bc9ef;
  font-size:11px;
}

.nfctSpinner{
  width:45px;
  height:45px;
  border-radius:50%;
  border:4px solid #ffffff18;
  border-top-color:#12cfff;
  border-right-color:#087cff;
  animation:nfctSpin .75s linear infinite;
}

@keyframes nfctSpin{
  to{transform:rotate(360deg)}
}


/* =========================================
   NFCT - SEM FLASH DA TELA DE LOGIN
   ========================================= */

/* Enquanto verifica a sessão não exibe login nem painel */
body.nfct-booting #auth,
body.nfct-booting #bank,
body.nfct-booting #nav{
  visibility:hidden!important;
}

/* Fundo NFCT durante a verificação */
body.nfct-booting{
  min-height:100vh;
  background:#041329!important;
}

/* Nas páginas internas nunca mostrar o formulário de login
   durante a transição da sessão */
body.nfct-inner #auth{
  display:none!important;
}

/* Sessão confirmada */
body.nfct-session-ok #auth{
  display:none!important;
}

/* Visitante sem sessão pode ver login na página inicial */
body.nfct-session-guest:not(.nfct-inner) #auth{
  visibility:visible;
}

/* Botão saque normal: sem aparência de bloqueado */
.withdrawUnavailable{
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
}

.withdrawUnavailable small{
  display:none!important;
}


/* ===== CRÉDITO PESSOAL ===== */
.creditAudience{
  margin:16px 0 20px;
  padding:17px;
  border-radius:20px;
  background:linear-gradient(145deg,#0b315e,#071a34);
  border:1px solid rgba(25,199,255,.25);
  box-shadow:
    0 12px 28px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.creditAudienceTitle{
  font-size:13px;
  font-weight:900;
  margin-bottom:11px;
  color:#fff;
}

.creditAudienceItems{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.creditAudienceItems span{
  display:flex;
  align-items:center;
  gap:5px;
  padding:10px 12px;
  border-radius:13px;
  background:linear-gradient(145deg,#0b70e8,#0754b8);
  border:1px solid rgba(76,218,255,.35);
  box-shadow:
    0 5px 12px rgba(0,92,220,.22),
    inset 0 1px 0 rgba(255,255,255,.16);
  color:white;
  font-size:12px;
  font-weight:850;
}

.creditAudienceItems i{
  font-style:normal;
  color:#76efff;
  font-weight:1000;
}

.creditAudience small{
  display:block;
  margin-top:12px;
  opacity:.62;
  font-size:10px;
}


/* ===== BOTÃO SAQUE 3D ===== */
#withdraw .withdraw3d{
  display:block!important;
  width:100%!important;
  min-height:62px;
  margin-top:38px!important;
  margin-bottom:15px!important;
  padding:17px 20px!important;

  border:1px solid rgba(85,222,255,.65)!important;
  border-radius:19px!important;

  background:
    linear-gradient(180deg,#159cff 0%,#0875ed 55%,#0556bd 100%)!important;

  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:.2px;

  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;

  box-shadow:
    0 7px 0 #033d8c,
    0 14px 25px rgba(0,101,255,.32),
    inset 0 2px 0 rgba(255,255,255,.25)!important;

  transform:translateY(0);
  transition:.12s ease;
}

#withdraw .withdraw3d:active{
  transform:translateY(6px)!important;
  box-shadow:
    0 1px 0 #033d8c,
    0 6px 12px rgba(0,101,255,.25),
    inset 0 2px 0 rgba(255,255,255,.18)!important;
}

#withdraw .withdraw3d small{
  display:none!important;
}


/* ===== EXTRATO / TERMOS ===== */

.secondaryActions{
 display:grid;
 gap:10px;
 margin-top:17px;
}

.secondaryActions button{
 width:100%;
 display:flex;
 align-items:center;
 gap:12px;
 text-align:left;
 padding:14px;
 border-radius:18px;
 border:1px solid rgba(30,180,255,.16);
 background:linear-gradient(145deg,#0a2545,#07182d);
 color:white;
 box-shadow:
   0 7px 18px rgba(0,0,0,.20),
   inset 0 1px rgba(255,255,255,.06);
}

.secondaryActions button>div{
 flex:1;
}

.secondaryActions b{
 display:block;
 font-size:13px;
}

.secondaryActions small{
 display:block;
 margin-top:3px;
 opacity:.55;
 font-size:10px;
}

.secondaryActions i{
 font-size:25px;
 font-style:normal;
 opacity:.7;
}

.secondaryIcon{
 width:42px;
 height:42px;
 display:grid;
 place-items:center;
 border-radius:13px;
 background:linear-gradient(145deg,#087cff,#12cfff);
 font-size:18px;
 font-weight:900;
 box-shadow:0 6px 15px rgba(0,126,255,.25);
}

.nfctExtraPage{
 min-height:70vh;
}

.innerPageHeader{
 display:flex;
 align-items:center;
 gap:12px;
 margin-bottom:20px;
}

.innerPageHeader>button{
 width:45px;
 height:45px;
 padding:0;
 border:0;
 border-radius:15px;
 background:#0c2948;
 color:white;
 font-size:27px;
}

.innerPageHeader h2{
 margin:0;
}

.innerPageHeader small{
 opacity:.55;
}

.statementItem{
 display:flex;
 align-items:center;
 gap:11px;
 padding:14px 4px;
 border-bottom:1px solid rgba(255,255,255,.06);
}

.statementSymbol{
 width:42px;
 height:42px;
 flex:none;
 display:grid;
 place-items:center;
 border-radius:14px;
 background:#0b3159;
 color:#4ddfff;
 font-size:19px;
}

.statementInfo{
 flex:1;
}

.statementInfo b,
.statementInfo small{
 display:block;
}

.statementInfo small{
 opacity:.5;
 margin-top:3px;
 font-size:10px;
}

.statementItem strong{
 font-size:13px;
}

.emptyStatement{
 min-height:280px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 gap:8px;
}

.emptyStatement span{
 font-size:42px;
 opacity:.6;
}

.emptyStatement small{
 opacity:.5;
}

.termsHero{
 display:flex;
 align-items:center;
 gap:13px;
 padding:14px;
 margin-bottom:18px;
 border-radius:19px;
 background:linear-gradient(145deg,#0b315e,#071a34);
}

.termsHero img{
 width:55px;
 height:55px;
 object-fit:contain;
 border-radius:14px;
 background:white;
}

.termsHero b,
.termsHero small{
 display:block;
}

.termsHero small{
 opacity:.55;
 margin-top:3px;
}

.termsText{
 line-height:1.65;
}

.termsText h3{
 margin:22px 0 6px;
 font-size:14px;
 color:#bceeff;
}

.termsText p{
 margin:0;
 font-size:12px;
 opacity:.72;
}

.termsFooter{
 margin-top:30px;
 padding:17px;
 text-align:center;
 border-radius:17px;
 background:#081d36;
}

.termsFooter b,
.termsFooter small{
 display:block;
}

.termsFooter small{
 margin-top:4px;
 opacity:.5;
}


/* ==============================================
   NFCT - FUNCOES EM BREVE
   ============================================== */

.futureFeatures{
 display:grid;
 gap:9px;
}

.futureFeature{
 position:relative;
 display:flex;
 align-items:center;
 gap:11px;
 min-height:72px;
 padding:13px;
 padding-right:78px;

 border-radius:18px;
 border:1px solid rgba(55,205,255,.11);

 background:
   linear-gradient(145deg,
   rgba(11,54,99,.75),
   rgba(5,27,52,.9));

 box-shadow:
   0 8px 20px rgba(0,0,0,.16),
   inset 0 1px 0 rgba(255,255,255,.05);
}

.futureIcon{
 width:43px;
 height:43px;
 flex:none;

 display:grid;
 place-items:center;

 border-radius:14px;

 background:
   linear-gradient(145deg,#0c87f5,#0753b9);

 color:#fff;
 font-size:19px;
 font-weight:1000;

 box-shadow:
   0 6px 14px rgba(0,105,255,.22);
}

.futureText{
 min-width:0;
}

.futureText b{
 display:block;
 color:#fff;
 font-size:11px;
 line-height:1.3;
}

.futureText small{
 display:block;
 margin-top:4px;

 color:rgba(255,255,255,.48);
 font-size:9px;
 line-height:1.35;
}

.comingSoon{
 position:absolute;
 right:10px;
 top:10px;

 padding:5px 7px;

 border-radius:8px;
 border:1px solid rgba(73,218,255,.18);

 background:rgba(0,132,255,.10);

 color:#69dcff;
 font-size:7px;
 font-weight:1000;
 letter-spacing:.5px;
}

/* funções futuras não têm aparência de botão clicável */
.futureFeature{
 cursor:default;
 user-select:none;
}



/* NFCT_SIDE_MENU_FIXED */

#nfctMenuBtn{
 position:fixed!important;
 top:18px!important;
 right:16px!important;
 z-index:950!important;

 width:48px!important;
 height:48px!important;
 padding:0!important;

 display:none;

 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:5px;

 border:1px solid rgba(65,218,255,.35)!important;
 border-radius:15px!important;

 background:linear-gradient(145deg,#0b72df,#074fa9)!important;

 box-shadow:
  0 8px 20px rgba(0,91,210,.35),
  inset 0 1px 0 rgba(255,255,255,.20)!important;
}

body.logged-in #nfctMenuBtn{
 display:flex!important;
}

#nfctMenuBtn span{
 display:block;
 width:21px;
 height:2px;
 border-radius:4px;
 background:#fff;
}


#nfctSideOverlay{
 position:fixed;
 inset:0;
 z-index:998;

 background:rgba(0,5,15,.64);
 backdrop-filter:blur(3px);

 opacity:0;
 visibility:hidden;

 transition:.25s;
}

#nfctSideOverlay.open{
 opacity:1;
 visibility:visible;
}


#nfctSideMenu{
 position:fixed;
 top:0;
 right:0;

 z-index:999;

 width:min(88vw,390px);
 height:100dvh;

 box-sizing:border-box;

 padding:
  calc(22px + env(safe-area-inset-top))
  16px
  calc(30px + env(safe-area-inset-bottom));

 overflow-y:auto;

 background:
 radial-gradient(circle at 100% 0%,rgba(0,135,255,.20),transparent 30%),
 linear-gradient(180deg,#071e3b,#041326);

 border-left:1px solid rgba(61,212,255,.17);

 box-shadow:-20px 0 55px rgba(0,0,0,.55);

 transform:translateX(105%);
 transition:transform .28s ease;
}

#nfctSideMenu.open{
 transform:translateX(0);
}

body.sideMenuOpen{
 overflow:hidden;
}


.sideProfile{
 display:flex;
 align-items:center;
 gap:11px;

 padding-bottom:16px;

 border-bottom:1px solid rgba(255,255,255,.07);
}

.sideAvatar{
 width:47px;
 height:47px;

 display:grid;
 place-items:center;

 flex:none;

 border-radius:15px;

 background:linear-gradient(145deg,#12b7ff,#075fe0);

 font-size:21px;
 font-weight:1000;
}

.sideProfile>div:nth-child(2){
 flex:1;
}

.sideProfile b,
.sideProfile small{
 display:block;
}

.sideProfile small{
 opacity:.55;
 margin-top:3px;
 font-size:10px;
}

.sideProfile>button{
 width:40px!important;
 height:40px!important;

 padding:0!important;

 border:0!important;
 border-radius:13px!important;

 background:rgba(255,255,255,.07)!important;
 color:#fff!important;

 font-size:23px!important;
}


.accountSince{
 display:flex;
 align-items:center;
 gap:11px;

 margin:16px 0 22px;
 padding:14px;

 border-radius:18px;

 background:linear-gradient(
  145deg,
  rgba(8,120,239,.22),
  rgba(6,45,84,.55)
 );

 border:1px solid rgba(52,210,255,.17);
}

.accountSince>span{
 width:39px;
 height:39px;

 display:grid;
 place-items:center;

 border-radius:50%;

 background:#087bea;

 font-weight:1000;
}

.accountSince small,
.accountSince b{
 display:block;
}

.accountSince small{
 opacity:.5;
 font-size:9px;
 margin-bottom:3px;
}

.accountSince b{
 font-size:12px;
}


.sideLabel{
 display:block;

 margin:0 0 8px 3px;

 font-size:9px;
 font-weight:1000;
 letter-spacing:1px;

 opacity:.42;
}

.sideSpace{
 margin-top:22px;
}


.sideSimulator{
 padding:14px;

 border-radius:19px;

 background:rgba(255,255,255,.045);

 border:1px solid rgba(255,255,255,.07);
}

.sideSimulator>b{
 display:block;
 font-size:13px;
}

.sideRate{
 display:block;
 margin:3px 0 12px;
 opacity:.5;
 font-size:9px;
}

.sideSimulator label{
 display:block;
 margin:9px 0 5px;
 font-size:9px;
 opacity:.55;
}

.sideMoney{
 display:flex;
 align-items:center;
 gap:6px;

 padding:0 11px;

 border-radius:13px;

 background:#05162b;

 border:1px solid rgba(50,205,255,.15);
}

.sideMoney input{
 flex:1;

 margin:0!important;
 padding:13px 0!important;

 border:0!important;
 background:transparent!important;

 box-shadow:none!important;
}

.sideMoney span{
 opacity:.55;
 font-size:11px;
}

.sideSimulator select{
 width:100%;
 margin:0!important;
}


#sideLoanResult{
 margin-top:12px;
 padding:12px;

 border-radius:14px;

 background:rgba(0,126,255,.11);
}

#sideLoanResult small,
#sideLoanResult b,
#sideLoanResult span{
 display:block;
}

#sideLoanResult small{
 font-size:9px;
 opacity:.5;
}

#sideLoanResult b{
 margin:4px 0;
 color:#6fe3ff;
 font-size:15px;
}

#sideLoanResult span{
 font-size:9px;
 opacity:.6;
}


.sideCreditBtn{
 width:100%!important;

 margin-top:12px!important;
 padding:13px!important;

 border:0!important;
 border-radius:14px!important;

 background:linear-gradient(180deg,#12a7ff,#0766d9)!important;

 color:#fff!important;
 font-weight:900!important;

 box-shadow:
  0 5px 0 #03418b,
  0 10px 18px rgba(0,105,255,.22)!important;
}


.futureFeature{
 position:relative;

 display:flex;
 align-items:center;
 gap:10px;

 min-height:70px;

 margin-bottom:8px;

 padding:12px 72px 12px 12px;

 border-radius:17px;

 background:rgba(255,255,255,.04);

 border:1px solid rgba(54,206,255,.10);
}

.futureIcon{
 width:42px;
 height:42px;

 flex:none;

 display:grid;
 place-items:center;

 border-radius:13px;

 background:linear-gradient(145deg,#0c89f5,#0753ba);

 font-size:18px;
 font-weight:1000;
}

.futureText b,
.futureText small{
 display:block;
}

.futureText b{
 font-size:10px;
 line-height:1.3;
}

.futureText small{
 margin-top:4px;
 font-size:8px;
 opacity:.46;
 line-height:1.35;
}

.comingSoon{
 position:absolute;

 top:10px;
 right:8px;

 padding:5px 6px;

 border-radius:7px;

 background:rgba(0,134,255,.12);

 color:#64dfff;

 font-size:6px;
 font-weight:1000;
}


.sideMenuLinks{
 display:grid;
 gap:8px;
}

.sideMenuLinks>button{
 display:flex;
 align-items:center;
 gap:10px;

 width:100%;

 padding:11px!important;

 text-align:left;

 border-radius:15px!important;

 border:1px solid rgba(255,255,255,.06)!important;

 background:rgba(255,255,255,.035)!important;

 color:#fff!important;
}

.sideMenuLinks>button>span{
 width:37px;
 height:37px;

 flex:none;

 display:grid;
 place-items:center;

 border-radius:12px;

 background:#0a315b;

 color:#5be1ff;
}

.sideMenuLinks>button>div{
 flex:1;
}

.sideMenuLinks b,
.sideMenuLinks small{
 display:block;
}

.sideMenuLinks b{
 font-size:10px;
}

.sideMenuLinks small{
 margin-top:2px;
 font-size:8px;
 opacity:.43;
}

.sideMenuLinks i{
 font-style:normal;
 font-size:20px;
 opacity:.4;
}


.sideLogout{
 width:100%!important;

 margin-top:22px!important;
 padding:14px!important;

 border-radius:15px!important;

 border:1px solid rgba(255,86,86,.20)!important;

 background:rgba(255,48,48,.07)!important;

 color:#ff9b9b!important;

 font-weight:900!important;
}



/* =====================================================
   NFCT_MODERN_ALERT_SYSTEM
   ===================================================== */

.nfctAlertOverlay{
 position:fixed;
 inset:0;

 z-index:99999;

 display:flex;
 align-items:center;
 justify-content:center;

 padding:22px;

 background:rgba(1,8,20,.72);

 -webkit-backdrop-filter:blur(8px);
 backdrop-filter:blur(8px);

 opacity:0;
 visibility:hidden;

 transition:
   opacity .20s ease,
   visibility .20s ease;
}

.nfctAlertOverlay.show{
 opacity:1;
 visibility:visible;
}


.nfctAlertBox{
 position:relative;

 width:min(100%,360px);

 box-sizing:border-box;

 padding:20px;

 border-radius:27px;

 background:
   radial-gradient(
     circle at 100% 0%,
     rgba(0,163,255,.19),
     transparent 37%
   ),
   linear-gradient(
     160deg,
     #0a2749 0%,
     #061a32 52%,
     #041326 100%
   );

 border:1px solid rgba(82,216,255,.18);

 box-shadow:
   0 30px 80px rgba(0,0,0,.58),
   0 10px 30px rgba(0,91,220,.15),
   inset 0 1px 0 rgba(255,255,255,.09);

 transform:
   translateY(18px)
   scale(.94);

 opacity:0;

 transition:
   transform .22s cubic-bezier(.2,.85,.3,1.1),
   opacity .18s ease;
}


.nfctAlertBox.show{
 transform:
   translateY(0)
   scale(1);

 opacity:1;
}


.nfctAlertTop{
 display:flex;
 align-items:center;
 justify-content:space-between;

 margin-bottom:16px;
}


.nfctAlertIcon{
 width:52px;
 height:52px;

 display:grid;
 place-items:center;

 border-radius:17px;

 background:
   linear-gradient(
     145deg,
     #10aaff,
     #0868df
   );

 border:1px solid rgba(124,232,255,.35);

 box-shadow:
   0 7px 0 #03448f,
   0 13px 25px rgba(0,112,255,.30),
   inset 0 1px 0 rgba(255,255,255,.25);

 color:#fff;

 font-size:23px;
 font-weight:1000;
}


.nfctAlertClose{
 width:39px!important;
 height:39px!important;

 padding:0!important;
 margin:0!important;

 display:grid!important;
 place-items:center!important;

 border:1px solid rgba(255,255,255,.08)!important;
 border-radius:13px!important;

 background:rgba(255,255,255,.055)!important;

 box-shadow:none!important;

 color:rgba(255,255,255,.72)!important;

 font-size:22px!important;
 font-weight:400!important;
}


.nfctAlertBrand{
 margin-bottom:7px;

 color:#51d9ff;

 font-size:8px;
 font-weight:1000;

 letter-spacing:1.6px;
}


.nfctAlertBox h3{
 margin:0 0 9px!important;

 color:#fff;

 font-size:21px!important;
 line-height:1.2;
}


.nfctAlertMessage{
 min-height:22px;

 color:rgba(255,255,255,.69);

 font-size:12px;
 line-height:1.65;

 white-space:pre-line;
}


.nfctAlertConfirm{
 width:100%!important;

 margin:20px 0 0!important;

 padding:15px 18px!important;

 border:1px solid rgba(100,224,255,.40)!important;
 border-radius:16px!important;

 background:
   linear-gradient(
     180deg,
     #13a8ff 0%,
     #0875eb 60%,
     #0757bc 100%
   )!important;

 color:#fff!important;

 font-size:13px!important;
 font-weight:1000!important;

 box-shadow:
   0 6px 0 #033d86,
   0 13px 24px rgba(0,102,255,.28),
   inset 0 2px 0 rgba(255,255,255,.22)!important;

 transition:
   transform .10s ease,
   box-shadow .10s ease!important;
}


.nfctAlertConfirm:active{
 transform:translateY(5px)!important;

 box-shadow:
   0 1px 0 #033d86,
   0 6px 12px rgba(0,102,255,.20),
   inset 0 1px 0 rgba(255,255,255,.18)!important;
}


.nfctAlertSecurity{
 display:block;

 margin-top:15px;

 text-align:center;

 color:rgba(255,255,255,.30);

 font-size:8px;
}


/* SUCESSO */
.nfctAlertSuccess .nfctAlertIcon{
 background:
   linear-gradient(
     145deg,
     #13b9ff,
     #0670e8
   );
}


/* ATENÇÃO */
.nfctAlertWarning .nfctAlertIcon{
 background:
   linear-gradient(
     145deg,
     #159dff,
     #0759c8
   );
}


/* INFORMAÇÃO */
.nfctAlertInfo .nfctAlertIcon{
 background:
   linear-gradient(
     145deg,
     #16b8ff,
     #0767dd
   );
}


body.nfctAlertOpen{
 overflow:hidden;
}


/* MOBILE */
@media(max-width:480px){

 .nfctAlertOverlay{
   align-items:flex-end;

   padding:
     15px
     15px
     calc(17px + env(safe-area-inset-bottom));
 }

 .nfctAlertBox{
   width:100%;

   border-radius:28px;
 }

}



/* =====================================================
   NFCT - INTERFACE BANCÁRIA PROFISSIONAL
   ===================================================== */

.bankActions{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:11px;
 margin-top:17px;
}

.bankActions button{
 min-width:0;
 min-height:128px;
 margin:0!important;
 padding:16px 8px 13px!important;

 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;

 border-radius:20px!important;
 border:1px solid rgba(67,203,255,.11)!important;

 background:
   linear-gradient(145deg,#0a2748,#061a31)!important;

 color:#fff!important;

 box-shadow:
   0 10px 22px rgba(0,0,0,.20),
   inset 0 1px 0 rgba(255,255,255,.06)!important;
}

.bankActionIcon{
 width:48px;
 height:48px;

 display:grid;
 place-items:center;

 margin-bottom:10px;
}

.bankActionIcon img{
 width:43px;
 height:43px;
 display:block;
 object-fit:contain;
}

.bankActions b{
 font-size:12px;
 font-weight:850;
}

.bankActions small{
 margin-top:3px;
 font-size:8px;
 opacity:.48;
}


/* botão menu agora usa imagem */
#nfctMenuBtn img{
 width:25px!important;
 height:25px!important;
 display:block!important;
}


/* BARRA BANCÁRIA INFERIOR */
.nfctBankBottom{
 position:fixed;
 left:0;
 right:0;
 bottom:0;

 z-index:800;

 height:76px;

 padding:
   7px 9px
   calc(5px + env(safe-area-inset-bottom));

 box-sizing:content-box;

 display:grid;
 grid-template-columns:repeat(5,1fr);

 background:rgba(3,15,30,.97);

 border-top:1px solid rgba(255,255,255,.07);

 box-shadow:0 -12px 35px rgba(0,0,0,.28);

 -webkit-backdrop-filter:blur(16px);
 backdrop-filter:blur(16px);
}

.nfctBankBottom button{
 min-width:0;

 padding:4px!important;
 margin:0!important;

 border:0!important;
 background:transparent!important;
 box-shadow:none!important;

 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:5px;

 color:rgba(255,255,255,.67)!important;
}

.nfctBankBottom button>img{
 width:24px;
 height:24px;
 object-fit:contain;
}

.nfctBankBottom button>span{
 font-size:9px;
 font-weight:700;
}

.bottomMain{
 position:relative;
}

.bottomMainCircle{
 width:53px;
 height:53px;

 margin-top:-31px;

 display:grid!important;
 place-items:center;

 border-radius:50%;

 background:#fff;

 border:5px solid #061326;

 box-shadow:0 5px 20px rgba(0,0,0,.30);
}

.bottomMainCircle img{
 width:29px!important;
 height:29px!important;
}

.bottomMain>span:last-child{
 margin-top:-2px;
}


/* evita barra em login */
body:not(.logged-in) .nfctBankBottom{
 display:none!important;
}

body.logged-in .nfctBankBottom{
 display:grid!important;
}


/* espaço para barra inferior */
body.logged-in{
 padding-bottom:105px!important;
}


/* remove visual antigo da nav depois do login */
body.logged-in #nav{
 display:none!important;
}


/* nenhuma dependência externa para os ícones */
.bankActions img,
.nfctBankBottom img,
#nfctMenuBtn img{
 user-select:none;
 -webkit-user-drag:none;
}



/* =====================================================
   NFCT - INTERFACE BANCÁRIA PROFISSIONAL
   ===================================================== */

.bankActions{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:11px;
 margin-top:17px;
}

.bankActions button{
 min-width:0;
 min-height:128px;
 margin:0!important;
 padding:16px 8px 13px!important;

 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;

 border-radius:20px!important;
 border:1px solid rgba(67,203,255,.11)!important;

 background:
   linear-gradient(145deg,#0a2748,#061a31)!important;

 color:#fff!important;

 box-shadow:
   0 10px 22px rgba(0,0,0,.20),
   inset 0 1px 0 rgba(255,255,255,.06)!important;
}

.bankActionIcon{
 width:48px;
 height:48px;

 display:grid;
 place-items:center;

 margin-bottom:10px;
}

.bankActionIcon img{
 width:43px;
 height:43px;
 display:block;
 object-fit:contain;
}

.bankActions b{
 font-size:12px;
 font-weight:850;
}

.bankActions small{
 margin-top:3px;
 font-size:8px;
 opacity:.48;
}


/* botão menu agora usa imagem */
#nfctMenuBtn img{
 width:25px!important;
 height:25px!important;
 display:block!important;
}


/* BARRA BANCÁRIA INFERIOR */
.nfctBankBottom{
 position:fixed;
 left:0;
 right:0;
 bottom:0;

 z-index:800;

 height:76px;

 padding:
   7px 9px
   calc(5px + env(safe-area-inset-bottom));

 box-sizing:content-box;

 display:grid;
 grid-template-columns:repeat(5,1fr);

 background:rgba(3,15,30,.97);

 border-top:1px solid rgba(255,255,255,.07);

 box-shadow:0 -12px 35px rgba(0,0,0,.28);

 -webkit-backdrop-filter:blur(16px);
 backdrop-filter:blur(16px);
}

.nfctBankBottom button{
 min-width:0;

 padding:4px!important;
 margin:0!important;

 border:0!important;
 background:transparent!important;
 box-shadow:none!important;

 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:5px;

 color:rgba(255,255,255,.67)!important;
}

.nfctBankBottom button>img{
 width:24px;
 height:24px;
 object-fit:contain;
}

.nfctBankBottom button>span{
 font-size:9px;
 font-weight:700;
}

.bottomMain{
 position:relative;
}

.bottomMainCircle{
 width:53px;
 height:53px;

 margin-top:-31px;

 display:grid!important;
 place-items:center;

 border-radius:50%;

 background:#fff;

 border:5px solid #061326;

 box-shadow:0 5px 20px rgba(0,0,0,.30);
}

.bottomMainCircle img{
 width:29px!important;
 height:29px!important;
}

.bottomMain>span:last-child{
 margin-top:-2px;
}


/* evita barra em login */
body:not(.logged-in) .nfctBankBottom{
 display:none!important;
}

body.logged-in .nfctBankBottom{
 display:grid!important;
}


/* espaço para barra inferior */
body.logged-in{
 padding-bottom:105px!important;
}


/* remove visual antigo da nav depois do login */
body.logged-in #nav{
 display:none!important;
}


/* nenhuma dependência externa para os ícones */
.bankActions img,
.nfctBankBottom img,
#nfctMenuBtn img{
 user-select:none;
 -webkit-user-drag:none;
}



/* ==================================================
   NFCT - SALDO BANCÁRIO PROFISSIONAL
   ================================================== */

.bankBalance{
 position:relative;

 margin:15px 0 20px!important;
 padding:20px!important;

 border-radius:21px!important;

 background:
   linear-gradient(
     145deg,
     #071d37 0%,
     #092b50 100%
   )!important;

 border:1px solid rgba(74,204,255,.12)!important;

 box-shadow:
   0 12px 28px rgba(0,0,0,.19),
   inset 0 1px 0 rgba(255,255,255,.055)!important;

 overflow:hidden;
}

/* brilho muito discreto */
.bankBalance:after{
 content:"";

 position:absolute;
 width:150px;
 height:150px;

 right:-75px;
 top:-90px;

 border-radius:50%;

 background:rgba(25,191,255,.07);

 pointer-events:none;
}


.balanceTop{
 position:relative;
 z-index:1;

 display:flex;
 align-items:flex-start;
 justify-content:space-between;

 gap:15px;
}


.balanceLabel{
 display:block;

 margin-bottom:7px;

 color:rgba(255,255,255,.55);

 font-size:11px;
 font-weight:600;
}


.balanceValueLine{
 display:flex;
 align-items:center;
 gap:10px;
}


.balanceValueLine h1{
 margin:0!important;

 color:#fff!important;

 font-size:27px!important;
 line-height:1.15!important;

 font-weight:750!important;

 letter-spacing:-.6px;
}


.balanceEye{
 width:35px!important;
 height:35px!important;

 min-width:35px!important;

 display:grid!important;
 place-items:center!important;

 padding:0!important;
 margin:0!important;

 border:0!important;
 border-radius:11px!important;

 background:rgba(255,255,255,.055)!important;

 box-shadow:none!important;
}


.balanceEye svg{
 width:18px;
 height:18px;

 fill:none;

 stroke:rgba(255,255,255,.70);
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}


.balanceEye.hiddenBalance svg{
 opacity:.40;
}


.balanceBankMark{
 padding:7px 9px;

 border-radius:9px;

 background:rgba(25,191,255,.10);

 border:1px solid rgba(25,191,255,.14);
}


.balanceBankMark span{
 color:#5ddcff;

 font-size:8px;
 font-weight:1000;

 letter-spacing:1px;
}


.balanceDivider{
 position:relative;
 z-index:1;

 height:1px;

 margin:18px 0 14px;

 background:rgba(255,255,255,.065);
}


.balanceBottom{
 position:relative;
 z-index:1;

 display:flex;
 align-items:center;
 justify-content:space-between;

 gap:12px;
}


.balanceBottom>div:first-child small,
.balanceBottom>div:first-child b{
 display:block;
}


.balanceBottom>div:first-child small{
 color:rgba(255,255,255,.40);

 font-size:8px;
}


.balanceBottom>div:first-child b{
 margin-top:3px;

 color:rgba(255,255,255,.83);

 font-size:11px;
}


.balanceProtection{
 display:flex;
 align-items:center;

 gap:5px;
}


.balanceProtection span{
 width:18px;
 height:18px;

 display:grid;
 place-items:center;

 border-radius:50%;

 background:rgba(34,197,94,.13);

 color:#42dc7b;

 font-size:10px;
 font-weight:1000;
}


.balanceProtection small{
 color:rgba(255,255,255,.42);

 font-size:8px;
}


/* ==================================================
   IDENTIDADE VERIFICADA
   ================================================== */

#vstatus{
 display:inline-flex!important;
 align-items:center!important;
 gap:5px!important;

 width:auto!important;

 padding:7px 10px!important;

 border-radius:20px!important;

 font-size:9px!important;
 font-weight:800!important;

 letter-spacing:.1px;

 border:1px solid rgba(255,255,255,.08)!important;

 background:rgba(255,255,255,.045)!important;

 color:rgba(255,255,255,.60)!important;
}


/* quando contém estado de verificação confirmado */
#vstatus.verifiedGreen{
 color:#55e58a!important;

 background:rgba(34,197,94,.10)!important;

 border-color:rgba(34,197,94,.20)!important;

 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.04)!important;
}



/* ===================================================
   NFCT - ÍCONES PROFISSIONAIS MENU LATERAL
   =================================================== */

.sideAvatar{
 background:rgba(25,191,255,.08)!important;
 border:1px solid rgba(25,191,255,.17)!important;
 box-shadow:none!important;
}

.sideAvatar img{
 width:31px!important;
 height:31px!important;
 display:block;
}


/* CONTA ATIVA */
.accountSince>span.accountSinceIcon{
 width:42px!important;
 height:42px!important;

 display:grid!important;
 place-items:center!important;

 background:rgba(34,197,94,.08)!important;

 border:1px solid rgba(34,197,94,.15)!important;

 border-radius:14px!important;
}

.accountSinceIcon img{
 width:27px!important;
 height:27px!important;
 display:block;
}


/* FUNÇÕES FUTURAS */
.futureIcon{
 background:rgba(25,191,255,.065)!important;

 border:1px solid rgba(25,191,255,.13)!important;

 box-shadow:none!important;
}

.futureIcon img{
 width:29px!important;
 height:29px!important;

 display:block;

 object-fit:contain;
}


/* ÍCONES DOS LINKS */
.sideMenuLinks>button>span{
 width:42px!important;
 height:42px!important;

 background:rgba(25,191,255,.065)!important;

 border:1px solid rgba(25,191,255,.11)!important;

 border-radius:13px!important;
}

.sideMenuLinks>button>span img{
 width:27px!important;
 height:27px!important;

 display:block;

 object-fit:contain;
}


/* SETA */
.sideArrow{
 width:18px!important;
 height:18px!important;

 display:grid!important;
 place-items:center!important;
}

.sideArrow img{
 width:18px!important;
 height:18px!important;
}


/* SAIR */
.sideLogout{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;

 gap:8px!important;
}

.sideLogout>img{
 width:20px!important;
 height:20px!important;

 display:block!important;
}

.sideLogout>span{
 font-size:11px;
 font-weight:900;
}


/* SVG LOCAL = SEM ATRASO DE CDN */
.sideAvatar img,
.accountSince img,
.futureIcon img,
.sideMenuLinks img,
.sideLogout img{
 user-select:none;
 -webkit-user-drag:none;
}



/* =========================================================
   NFCT LOGIN PREMIUM 2026
   ========================================================= */

#auth.authPremium{
 position:relative;

 width:100%;
 min-height:100dvh;

 margin:0!important;
 padding:
   calc(26px + env(safe-area-inset-top))
   18px
   calc(25px + env(safe-area-inset-bottom))!important;

 box-sizing:border-box;

 overflow:hidden;

 background:
   radial-gradient(circle at 90% 4%,rgba(25,191,255,.12),transparent 27%),
   radial-gradient(circle at -10% 70%,rgba(0,89,220,.10),transparent 32%),
   linear-gradient(180deg,#041224 0%,#06172c 48%,#031020 100%)!important;

 border:0!important;
 border-radius:0!important;

 box-shadow:none!important;
}


.authBackgroundGlow{
 position:absolute;

 border-radius:50%;

 filter:blur(70px);

 pointer-events:none;
}

.authGlowOne{
 width:180px;
 height:180px;

 top:70px;
 right:-110px;

 background:rgba(25,191,255,.10);
}

.authGlowTwo{
 width:170px;
 height:170px;

 bottom:100px;
 left:-120px;

 background:rgba(0,91,255,.09);
}


.authShell{
 position:relative;
 z-index:2;

 width:min(100%,440px);

 margin:0 auto;
}


/* MARCA */

.authBrand{
 display:flex;
 align-items:center;

 gap:11px;

 margin:2px 0 35px;
}

.authLogoBox{
 width:47px;
 height:47px;

 display:grid;
 place-items:center;

 padding:5px;

 box-sizing:border-box;

 border-radius:15px;

 background:#fff;

 border:1px solid rgba(255,255,255,.15);

 box-shadow:
   0 8px 24px rgba(0,0,0,.22);
}

.authLogoBox img{
 width:100%;
 height:100%;

 object-fit:contain;

 display:block;
}


.authBrandText strong,
.authBrandText span{
 display:block;
}

.authBrandText strong{
 color:#fff;

 font-size:17px;
 font-weight:900;

 letter-spacing:.3px;
}

.authBrandText span{
 margin-top:1px;

 color:#6FCDEB;

 font-size:9px;
 font-weight:650;

 letter-spacing:.7px;
}


/* INTRO */

.authIntro{
 margin:0 3px 25px;
}

.authWelcome{
 display:block;

 margin-bottom:9px;

 color:#39C9F5;

 font-size:8px;
 font-weight:900;

 letter-spacing:1.8px;
}

.authIntro h1{
 margin:0!important;

 color:#fff!important;

 font-size:29px!important;
 font-weight:720!important;

 line-height:1.13!important;

 letter-spacing:-.8px;
}

.authIntro p{
 margin:10px 0 0!important;

 color:rgba(218,235,249,.52)!important;

 font-size:11px!important;
}


/* CARD */

.authCard{
 padding:7px;

 border-radius:27px;

 background:
   linear-gradient(
     150deg,
     rgba(14,46,79,.88),
     rgba(7,29,53,.92)
   );

 border:1px solid rgba(108,205,241,.11);

 box-shadow:
   0 25px 55px rgba(0,0,0,.27),
   inset 0 1px 0 rgba(255,255,255,.045);
}


/* ABAS */

.authTabs{
 display:grid;
 grid-template-columns:1fr 1fr;

 gap:5px;

 padding:4px;

 margin-bottom:4px;

 border-radius:18px;

 background:rgba(0,0,0,.15);
}

.authTabs button{
 height:43px!important;

 margin:0!important;
 padding:0 8px!important;

 border:0!important;
 border-radius:14px!important;

 background:transparent!important;

 box-shadow:none!important;

 color:rgba(255,255,255,.42)!important;

 font-size:11px!important;
 font-weight:750!important;
}

.authTabs button.active{
 background:
   linear-gradient(
     145deg,
     rgba(24,110,183,.42),
     rgba(10,67,124,.50)
   )!important;

 color:#fff!important;

 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.06),
   0 5px 14px rgba(0,0,0,.10)!important;
}


/* FORM */

.authPremium form{
 margin:0!important;

 padding:20px 15px 16px!important;

 border:0!important;

 background:transparent!important;

 box-shadow:none!important;
}


.authFormHeader{
 margin-bottom:20px;
}

.authFormHeader h2{
 margin:0 0 5px!important;

 color:#fff!important;

 font-size:17px!important;
 font-weight:760!important;
}

.authFormHeader p{
 margin:0!important;

 color:rgba(216,232,245,.47)!important;

 font-size:9px!important;
}


.authFieldLabel{
 display:block;

 margin:
   13px
   3px
   6px;

 color:rgba(219,235,247,.63);

 font-size:9px;
 font-weight:650;
}


/* CAMPO */

.authField{
 position:relative;

 min-height:53px;

 display:flex;
 align-items:center;

 padding:0 12px;

 box-sizing:border-box;

 border-radius:15px;

 background:rgba(2,15,29,.55);

 border:1px solid rgba(108,183,224,.12);

 transition:
   border-color .18s ease,
   background .18s ease,
   box-shadow .18s ease;
}

.authField:focus-within{
 border-color:rgba(25,191,255,.48);

 background:rgba(3,21,39,.72);

 box-shadow:
   0 0 0 3px rgba(25,191,255,.055);
}


.authField>img{
 width:20px;
 height:20px;

 flex:none;

 margin-right:10px;

 display:block;
}


.authField input{
 width:100%!important;
 min-width:0;

 height:51px!important;

 margin:0!important;
 padding:0!important;

 border:0!important;
 outline:0!important;

 border-radius:0!important;

 background:transparent!important;

 box-shadow:none!important;

 color:#fff!important;

 font-size:12px!important;

 caret-color:#19BFFF;
}


.authField input::placeholder{
 color:rgba(198,220,237,.27)!important;
}


.authField input[type="date"]{
 color-scheme:dark;
}


/* OLHO */

.authEye{
 width:38px!important;
 height:38px!important;

 flex:none;

 margin:0 0 0 5px!important;
 padding:0!important;

 display:grid!important;
 place-items:center!important;

 border:0!important;
 border-radius:11px!important;

 background:transparent!important;

 box-shadow:none!important;
}

.authEye img{
 width:20px!important;
 height:20px!important;

 margin:0!important;

 opacity:.75;
}

.authEye.showing{
 background:rgba(25,191,255,.07)!important;
}


/* SEGURANÇA */

.authSecurityLine{
 display:flex;
 align-items:center;

 gap:7px;

 margin:14px 3px 3px;
}

.authSecurityLine img{
 width:16px;
 height:16px;
}

.authSecurityLine span{
 color:rgba(195,223,211,.57);

 font-size:8px;
}


.authRegisterNotice{
 display:flex;
 align-items:flex-start;

 gap:10px;

 margin-top:17px;
 padding:12px;

 border-radius:14px;

 background:rgba(34,197,94,.045);

 border:1px solid rgba(34,197,94,.10);
}

.authRegisterNotice>img{
 width:21px;
 height:21px;

 flex:none;
}

.authRegisterNotice b,
.authRegisterNotice span{
 display:block;
}

.authRegisterNotice b{
 color:#BDEDCF;

 font-size:9px;
}

.authRegisterNotice span{
 margin-top:3px;

 color:rgba(208,235,218,.48);

 font-size:8px;

 line-height:1.45;
}


/* BOTÃO PRINCIPAL */

.authPrimary{
 width:100%!important;
 min-height:54px!important;

 margin:18px 0 0!important;
 padding:0 17px!important;

 display:flex!important;
 align-items:center!important;
 justify-content:center!important;

 gap:9px!important;

 border:1px solid rgba(112,222,255,.28)!important;
 border-radius:16px!important;

 background:
   linear-gradient(
     180deg,
     #119FEF 0%,
     #0878D9 55%,
     #075EB7 100%
   )!important;

 color:#fff!important;

 font-size:12px!important;
 font-weight:850!important;

 box-shadow:
   0 5px 0 #03427D,
   0 12px 22px rgba(0,94,198,.23),
   inset 0 1px 0 rgba(255,255,255,.20)!important;

 transition:
   transform .10s ease,
   box-shadow .10s ease!important;
}

.authPrimary>img{
 width:17px!important;
 height:17px!important;
}

.authPrimary:active{
 transform:translateY(4px)!important;

 box-shadow:
   0 1px 0 #03427D,
   0 6px 12px rgba(0,94,198,.20),
   inset 0 1px 0 rgba(255,255,255,.16)!important;
}


/* AJUDA */

.authHelp{
 display:flex;
 align-items:center;
 justify-content:center;

 flex-wrap:wrap;

 gap:4px;

 margin-top:18px;

 color:rgba(255,255,255,.35);

 font-size:8px;
}

.authHelp button{
 width:auto!important;
 height:auto!important;

 margin:0!important;
 padding:2px!important;

 border:0!important;

 background:transparent!important;

 box-shadow:none!important;

 color:#55CFF4!important;

 font-size:8px!important;
 font-weight:750!important;
}


.authLegal{
 margin:15px 5px 0!important;

 color:rgba(255,255,255,.29)!important;

 text-align:center;

 font-size:7.5px!important;
 line-height:1.55!important;
}


/* FOOTER */

.authFooter{
 display:flex;
 align-items:center;
 justify-content:space-between;

 margin:20px 4px 0;

 color:rgba(255,255,255,.28);
}

.authFooter>div{
 display:flex;
 align-items:center;

 gap:5px;
}

.authFooter img{
 width:14px;
 height:14px;
}

.authFooter span,
.authFooter small{
 font-size:7px;
}


/* garante que menus bancários não aparecem no login */
body:not(.logged-in) #nfctMenuBtn,
body:not(.logged-in) .nfctBankBottom{
 display:none!important;
}


/* MOBILE */
@media(max-width:380px){

 #auth.authPremium{
   padding-left:14px!important;
   padding-right:14px!important;
 }

 .authIntro h1{
   font-size:26px!important;
 }

 .authCard{
   border-radius:24px;
 }

}


/* telas mais altas */
@media(min-height:850px){

 .authBrand{
   margin-top:10px;
   margin-bottom:42px;
 }

 .authIntro{
   margin-bottom:29px;
 }

}



/* =========================================================
   NFCT LOGIN PREMIUM 2026
   ========================================================= */

#auth.authPremium{
 position:relative;

 width:100%;
 min-height:100dvh;

 margin:0!important;
 padding:
   calc(26px + env(safe-area-inset-top))
   18px
   calc(25px + env(safe-area-inset-bottom))!important;

 box-sizing:border-box;

 overflow:hidden;

 background:
   radial-gradient(circle at 90% 4%,rgba(25,191,255,.12),transparent 27%),
   radial-gradient(circle at -10% 70%,rgba(0,89,220,.10),transparent 32%),
   linear-gradient(180deg,#041224 0%,#06172c 48%,#031020 100%)!important;

 border:0!important;
 border-radius:0!important;

 box-shadow:none!important;
}


.authBackgroundGlow{
 position:absolute;

 border-radius:50%;

 filter:blur(70px);

 pointer-events:none;
}

.authGlowOne{
 width:180px;
 height:180px;

 top:70px;
 right:-110px;

 background:rgba(25,191,255,.10);
}

.authGlowTwo{
 width:170px;
 height:170px;

 bottom:100px;
 left:-120px;

 background:rgba(0,91,255,.09);
}


.authShell{
 position:relative;
 z-index:2;

 width:min(100%,440px);

 margin:0 auto;
}


/* MARCA */

.authBrand{
 display:flex;
 align-items:center;

 gap:11px;

 margin:2px 0 35px;
}

.authLogoBox{
 width:47px;
 height:47px;

 display:grid;
 place-items:center;

 padding:5px;

 box-sizing:border-box;

 border-radius:15px;

 background:#fff;

 border:1px solid rgba(255,255,255,.15);

 box-shadow:
   0 8px 24px rgba(0,0,0,.22);
}

.authLogoBox img{
 width:100%;
 height:100%;

 object-fit:contain;

 display:block;
}


.authBrandText strong,
.authBrandText span{
 display:block;
}

.authBrandText strong{
 color:#fff;

 font-size:17px;
 font-weight:900;

 letter-spacing:.3px;
}

.authBrandText span{
 margin-top:1px;

 color:#6FCDEB;

 font-size:9px;
 font-weight:650;

 letter-spacing:.7px;
}


/* INTRO */

.authIntro{
 margin:0 3px 25px;
}

.authWelcome{
 display:block;

 margin-bottom:9px;

 color:#39C9F5;

 font-size:8px;
 font-weight:900;

 letter-spacing:1.8px;
}

.authIntro h1{
 margin:0!important;

 color:#fff!important;

 font-size:29px!important;
 font-weight:720!important;

 line-height:1.13!important;

 letter-spacing:-.8px;
}

.authIntro p{
 margin:10px 0 0!important;

 color:rgba(218,235,249,.52)!important;

 font-size:11px!important;
}


/* CARD */

.authCard{
 padding:7px;

 border-radius:27px;

 background:
   linear-gradient(
     150deg,
     rgba(14,46,79,.88),
     rgba(7,29,53,.92)
   );

 border:1px solid rgba(108,205,241,.11);

 box-shadow:
   0 25px 55px rgba(0,0,0,.27),
   inset 0 1px 0 rgba(255,255,255,.045);
}


/* ABAS */

.authTabs{
 display:grid;
 grid-template-columns:1fr 1fr;

 gap:5px;

 padding:4px;

 margin-bottom:4px;

 border-radius:18px;

 background:rgba(0,0,0,.15);
}

.authTabs button{
 height:43px!important;

 margin:0!important;
 padding:0 8px!important;

 border:0!important;
 border-radius:14px!important;

 background:transparent!important;

 box-shadow:none!important;

 color:rgba(255,255,255,.42)!important;

 font-size:11px!important;
 font-weight:750!important;
}

.authTabs button.active{
 background:
   linear-gradient(
     145deg,
     rgba(24,110,183,.42),
     rgba(10,67,124,.50)
   )!important;

 color:#fff!important;

 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.06),
   0 5px 14px rgba(0,0,0,.10)!important;
}


/* FORM */

.authPremium form{
 margin:0!important;

 padding:20px 15px 16px!important;

 border:0!important;

 background:transparent!important;

 box-shadow:none!important;
}


.authFormHeader{
 margin-bottom:20px;
}

.authFormHeader h2{
 margin:0 0 5px!important;

 color:#fff!important;

 font-size:17px!important;
 font-weight:760!important;
}

.authFormHeader p{
 margin:0!important;

 color:rgba(216,232,245,.47)!important;

 font-size:9px!important;
}


.authFieldLabel{
 display:block;

 margin:
   13px
   3px
   6px;

 color:rgba(219,235,247,.63);

 font-size:9px;
 font-weight:650;
}


/* CAMPO */

.authField{
 position:relative;

 min-height:53px;

 display:flex;
 align-items:center;

 padding:0 12px;

 box-sizing:border-box;

 border-radius:15px;

 background:rgba(2,15,29,.55);

 border:1px solid rgba(108,183,224,.12);

 transition:
   border-color .18s ease,
   background .18s ease,
   box-shadow .18s ease;
}

.authField:focus-within{
 border-color:rgba(25,191,255,.48);

 background:rgba(3,21,39,.72);

 box-shadow:
   0 0 0 3px rgba(25,191,255,.055);
}


.authField>img{
 width:20px;
 height:20px;

 flex:none;

 margin-right:10px;

 display:block;
}


.authField input{
 width:100%!important;
 min-width:0;

 height:51px!important;

 margin:0!important;
 padding:0!important;

 border:0!important;
 outline:0!important;

 border-radius:0!important;

 background:transparent!important;

 box-shadow:none!important;

 color:#fff!important;

 font-size:12px!important;

 caret-color:#19BFFF;
}


.authField input::placeholder{
 color:rgba(198,220,237,.27)!important;
}


.authField input[type="date"]{
 color-scheme:dark;
}


/* OLHO */

.authEye{
 width:38px!important;
 height:38px!important;

 flex:none;

 margin:0 0 0 5px!important;
 padding:0!important;

 display:grid!important;
 place-items:center!important;

 border:0!important;
 border-radius:11px!important;

 background:transparent!important;

 box-shadow:none!important;
}

.authEye img{
 width:20px!important;
 height:20px!important;

 margin:0!important;

 opacity:.75;
}

.authEye.showing{
 background:rgba(25,191,255,.07)!important;
}


/* SEGURANÇA */

.authSecurityLine{
 display:flex;
 align-items:center;

 gap:7px;

 margin:14px 3px 3px;
}

.authSecurityLine img{
 width:16px;
 height:16px;
}

.authSecurityLine span{
 color:rgba(195,223,211,.57);

 font-size:8px;
}


.authRegisterNotice{
 display:flex;
 align-items:flex-start;

 gap:10px;

 margin-top:17px;
 padding:12px;

 border-radius:14px;

 background:rgba(34,197,94,.045);

 border:1px solid rgba(34,197,94,.10);
}

.authRegisterNotice>img{
 width:21px;
 height:21px;

 flex:none;
}

.authRegisterNotice b,
.authRegisterNotice span{
 display:block;
}

.authRegisterNotice b{
 color:#BDEDCF;

 font-size:9px;
}

.authRegisterNotice span{
 margin-top:3px;

 color:rgba(208,235,218,.48);

 font-size:8px;

 line-height:1.45;
}


/* BOTÃO PRINCIPAL */

.authPrimary{
 width:100%!important;
 min-height:54px!important;

 margin:18px 0 0!important;
 padding:0 17px!important;

 display:flex!important;
 align-items:center!important;
 justify-content:center!important;

 gap:9px!important;

 border:1px solid rgba(112,222,255,.28)!important;
 border-radius:16px!important;

 background:
   linear-gradient(
     180deg,
     #119FEF 0%,
     #0878D9 55%,
     #075EB7 100%
   )!important;

 color:#fff!important;

 font-size:12px!important;
 font-weight:850!important;

 box-shadow:
   0 5px 0 #03427D,
   0 12px 22px rgba(0,94,198,.23),
   inset 0 1px 0 rgba(255,255,255,.20)!important;

 transition:
   transform .10s ease,
   box-shadow .10s ease!important;
}

.authPrimary>img{
 width:17px!important;
 height:17px!important;
}

.authPrimary:active{
 transform:translateY(4px)!important;

 box-shadow:
   0 1px 0 #03427D,
   0 6px 12px rgba(0,94,198,.20),
   inset 0 1px 0 rgba(255,255,255,.16)!important;
}


/* AJUDA */

.authHelp{
 display:flex;
 align-items:center;
 justify-content:center;

 flex-wrap:wrap;

 gap:4px;

 margin-top:18px;

 color:rgba(255,255,255,.35);

 font-size:8px;
}

.authHelp button{
 width:auto!important;
 height:auto!important;

 margin:0!important;
 padding:2px!important;

 border:0!important;

 background:transparent!important;

 box-shadow:none!important;

 color:#55CFF4!important;

 font-size:8px!important;
 font-weight:750!important;
}


.authLegal{
 margin:15px 5px 0!important;

 color:rgba(255,255,255,.29)!important;

 text-align:center;

 font-size:7.5px!important;
 line-height:1.55!important;
}


/* FOOTER */

.authFooter{
 display:flex;
 align-items:center;
 justify-content:space-between;

 margin:20px 4px 0;

 color:rgba(255,255,255,.28);
}

.authFooter>div{
 display:flex;
 align-items:center;

 gap:5px;
}

.authFooter img{
 width:14px;
 height:14px;
}

.authFooter span,
.authFooter small{
 font-size:7px;
}


/* garante que menus bancários não aparecem no login */
body:not(.logged-in) #nfctMenuBtn,
body:not(.logged-in) .nfctBankBottom{
 display:none!important;
}


/* MOBILE */
@media(max-width:380px){

 #auth.authPremium{
   padding-left:14px!important;
   padding-right:14px!important;
 }

 .authIntro h1{
   font-size:26px!important;
 }

 .authCard{
   border-radius:24px;
 }

}


/* telas mais altas */
@media(min-height:850px){

 .authBrand{
   margin-top:10px;
   margin-bottom:42px;
 }

 .authIntro{
   margin-bottom:29px;
 }

}


/* ===== NFCT FIX TELA AZUL / AUTH ===== */

/* visitante: login sempre visível */
body.nfct-session-guest:not(.nfct-inner) #auth.authPremium{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body.nfct-session-guest:not(.nfct-inner) #auth .authShell,
body.nfct-session-guest:not(.nfct-inner) #auth .authIntro,
body.nfct-session-guest:not(.nfct-inner) #auth .authCard{
  display:block;
  visibility:visible!important;
  opacity:1!important;
}

/* sessão válida: login escondido */
body.nfct-session-ok #auth{
  display:none!important;
}

/* durante verificação, mantém somente o conteúdo invisível */
body.nfct-booting #auth,
body.nfct-booting #bank,
body.nfct-booting #nav{
  visibility:hidden!important;
}


/* ===== NFCT FIX TELA AZUL / AUTH ===== */

/* visitante: login sempre visível */
body.nfct-session-guest:not(.nfct-inner) #auth.authPremium{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body.nfct-session-guest:not(.nfct-inner) #auth .authShell,
body.nfct-session-guest:not(.nfct-inner) #auth .authIntro,
body.nfct-session-guest:not(.nfct-inner) #auth .authCard{
  display:block;
  visibility:visible!important;
  opacity:1!important;
}

/* sessão válida: login escondido */
body.nfct-session-ok #auth{
  display:none!important;
}

/* durante verificação, mantém somente o conteúdo invisível */
body.nfct-booting #auth,
body.nfct-booting #bank,
body.nfct-booting #nav{
  visibility:hidden!important;
}


/* =========================================
   NFCT - SAUDAÇÃO SOMENTE NA HOME
   ========================================= */

/* páginas internas */
body.nfct-inner .welcome{
  display:none!important;
}

/* home */
body.nfct-home .welcome{
  display:flex!important;
}

/* segurança extra pelas rotas internas */
body:not(.nfct-home) .welcome{
  display:none!important;
}


/* NFCT SAFE DISPLAY FIX */
body.nfct-session-guest:not(.nfct-inner) #auth{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body.nfct-session-guest:not(.nfct-inner) #auth .authShell{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body.nfct-session-ok #bank{
  visibility:visible!important;
  opacity:1!important;
}

/* saudação exclusivamente na página inicial */
body.nfct-inner .welcome{
  display:none!important;
}

body.nfct-home.nfct-session-ok .welcome{
  display:flex!important;
}


/* NFCT - AVISO DE ATIVAÇÃO DO SAQUE */
.withdrawActivationNotice{
  margin:16px 0 20px!important;
  padding:16px 17px!important;
  border-radius:16px!important;
  background:rgba(10,126,255,.09)!important;
  border:1px solid rgba(38,164,255,.20)!important;
  color:#bcd7eb!important;
  line-height:1.5!important;
}

.withdrawActivationNotice b{
  display:block;
  color:#ffffff!important;
  font-size:15px!important;
  margin-bottom:2px!important;
}


/* ==================================================
   NFCT - FIX DEFINITIVO AUTOFILL LOGIN ANDROID
   ================================================== */

#auth .authField{
  background:#06182b!important;
  overflow:hidden!important;
  isolation:isolate;
}

/* todos os estados do campo */
#auth .authField input,
#auth .authField input:focus,
#auth .authField input:active{
  background:#06182b!important;
  background-color:#06182b!important;
  color:#fff!important;
  caret-color:#fff!important;
}

/* Chrome / Edge / Samsung / Android Autofill */
#auth .authField input:-webkit-autofill,
#auth .authField input:-webkit-autofill:hover,
#auth .authField input:-webkit-autofill:focus,
#auth .authField input:-webkit-autofill:active{
  -webkit-text-fill-color:#fff!important;
  caret-color:#fff!important;

  -webkit-box-shadow:
    0 0 0 100px #06182b inset!important;

  box-shadow:
    0 0 0 100px #06182b inset!important;

  background:#06182b!important;
  background-color:#06182b!important;

  border:none!important;
  outline:none!important;

  transition:
    background-color 999999s 0s,
    color 999999s 0s!important;
}

/* padrão moderno */
#auth .authField input:autofill{
  background:#06182b!important;
  background-color:#06182b!important;
  color:#fff!important;
}

/* remove aparência própria do navegador */
#auth input[type="email"],
#auth input[type="password"],
#auth input[type="text"]{
  -webkit-appearance:none!important;
  appearance:none!important;
}

/* impede faixa clara nos cantos do autofill */
#auth .authField input{
  border-radius:0!important;
  background-clip:padding-box!important;
}

/* seleção do texto continua no tema NFCT */
#auth .authField input::selection{
  background:#087cff!important;
  color:#fff!important;
}


/* =========================================================
   NFCT ADMIN - PERSONALIZAÇÃO
   ========================================================= */

.nfctAdminBrandCard{
  margin:18px 0;
  padding:20px;
  border-radius:22px;
  background:#081b30;
  border:1px solid rgba(50,188,173,.18);
}

.nfctAdminBrandCard h3{
  margin:0 0 15px;
}

.nfctImagePreview{
  width:110px;
  height:110px;
  margin:12px 0 18px;
  padding:8px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:22px;
  background:#fff;
  border:1px solid rgba(255,255,255,.12);
}

.nfctImagePreview.transparent{
  background:
    linear-gradient(45deg,#10283c 25%,transparent 25%),
    linear-gradient(-45deg,#10283c 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#10283c 75%),
    linear-gradient(-45deg,transparent 75%,#10283c 75%);
  background-size:16px 16px;
  background-position:0 0,0 8px,8px -8px,-8px 0;
}

.nfctImagePreview img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.nfctAdminBrandCard input[type=file]{
  display:block;
  width:100%;
  margin:12px 0;
}



/* =================================================
   NFCT - FUNDO DOS BOTÕES IGUAL AO FUNDO DO PIX
   SOMENTE ÁREA DE AÇÕES
   ================================================= */

.quick button{
  background:#061b32!important;
}


/* ==============================================
   NFCT PIX - CONFIGURAÇÃO FINAL LIMPA
   ============================================== */

.quick button img[src*="/icons/pix.svg"]{
    display:block!important;

    width:64px!important;
    height:64px!important;

    margin:0 auto 6px!important;
    padding:0!important;

    background:none!important;
    background-color:transparent!important;
    background-image:none!important;

    border:none!important;
    outline:none!important;
    border-radius:0!important;
    box-shadow:none!important;

    object-fit:contain!important;
    mix-blend-mode:normal!important;
    filter:none!important;
}


/* NFCT - ícones modernos de segurança */
.nfctVerifiedModern,
.nfctProtectedModern{
  width:24px!important;
  height:24px!important;
  display:inline-block!important;
  vertical-align:middle!important;
  object-fit:contain!important;
  flex:0 0 24px!important;

  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

.nfctVerifiedModern{
  margin-left:6px!important;
}

.nfctProtectedModern{
  margin-right:7px!important;
}


/* =========================================================
   NFCT ADMIN - PERSONALIZADOR V2
   ========================================================= */

.nfctRemoveBg{
  display:flex;
  align-items:flex-start;
  gap:10px;

  margin:14px 0;
  padding:12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;

  background:rgba(255,255,255,.025);
}

.nfctRemoveBg input{
  width:18px!important;
  height:18px!important;
  margin:2px 0 0!important;
  flex:0 0 18px;
}

.nfctRemoveBg span{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.nfctRemoveBg small,
.nfctCustomizerHint{
  opacity:.7;
}

.nfctIconEditorTop{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;

  margin:12px 0 16px;
}

.nfctIconEditorTop label{
  flex:1;
}

.nfctIconEditorTop label > small{
  display:block;
  margin-bottom:6px;
}

.nfctSmallSelect{
  width:150px!important;
  max-width:100%!important;
  min-height:42px!important;

  margin:0!important;
  padding:8px 34px 8px 11px!important;

  border-radius:11px!important;
}

.nfctIconMiniPreview{
  width:64px;
  height:64px;

  flex:0 0 64px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:16px;

  background:#071c32;
  border:1px solid rgba(255,255,255,.10);
}

.nfctIconMiniPreview img{
  width:42px!important;
  height:42px!important;

  object-fit:contain!important;

  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}


/* NFCT - remover fundo dos ícones */
#branding #removeIconBg{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}

#adminButtonIconPreview{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}


/* =========================================================
   NFCT - INDICADORES DE SEGURANÇA PROFISSIONAIS
   ========================================================= */

/* Identidade verificada */
#vstatus.nfctVerifiedProfessional{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}

#vstatus.nfctVerifiedProfessional::before{
  content:""!important;
  display:block!important;
  width:19px!important;
  height:19px!important;
  flex:0 0 19px!important;

  background-color:currentColor!important;
  -webkit-mask:url("/icons/identity-verified.svg") center/contain no-repeat!important;
  mask:url("/icons/identity-verified.svg") center/contain no-repeat!important;

  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Conta protegida */
.balanceProtection{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}

.balanceProtection .nfctSecurityIcon{
  width:20px!important;
  height:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.balanceProtection .nfctSecurityIcon img{
  width:20px!important;
  height:20px!important;
  display:block!important;

  background:transparent!important;
  border:0!important;
  box-shadow:none!important;

  /* acompanha o tom claro do cartão */
  filter:brightness(0) invert(1)!important;
  opacity:.88!important;
}


/* =========================================================
   NFCT - NÃO MOSTRAR ÍCONE ANTIGO DURANTE CARREGAMENTO
   ========================================================= */

.bankActions .bankActionIcon img.nfctIconLoading{
  opacity:0!important;
  visibility:hidden!important;
}

.bankActions .bankActionIcon img.nfctIconReady{
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .12s ease!important;
}


/* =========================================================
   NFCT - FUNÇÕES BLOQUEADAS SEM VERIFICAÇÃO
   Atendimento permanece disponível
   ========================================================= */

body.nfct-identity-pending
.bankActions button.nfctVerificationLocked,
body.nfct-identity-pending
.secondaryActions button.nfctVerificationLocked{
  filter:grayscale(1)!important;
  opacity:.48!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

/* Ícones também ficam cinza */
body.nfct-identity-pending
.nfctVerificationLocked img{
  filter:grayscale(1)!important;
}

/* impede interação no conteúdo interno */
body.nfct-identity-pending
.nfctVerificationLocked > *{
  pointer-events:none!important;
}

/* Atendimento continua normal */
body.nfct-identity-pending
.bankActions button[onclick*="/atendimento"]{
  filter:none!important;
  opacity:1!important;
  cursor:pointer!important;
}

