html{background:#050505;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{opacity:1;transition:opacity .12s ease;}
html.zeroon-booting body{opacity:0;}
html.zeroon-ready body{opacity:1;}
input,select,textarea,button{font-size:16px!important;}
input,select,textarea{-webkit-appearance:none;appearance:none;}
@media (max-width:768px){
  input,select,textarea{font-size:16px!important;}
  body{min-height:100dvh;}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}


/* NEX BANK UI refinement v4.4 */
:root{
  --nex-font:-apple-system,BlinkMacSystemFont,"Inter","SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --nex-blue:#3b82f6;--nex-green:#22c55e;--nex-violet:#8b5cf6;--nex-orange:#f59e0b;
  --nex-cyan:#06b6d4;--nex-red:#ef4444;--nex-muted:#8b93a1;
}
html,body,button,input,select,textarea{font-family:var(--nex-font)!important;}
body{font-weight:400;letter-spacing:-.005em;}
h1,h2,h3,h4,.title,.menu-text strong{letter-spacing:-.025em;}
button,.btn,.filter,.filtro{letter-spacing:-.01em;}
/* Cores funcionais dos ícones, sem transformar o app em um arco-íris. */
.ri-home-5-line,.ri-dashboard-line,.ri-bar-chart-2-line,.ri-bar-chart-box-line{color:var(--nex-blue)!important;}
.ri-qr-code-line,.ri-bank-card-line,.ri-money-dollar-circle-line,.ri-exchange-dollar-line{color:var(--nex-green)!important;}
.ri-line-chart-line,.ri-funds-line,.ri-arrow-left-right-line{color:var(--nex-violet)!important;}
.ri-wallet-3-line,.ri-wallet-line,.ri-hand-coin-line{color:var(--nex-orange)!important;}
.ri-settings-3-line,.ri-settings-line,.ri-equalizer-line{color:#94a3b8!important;}
.ri-customer-service-2-line,.ri-headphone-line{color:var(--nex-cyan)!important;}
.ri-logout-box-r-line{color:#f87171!important;}

@media(max-width:768px){
  body{overflow-x:hidden!important;}
  /* Menus e cartões mais compactos no iPhone. */
  .menu{gap:5px!important;}
  .menu-item{padding:10px 11px!important;border-radius:16px!important;min-height:64px!important;}
  .menu-left{gap:10px!important;min-width:0;}
  .menu-icon{width:40px!important;height:40px!important;border-radius:13px!important;flex:0 0 40px!important;}
  .menu-icon i{font-size:18px!important;}
  .menu-text strong{font-size:13px!important;line-height:1.15!important;}
  .menu-text span{font-size:10.5px!important;line-height:1.2!important;margin-top:2px!important;}
  .menu-right i{font-size:17px!important;}
  .support-card{padding:12px!important;border-radius:18px!important;}
  .support-icon{width:42px!important;height:42px!important;border-radius:13px!important;}
  .logout{padding:13px!important;border-radius:17px!important;}
  .card{border-radius:16px!important;}
  .btn{min-height:44px;}
  /* cartões de transação responsivos usados nas páginas modernizadas */
  .nex-tx-table{overflow:visible!important;padding:10px!important;}
  .nex-tx-table>.row.h{display:none!important;}
  .nex-tx-row{display:block!important;min-width:0!important;padding:14px!important;margin-bottom:10px!important;border:1px solid #171717!important;border-radius:15px!important;background:#070707!important;}
  .nex-tx-row:last-child{margin-bottom:0!important;}
  .nex-tx-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important;}
  .nex-tx-name{font-size:14px!important;min-width:0;}
  .nex-tx-id{display:block;color:#70798a;font-size:10.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px;}
  .nex-tx-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px 16px!important;}
  .nex-tx-cell{min-width:0!important;}
  .nex-tx-label{display:block!important;color:#687386!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.055em;margin-bottom:3px;}
  .nex-tx-value{font-size:13px!important;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
  .nex-tx-full{grid-column:1/-1;}
}


/* NEX BANK final polish v4.4.1: cabeçalhos limpos + cores funcionais */
.header-icon,
.top-icon,
.header .header-top > .icon,
.header .left > .logo {
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  flex:0 0 32px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}
.header-icon i,
.top-icon i,
.header .header-top > .icon i,
.header .left > .logo i {
  font-size:25px!important;
  filter:none!important;
}
/* Paleta por função: mantém identidade sem deixar tudo azul. */
.ri-team-line,.ri-group-line,.ri-user-settings-line,.ri-user-line,.ri-admin-line{color:var(--nex-violet)!important;}
.ri-shield-check-line,.ri-shield-user-line,.ri-checkbox-circle-line,.ri-check-double-line{color:var(--nex-green)!important;}
.ri-links-line,.ri-link,.ri-global-line,.ri-customer-service-line{color:var(--nex-cyan)!important;}
.ri-file-list-3-line,.ri-file-chart-line,.ri-history-line,.ri-time-line{color:var(--nex-orange)!important;}
.ri-bank-line,.ri-bank-card-line,.ri-secure-payment-line,.ri-qr-code-line{color:var(--nex-green)!important;}
.ri-money-dollar-box-line,.ri-coins-line,.ri-currency-line{color:var(--nex-green)!important;}
.ri-alert-line,.ri-error-warning-line{color:var(--nex-orange)!important;}

@media(max-width:768px){
  .header-icon,.top-icon,.header .header-top > .icon,.header .left > .logo{width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important;}
  .header-icon i,.top-icon i,.header .header-top > .icon i,.header .left > .logo i{font-size:23px!important;}
}

/* NEX BANK global polish v4.4.3 */
html,body{scrollbar-width:none!important;-ms-overflow-style:none!important;}
*{scrollbar-width:none!important;}
*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}

/* Fundo financeiro discreto, sem interferir no conteúdo. */
body.nex-ui-polish{isolation:isolate;}
.nex-ambient{
  position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;
  opacity:.055;filter:saturate(.8);
}
.nex-ambient i{position:absolute;font-size:clamp(34px,4vw,68px);color:#60a5fa;transform:rotate(var(--r,0deg));}
.nex-ambient i:nth-child(1){left:7%;top:16%;--r:-14deg;color:#22c55e}
.nex-ambient i:nth-child(2){left:25%;top:72%;--r:11deg;color:#60a5fa}
.nex-ambient i:nth-child(3){right:9%;top:20%;--r:9deg;color:#06b6d4}
.nex-ambient i:nth-child(4){right:22%;bottom:12%;--r:-11deg;color:#f59e0b}
.nex-ambient i:nth-child(5){left:48%;top:8%;--r:7deg;color:#8b5cf6}
body.nex-ui-polish > :not(.nex-ambient){z-index:auto;}

/* Cabeçalhos: ícone limpo, sem placa azul. */
.header-icon,.top-icon,.page-icon,.title-icon,.head-icon,.nex-auto-page-icon,
.header .header-top > .icon,.header .left > .logo,
.header [class*="icon-box"],.header [class*="iconBox"]{
  width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;
  display:grid!important;place-items:center!important;
  padding:0!important;border:0!important;border-radius:10px!important;
  background:rgba(255,255,255,.025)!important;background-image:none!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)!important;filter:none!important;
}
.header-icon i,.top-icon i,.page-icon i,.title-icon i,.head-icon i,.nex-auto-page-icon i,
.header .header-top > .icon i,.header .left > .logo i{
  font-size:21px!important;filter:none!important;text-shadow:none!important;
}
.nex-auto-page-icon{margin-right:10px!important;}

/* Botão de sessão único em toda a plataforma. */
.nex-logout-standard{color:#f87171!important;border-color:rgba(248,113,113,.18)!important;background:rgba(127,29,29,.08)!important;}
.nex-logout-standard i{color:#f87171!important;}

/* Ícones PIX/QR sempre verdes/ciano e não brancos. */
.ri-qr-code-line,.ri-qr-code-fill,.ri-secure-payment-line,.ri-bank-card-line{color:#22c55e!important;}
.ri-wallet-3-line,.ri-wallet-line{color:#f59e0b!important;}
.ri-customer-service-2-line,.ri-headphone-line{color:#06b6d4!important;}
.ri-settings-3-line,.ri-settings-line{color:#94a3b8!important;}

@media(max-width:768px){
  .header-icon,.top-icon,.page-icon,.title-icon,.head-icon,.nex-auto-page-icon,
  .header .header-top > .icon,.header .left > .logo{width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important;border-radius:9px!important;}
  .header-icon i,.top-icon i,.page-icon i,.title-icon i,.head-icon i,.nex-auto-page-icon i{font-size:19px!important;}
  .nex-ambient{opacity:.035;}
}


/* NEX BANK v4.4.4 — tema, fundo e correções globais */
:root{
  --nex-bg:#070b14;
  --nex-surface:#0b1220;
  --nex-surface-2:#0f1726;
  --nex-text:#f8fafc;
  --nex-muted:#8b98aa;
  --nex-border:rgba(148,163,184,.12);
  --nex-shadow:0 18px 50px rgba(0,0,0,.24);
}
html[data-nex-theme="light"]{
  --nex-bg:#f4f7fb;
  --nex-surface:#ffffff;
  --nex-surface-2:#f8fafc;
  --nex-text:#0f172a;
  --nex-muted:#64748b;
  --nex-border:rgba(15,23,42,.10);
  --nex-shadow:0 18px 45px rgba(15,23,42,.08);
}

html[data-nex-theme] body.nex-ui-polish{
  background:
    radial-gradient(circle at 18% 18%,rgba(37,99,235,.10),transparent 30%),
    radial-gradient(circle at 82% 76%,rgba(6,182,212,.06),transparent 28%),
    var(--nex-bg)!important;
  color:var(--nex-text)!important;
  transition:background .22s ease,color .22s ease;
}
html[data-nex-theme="light"] body.nex-ui-polish{
  background:
    radial-gradient(circle at 16% 14%,rgba(59,130,246,.08),transparent 30%),
    radial-gradient(circle at 84% 82%,rgba(14,165,233,.05),transparent 28%),
    var(--nex-bg)!important;
}

/* Cards e containers mais consistentes sem quebrar layouts existentes */
html[data-nex-theme] body.nex-ui-polish :is(.card,.panel,.box,.chart-card,.stats-card,.metric-card,.user,.login-card,.grid-card){
  border-color:var(--nex-border)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.card,.panel,.box,.chart-card,.stats-card,.metric-card,.user,.login-card,.grid-card){
  background:linear-gradient(145deg,#fff,#f8fafc)!important;
  color:var(--nex-text)!important;
  box-shadow:var(--nex-shadow)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.title,.card-title,h1,h2,h3,strong,.value){
  color:var(--nex-text);
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.sub,.card-desc,.subtitle,.muted,small){
  color:var(--nex-muted)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish input,
html[data-nex-theme="light"] body.nex-ui-polish select,
html[data-nex-theme="light"] body.nex-ui-polish textarea{
  background:#fff!important;color:#0f172a!important;border-color:rgba(15,23,42,.12)!important;
}

/* Fundo decorativo financeiro: discreto + número 7 */
.nex-ambient{opacity:.07!important}
.nex-ambient-seven{
  position:absolute;left:58%;top:36%;
  font:800 clamp(90px,15vw,240px)/1 system-ui,-apple-system,sans-serif;
  color:#3b82f6;opacity:.24;
  transform:rotate(-7deg);
  text-shadow:0 0 40px rgba(59,130,246,.10);
}
html[data-nex-theme="light"] .nex-ambient{opacity:.055!important}
html[data-nex-theme="light"] .nex-ambient-seven{color:#2563eb;opacity:.12}

/* Toggle de tema */
.nex-theme-toggle{
  position:fixed;top:max(12px,env(safe-area-inset-top));right:14px;z-index:99999;
  display:flex;align-items:center;gap:7px;
  height:36px;padding:0 12px;border-radius:999px;
  border:1px solid var(--nex-border);background:rgba(10,16,28,.82);color:#e5e7eb;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  font:600 12px/1 system-ui,-apple-system,sans-serif;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
html[data-nex-theme="light"] .nex-theme-toggle{background:rgba(255,255,255,.88);color:#0f172a}
.nex-theme-toggle i{font-size:16px;color:#60a5fa}

/* Cabeçalhos: um único ícone, sem placa azul chamativa */
.nex-auto-page-icon,.header-icon,.top-icon,.page-icon,.title-icon,.head-icon,
.header .header-top > .icon,.header > .icon,.head > .icon,.page-header > .icon{
  background:rgba(255,255,255,.025)!important;
  background-image:none!important;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.09)!important;
}
html[data-nex-theme="light"] :is(.nex-auto-page-icon,.header-icon,.top-icon,.page-icon,.title-icon,.head-icon,.header .header-top > .icon,.header > .icon,.head > .icon,.page-header > .icon){
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)!important;
}

/* Scroll continua funcionando, sem barra visual pesada */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

/* Sidebar/shell no tema claro */
html[data-nex-theme="light"] body.nex-ui-polish .sidebar,
html[data-nex-theme="light"] body.nex-ui-polish .topbar{
  background:#fff!important;color:#0f172a!important;border-color:rgba(15,23,42,.08)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish iframe{background:#f4f7fb!important}

@media(max-width:768px){
  .nex-theme-toggle span{display:none}
  .nex-theme-toggle{width:36px;padding:0;justify-content:center}
  .nex-ambient-seven{left:52%;top:30%;font-size:110px}
}


/* =========================================================
   NEX BANK v4.4.5 — acabamento responsivo e temas consistentes
   ========================================================= */
:root{
  --nex-bg:#07101d;
  --nex-bg-deep:#050b14;
  --nex-surface:#101b2d;
  --nex-surface-2:#0c1626;
  --nex-surface-3:#132238;
  --nex-text:#f8fafc;
  --nex-muted:#91a0b5;
  --nex-soft:#66758b;
  --nex-border:rgba(148,163,184,.14);
  --nex-hover:rgba(59,130,246,.09);
  --nex-active:rgba(59,130,246,.13);
  --nex-shadow:0 16px 42px rgba(0,0,0,.25);
}
html[data-nex-theme="light"]{
  --nex-bg:#f2f6fb;
  --nex-bg-deep:#eaf0f7;
  --nex-surface:#ffffff;
  --nex-surface-2:#f8fafc;
  --nex-surface-3:#eef4fb;
  --nex-text:#111827;
  --nex-muted:#526177;
  --nex-soft:#6b7890;
  --nex-border:rgba(15,23,42,.11);
  --nex-hover:#eaf2ff;
  --nex-active:#dfeaff;
  --nex-shadow:0 14px 34px rgba(15,23,42,.08);
}

html,body{max-width:100%;}

/* O ambiente fica atrás do conteúdo sem alterar position dos shells/sidebars. */
body.nex-ui-polish{isolation:isolate;}
.nex-ambient{z-index:-1!important;opacity:.10!important;filter:saturate(.78);}
html[data-nex-theme="light"] .nex-ambient{opacity:.075!important;}
.nex-ambient .nex-bg-item{
  position:absolute;
  display:grid;
  place-items:center;
  color:#60a5fa;
  font-size:clamp(48px,5.4vw,94px);
  line-height:1;
  opacity:.64;
  transform:translate(-50%,-50%) rotate(var(--r,0deg));
  text-shadow:0 0 30px rgba(59,130,246,.08);
}
.nex-ambient .nex-bg-item i{position:static!important;font-size:inherit!important;color:inherit!important;transform:none!important;}
.nex-ambient .nex-bg-1{left:8%;top:18%;--r:-10deg;color:#22c55e;}
.nex-ambient .nex-bg-2{left:24%;top:43%;--r:8deg;color:#60a5fa;}
.nex-ambient .nex-bg-3{left:13%;top:76%;--r:-8deg;color:#f59e0b;}
.nex-ambient .nex-bg-4{left:43%;top:18%;--r:10deg;color:#8b5cf6;}
.nex-ambient .nex-bg-5{left:50%;top:67%;--r:-6deg;color:#06b6d4;}
.nex-ambient .nex-bg-6{left:72%;top:25%;--r:8deg;color:#22c55e;}
.nex-ambient .nex-bg-7{left:83%;top:54%;--r:-11deg;color:#60a5fa;}
.nex-ambient .nex-bg-8{left:76%;top:82%;--r:7deg;color:#f59e0b;}
.nex-ambient .nex-bg-9{left:93%;top:16%;--r:-6deg;color:#8b5cf6;}
.nex-ambient .nex-bg-10{left:35%;top:87%;--r:8deg;color:#22c55e;}
.nex-ambient-seven{
  position:absolute;
  font:300 clamp(86px,11vw,190px)/.8 "Segoe UI",system-ui,sans-serif!important;
  color:#3b82f6!important;
  opacity:.28!important;
  -webkit-text-stroke:1px rgba(96,165,250,.46);
  text-shadow:none!important;
  transform:translate(-50%,-50%) rotate(var(--r,-5deg))!important;
}
.nex-seven-1{left:59%!important;top:42%!important;--r:-5deg;}
.nex-seven-2{left:19%!important;top:58%!important;--r:7deg;font-size:clamp(62px,8vw,132px)!important;opacity:.20!important;}
.nex-seven-3{left:88%!important;top:72%!important;--r:-8deg;font-size:clamp(68px,9vw,146px)!important;opacity:.18!important;}
.nex-ambient-slot{
  position:absolute;
  transform:translate(-50%,-50%) rotate(var(--r,7deg));
  font-size:clamp(42px,4.8vw,76px);
  filter:grayscale(1) contrast(.8);
  opacity:.22;
}
.nex-slot-1{left:66%;top:72%;--r:7deg;}
.nex-slot-2{left:91%;top:37%;--r:-9deg;font-size:clamp(36px,4vw,66px);opacity:.16;}
html[data-nex-theme="light"] .nex-ambient-seven{color:#2563eb!important;opacity:.14!important;-webkit-text-stroke-color:rgba(37,99,235,.30);}
html[data-nex-theme="light"] .nex-ambient-slot{opacity:.12;}

/* Superfícies: sem preto chapado no tema escuro. */
html[data-nex-theme="dark"] body.nex-ui-polish :is(
  .card,.panel,.box,.chart-card,.stats-card,.metric-card,.user,.login-card,.grid-card,
  .support-card,.item,.stat,.info-card,.summary-card,.table,.modal-content,.input-box
){
  background:linear-gradient(145deg,var(--nex-surface),var(--nex-surface-2))!important;
  color:var(--nex-text)!important;
  border-color:var(--nex-border)!important;
  box-shadow:var(--nex-shadow);
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .card,.panel,.box,.chart-card,.stats-card,.metric-card,.user,.login-card,.grid-card,
  .support-card,.item,.stat,.info-card,.summary-card,.table,.modal-content,.input-box
){
  background:linear-gradient(145deg,#fff,#f8fbff)!important;
  color:var(--nex-text)!important;
  border-color:var(--nex-border)!important;
  box-shadow:var(--nex-shadow)!important;
}
body.nex-ui-polish :is(.card,.panel,.box,.chart-card,.stats-card,.metric-card,.grid-card,.support-card){
  border-width:1px!important;
  border-style:solid!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
body.nex-ui-polish :is(.card,.panel,.box,.chart-card,.stats-card,.metric-card,.grid-card,.support-card):hover{
  border-color:rgba(59,130,246,.22)!important;
}

/* Textos e formulários legíveis nos dois temas. */
html[data-nex-theme] body.nex-ui-polish :is(h1,h2,h3,h4,.title,.card-title,.section-title,.value,.valor,.nome,strong){
  color:var(--nex-text);
}
html[data-nex-theme] body.nex-ui-polish :is(.sub,.subtitle,.muted,.card-desc,.desc,.data,.label,.field label,small){
  color:var(--nex-muted)!important;
}
html[data-nex-theme="dark"] body.nex-ui-polish :is(input,select,textarea,.input){
  background:#0b1524!important;
  color:#f8fafc!important;
  border-color:rgba(148,163,184,.14)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(input,select,textarea,.input){
  background:#fff!important;
  color:#111827!important;
  border-color:rgba(15,23,42,.13)!important;
  box-shadow:inset 0 1px 0 rgba(15,23,42,.015);
}
html[data-nex-theme] body.nex-ui-polish :is(input,select,textarea,.input)::placeholder{color:var(--nex-soft)!important;opacity:.82!important;}
html[data-nex-theme] body.nex-ui-polish :is(input,select,textarea,.input):focus{
  border-color:#3b82f6!important;
  box-shadow:0 0 0 3px rgba(59,130,246,.10)!important;
}

/* Login segue a mesma linguagem visual dos painéis. */
body.nex-page-login .card{
  background:linear-gradient(145deg,#101c30,#0b1423)!important;
  border-color:rgba(148,163,184,.14)!important;
  box-shadow:0 28px 75px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.03)!important;
}
html[data-nex-theme="light"] body.nex-page-login .card{
  background:linear-gradient(145deg,#fff,#f7faff)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.12)!important;
}
html[data-nex-theme="light"] body.nex-page-login .logo-text .bank,
html[data-nex-theme="light"] body.nex-ui-polish .logo-text .bank{
  background:linear-gradient(180deg,#334155,#64748b)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
body.nex-page-login .security{border-color:var(--nex-border)!important;background:rgba(148,163,184,.035)!important;}
html[data-nex-theme="light"] body.nex-page-login .footer a{color:#526177!important;}

/* Alternador: apenas ícone e dentro do componente/shell, nunca solto na borda da tela. */
.nex-theme-toggle{
  position:static!important;
  width:36px!important;height:36px!important;min-width:36px!important;
  display:grid!important;place-items:center!important;
  padding:0!important;margin:0!important;gap:0!important;
  border-radius:12px!important;
  border:1px solid var(--nex-border)!important;
  background:rgba(15,27,45,.82)!important;
  color:var(--nex-text)!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
}
html[data-nex-theme="light"] .nex-theme-toggle{background:#fff!important;}
.nex-theme-toggle i{font-size:18px!important;color:#60a5fa!important;}
.nex-theme-toggle span{display:none!important;}
body.nex-page-login .card{position:relative!important;}
body.nex-page-login .card > .nex-theme-toggle{
  position:absolute!important;right:14px!important;top:14px!important;z-index:5;
}
.sidebar .logo:has(.nex-theme-toggle),
.sidebar .logo-top:has(.nex-theme-toggle){
  display:flex!important;align-items:center!important;gap:10px!important;
}
.sidebar .logo .nex-theme-toggle,
.sidebar .logo-top .nex-theme-toggle{margin-left:auto!important;}

/* Menus — contraste correto, inclusive hover/active no tema claro. */
html[data-nex-theme="dark"] body.nex-ui-polish .sidebar{
  background:linear-gradient(180deg,#08111f,#07101d)!important;
  border-color:rgba(148,163,184,.10)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .sidebar{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  color:#111827!important;
  border-color:rgba(15,23,42,.09)!important;
}
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item{
  color:var(--nex-muted)!important;
  border-color:transparent!important;
}
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item :is(.menu-text strong,.menu-left,strong){
  color:inherit!important;
}
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item .menu-text span{
  color:var(--nex-soft)!important;
}
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item:hover{
  background:var(--nex-hover)!important;
  border-color:rgba(59,130,246,.15)!important;
  color:var(--nex-text)!important;
  transform:translateX(2px);
}
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item:hover :is(.menu-text strong,.menu-left,strong){
  color:var(--nex-text)!important;
}
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item:hover .menu-text span{
  color:var(--nex-muted)!important;
}
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item.active,
html[data-nex-theme] body.nex-ui-polish .sidebar .menu-item.active:hover{
  background:var(--nex-active)!important;
  border-color:rgba(59,130,246,.20)!important;
  color:var(--nex-text)!important;
  box-shadow:inset 3px 0 0 rgba(59,130,246,.72)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .sidebar :is(.user,.menu-icon,.support-card,.support-icon){
  background:#fff!important;color:#111827!important;border-color:rgba(15,23,42,.09)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .sidebar :is(.divider,.user small,.support-text span){color:#64748b!important;}
html[data-nex-theme="light"] body.nex-ui-polish .sidebar .logout{
  background:#fff7f7!important;border-color:rgba(239,68,68,.16)!important;color:#dc2626!important;
}

/* Topbars e barra móvel de shells. */
html[data-nex-theme="dark"] body.nex-ui-polish .topbar,
html[data-nex-theme="dark"] body.nex-ui-polish .nex-mobile-shellbar{
  background:rgba(8,17,31,.96)!important;border-color:rgba(148,163,184,.10)!important;color:#f8fafc!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .topbar,
html[data-nex-theme="light"] body.nex-ui-polish .nex-mobile-shellbar{
  background:rgba(255,255,255,.96)!important;border-color:rgba(15,23,42,.09)!important;color:#111827!important;
}
.nex-mobile-shellbar{
  display:none;
  height:64px;
  padding:0 14px;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--nex-border);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.nex-mobile-shellbar .nex-mobile-menu{
  width:38px;height:38px;border:0;background:transparent;color:var(--nex-text);
  display:grid;place-items:center;border-radius:11px;cursor:pointer;
}
.nex-mobile-shellbar .nex-mobile-menu i{font-size:25px;}
.nex-mobile-shellbar .nex-mobile-brand{
  font-weight:850;letter-spacing:.06em;font-size:15px;
}
.nex-mobile-shellbar .nex-theme-toggle,
.topbar .nex-theme-toggle{margin-left:auto!important;}

/* Gráficos nunca podem crescer indefinidamente. */
body.nex-ui-polish .chart-card{overflow:hidden!important;min-height:0!important;}
body.nex-ui-polish :is(.chart-card canvas,canvas.chart,canvas#grafico){
  display:block!important;
  width:100%!important;
  height:280px!important;
  min-height:220px!important;
  max-height:280px!important;
  margin-top:16px!important;
}

/* Dashboards mais preenchidos no desktop. */
body.nex-page-dashboard .container{width:100%!important;max-width:1500px!important;margin-inline:auto!important;}
@media(min-width:980px){
  body.nex-page-dashboard .grid{
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
    gap:16px!important;
  }
  body.nex-page-dashboard :is(.card,.chart-card){padding:20px!important;}
}

/* Formulários deixam de parecer blocos pequenos perdidos. */
@media(min-width:900px){
  body.nex-page-pdv :is(.wrap,.container){width:min(100%,760px)!important;max-width:760px!important;margin-inline:auto!important;}
body.nex-page-saque :is(.wrap,.container){width:min(100%,940px)!important;max-width:940px!important;margin-inline:auto!important;}
  body.nex-page-workspace :is(.card,.box){border-radius:20px!important;}
}

/* Evita overflow horizontal em cards, tabelas e formulários. */
body.nex-ui-polish :is(.container,.wrap,.grid,.card,.panel,.box,.chart-card,.row,.field,.input-group){min-width:0;}
body.nex-ui-polish :is(.card,.panel,.box,.chart-card){max-width:100%;}
body.nex-ui-polish img,body.nex-ui-polish canvas,body.nex-ui-polish svg{max-width:100%;}

/* Shell mobile: corrige o bug do conteúdo comprimido à direita. */
@media(max-width:900px){
  body.nex-ui-polish > .sidebar{
    position:fixed!important;
    left:0!important;top:0!important;
    width:min(86vw,320px)!important;
    max-width:320px!important;
    height:100dvh!important;
    transform:translateX(-105%)!important;
    z-index:1001!important;
  }
  body.nex-ui-polish > .sidebar.active{transform:translateX(0)!important;}
  body.nex-ui-polish > .main{
    width:100%!important;max-width:100%!important;min-width:0!important;
    flex:1 1 100%!important;margin:0!important;height:100dvh!important;
  }
  body.nex-ui-polish > .main > iframe{
    width:100%!important;max-width:100%!important;min-width:0!important;
    flex:1 1 auto!important;border:0!important;
  }
  body.nex-ui-polish > .main > .topbar{
    width:100%!important;min-width:0!important;height:64px!important;
    padding:0 14px!important;flex:0 0 64px!important;
  }
  body.nex-ui-polish > .main > .nex-mobile-shellbar{display:flex!important;flex:0 0 64px!important;}
  body.nex-ui-polish > .overlay,
  body.nex-ui-polish > .nex-mobile-overlay{
    position:fixed!important;inset:0!important;z-index:1000!important;
  }
  .nex-theme-toggle{width:36px!important;height:36px!important;}
  body.nex-page-login .card > .nex-theme-toggle{right:12px!important;top:12px!important;}
  body.nex-ui-polish :is(.chart-card canvas,canvas.chart,canvas#grafico){
    height:220px!important;min-height:200px!important;max-height:220px!important;
  }
  body.nex-page-dashboard{padding-left:14px!important;padding-right:14px!important;}
  body.nex-page-dashboard .grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body.nex-page-dashboard :is(.card,.chart-card){width:100%!important;min-width:0!important;}
  body.nex-page-pdv :is(.wrap,.container),
  body.nex-page-saque :is(.wrap,.container){width:100%!important;max-width:100%!important;}
  .nex-ambient .nex-bg-item{font-size:clamp(46px,14vw,72px);opacity:.50;}
  .nex-ambient .nex-bg-2,.nex-ambient .nex-bg-6,.nex-ambient .nex-bg-9{display:none;}
  .nex-seven-1{left:51%!important;top:31%!important;font-size:96px!important;}
  .nex-seven-2{left:20%!important;top:70%!important;font-size:68px!important;}
  .nex-seven-3{left:83%!important;top:82%!important;font-size:64px!important;}
  .nex-slot-1{left:78%;top:56%;font-size:50px;opacity:.16;}.nex-slot-2{display:none;}
}

@media(max-width:480px){
  body.nex-page-login .card{padding:28px 22px!important;}
  body.nex-page-login .brand{padding-right:28px;}
  body.nex-ui-polish :is(.card,.panel,.box,.chart-card){border-radius:18px!important;}
}


/* =========================================================
   NEX BANK v4.4.6 — premium density, desktop fill e light polish
   ========================================================= */
:root{
  --nex-light-line:rgba(51,65,85,.10);
  --nex-light-line-soft:rgba(51,65,85,.065);
  --nex-dark-card:#101c2f;
  --nex-dark-card-2:#0b1728;
}
html[data-nex-theme="light"],
html[data-nex-theme="light"] body,
html[data-nex-theme="light"] body.nex-ui-polish{
  background:#f2f6fb!important;
  color:#182235!important;
}

/* Fundo mais preenchido e variado, sem competir com o conteúdo. */
.nex-ambient{opacity:.125!important;}
html[data-nex-theme="light"] .nex-ambient{opacity:.09!important;}
.nex-ambient .nex-bg-item{font-size:clamp(54px,5.8vw,102px);opacity:.64;}
.nex-ambient .nex-bg-11{left:58%;top:12%;--r:-8deg;color:#06b6d4;}
.nex-ambient .nex-bg-12{left:61%;top:88%;--r:8deg;color:#60a5fa;}
.nex-ambient .nex-bg-13{left:4%;top:50%;--r:10deg;color:#8b5cf6;}
.nex-ambient .nex-bg-14{left:95%;top:66%;--r:-8deg;color:#f59e0b;}
.nex-ambient .nex-bg-15{left:38%;top:38%;--r:11deg;color:#22c55e;}
.nex-ambient .nex-bg-16{left:70%;top:51%;--r:-10deg;color:#60a5fa;}
.nex-bg-emoji{position:absolute;transform:translate(-50%,-50%) rotate(var(--r,0deg));font-size:clamp(44px,4.6vw,78px);line-height:1;opacity:.20;filter:grayscale(1) contrast(.82);}
.nex-controller-1{left:17%;top:31%;--r:-12deg}.nex-controller-2{left:87%;top:88%;--r:9deg;opacity:.16}
.nex-chip-1{left:47%;top:80%;--r:8deg;font-size:clamp(50px,5vw,88px);color:#8b5cf6;filter:none;opacity:.24}
.nex-chip-2{left:81%;top:10%;--r:-7deg;font-size:clamp(42px,4vw,74px);color:#ef4444;filter:none;opacity:.15}
.nex-seven-4{left:34%!important;top:12%!important;--r:9deg;font-size:clamp(54px,7vw,116px)!important;opacity:.16!important;}
.nex-slot-3{left:12%;top:90%;--r:8deg;font-size:clamp(38px,4vw,66px);opacity:.14;}

/* Tema escuro: cartões azul-grafite, nunca preto chapado. */
html[data-nex-theme="dark"] body.nex-ui-polish :is(
 .card,.panel,.box,.chart-card,.stats-card,.metric-card,.grid-card,.support-card,
 .stat,.item,.table,.rules,.rule,.balance-box,.notice,.user,.modalbox,.modal-content,.input-box,.security
){background:linear-gradient(145deg,var(--nex-dark-card),var(--nex-dark-card-2))!important;border-color:rgba(148,163,184,.14)!important;}

/* Tema claro: remove sobras pretas de regras, filtros, tabelas e badges. */
html[data-nex-theme="light"] body.nex-ui-polish :is(
 .card,.panel,.box,.chart-card,.stats-card,.metric-card,.grid-card,.support-card,
 .stat,.item,.table,.rules,.rule,.balance-box,.notice,.user,.modalbox,.modal-content,.input-box,.security
){background:linear-gradient(145deg,#fff,#f8fbff)!important;color:#182235!important;border-color:var(--nex-light-line)!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.avatar,.badge,.live,.info,.filter,.btn.alt,.history-btn){
  background:#f4f8fd!important;color:#334155!important;border-color:var(--nex-light-line)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .badge{background:#ecfdf3!important;color:#15803d!important;}
html[data-nex-theme="light"] body.nex-ui-polish .filter:hover{background:#edf4ff!important;color:#1e3a8a!important;}
html[data-nex-theme="light"] body.nex-ui-polish .filter.active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.row,.nex-tx-row){border-bottom-color:var(--nex-light-line-soft)!important;color:#243147!important;}
html[data-nex-theme="light"] body.nex-ui-polish .nex-tx-row{background:#fff!important;border-color:var(--nex-light-line)!important;}
html[data-nex-theme="light"] body.nex-ui-polish .row.h{color:#64748b!important;background:#f7faff!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.money,.nex-tx-value){color:#243147!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.title,.titulo,.chart-title,.nex-tx-label){color:#53647c!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.nome,.card-title,.value,.valor){color:#111827!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.pending,.pendente){color:#9a6700!important;background:#fff7d6!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.paid,.aprovado){color:#15803d!important;background:#eafbf0!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.failed,.expired,.recusado){color:#b91c1c!important;background:#fff0f0!important;}

/* Tabelas premium: menos linhas duras e mais respiro. */
body.nex-page-transactions .table{border-radius:22px!important;overflow:hidden!important;}
body.nex-page-transactions .row{padding:15px 14px!important;border-bottom-width:1px!important;}
body.nex-page-transactions .row.h{padding-top:12px!important;padding-bottom:12px!important;font-size:10.5px!important;text-transform:uppercase;letter-spacing:.045em;}
body.nex-page-transactions .filter{border:1px solid var(--nex-border)!important;transition:.16s ease!important;}
body.nex-page-transactions .stats{gap:14px!important;}
body.nex-page-transactions .stat{min-height:104px!important;padding:17px!important;}
body.nex-page-transactions .stat b{font-size:22px!important;}

/* Desktop: ocupar o espaço disponível de forma controlada. */
@media(min-width:980px){
  body.nex-page-dashboard{padding:24px 28px!important;}
  body.nex-page-dashboard .container{max-width:1580px!important;}
  body.nex-page-dashboard .grid{gap:18px!important;}
  body.nex-page-dashboard .grid > .card{min-height:146px!important;padding:22px!important;}
  body.nex-page-dashboard .chart-card{padding:24px!important;}

  body.nex-page-users .container{max-width:1160px!important;margin-inline:auto!important;}
  body.nex-page-users .header{margin-bottom:30px!important;}
  body.nex-page-users .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;}
  body.nex-page-users .card{min-height:178px!important;padding:28px!important;border-radius:24px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
  body.nex-page-users .card i{font-size:28px!important;margin-bottom:14px!important;}
  body.nex-page-users .card-title{font-size:18px!important;}
  body.nex-page-users .card-desc{font-size:13px!important;margin-top:7px!important;}
  body.nex-page-users .title{font-size:26px!important;}
  body.nex-page-users .sub{font-size:14px!important;}

  body.nex-page-transactions :is(.wrap,.container){max-width:1420px!important;width:100%!important;margin-inline:auto!important;}
  body.nex-page-transactions .stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;}

  body.nex-page-saque :is(.wrap,.container){max-width:1180px!important;width:100%!important;}
  body.nex-page-pdv :is(.wrap,.container){max-width:1040px!important;width:100%!important;}
  body.nex-page-terminal :is(.wrap,.container){max-width:1180px!important;width:100%!important;}
  body.nex-page-workspace :is(.card,.box,.panel){padding:22px!important;}
}

/* Mobile continua compacto e natural. */
@media(max-width:900px){
  .nex-ambient{opacity:.075!important;}
  .nex-ambient .nex-bg-item{font-size:clamp(44px,13vw,70px)!important;opacity:.46;}
  .nex-ambient .nex-bg-11,.nex-ambient .nex-bg-13,.nex-ambient .nex-bg-15,.nex-ambient .nex-bg-16{display:grid!important;}
  .nex-ambient .nex-bg-4,.nex-ambient .nex-bg-8,.nex-ambient .nex-bg-12,.nex-chip-1,.nex-chip-2,.nex-controller-2,.nex-slot-3,.nex-seven-4{display:none!important;}
  .nex-bg-11{left:66%!important;top:15%!important}.nex-bg-13{left:9%!important;top:54%!important}.nex-bg-15{left:80%!important;top:69%!important}.nex-bg-16{left:45%!important;top:88%!important}
  .nex-controller-1{left:79%!important;top:45%!important;font-size:48px!important;opacity:.13!important;}
  body.nex-page-users .container{max-width:100%!important;}
  body.nex-page-users .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  body.nex-page-users .card{min-height:138px!important;padding:16px!important;}
  body.nex-page-transactions .table{overflow:visible!important;}
  body.nex-page-transactions .nex-tx-row{padding:15px!important;border-radius:17px!important;}
}
@media(max-width:390px){
  body.nex-page-users .grid{grid-template-columns:1fr!important;}
  body.nex-page-users .card{min-height:118px!important;}
}
html[data-nex-theme="dark"] body.nex-ui-polish .nex-tx-row{
  background:linear-gradient(145deg,#101c2f,#0b1728)!important;
  border-color:rgba(148,163,184,.14)!important;
}


/* =========================================================
   NEX BANK v4.4.7 — light cleanup, suporte e transações recentes
   ========================================================= */
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .regras,.resumo,.rules,.balance-box,.historico-btn,.history-btn,
  .modal-content,.modalbox,.support-card,.chat,.alert,.security,.notice
){
  background:linear-gradient(145deg,#ffffff,#f7faff)!important;
  color:#1f2b3d!important;
  border-color:rgba(51,65,85,.11)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.055)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.regras,.resumo,.rules,.balance-box) :is(span,small,.label,.balance-label){
  color:#607089!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.regras,.resumo,.rules,.balance-box) :is(b,strong,.saldo,.balance){
  color:#172033!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .historico-btn,
html[data-nex-theme="light"] body.nex-ui-polish .history-btn{
  color:#334155!important;
}

html[data-nex-theme="light"] body.nex-ui-polish .modal-bg{
  background:rgba(15,23,42,.30)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .modal-bg > .modal{
  background:linear-gradient(145deg,#ffffff,#f7faff)!important;
  color:#172033!important;
  border-color:rgba(51,65,85,.12)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.16)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .modal-bg > .modal :is(h1,h2,h3,.nome,strong){
  color:#172033!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .modal-bg > .modal .cancel{
  background:#f8fafc!important;
  color:#334155!important;
  border-color:rgba(51,65,85,.12)!important;
}

html[data-nex-theme="dark"] body.nex-ui-polish .modal-bg{
  background:rgba(3,10,22,.76)!important;
}
html[data-nex-theme="dark"] body.nex-ui-polish .modal-bg > .modal,
html[data-nex-theme="dark"] body.nex-ui-polish .modalbox,
html[data-nex-theme="dark"] body.nex-ui-polish .box{
  background:linear-gradient(145deg,#101c2f,#091523)!important;
  border-color:rgba(148,163,184,.14)!important;
}

html[data-nex-theme="light"] body.nex-ui-polish .card > .icon,
html[data-nex-theme="light"] body.nex-ui-polish .grid .card .icon,
html[data-nex-theme="light"] body.nex-ui-polish .metric-card .icon{
  background:#f2f7fd!important;
  border-color:rgba(51,65,85,.09)!important;
  box-shadow:none!important;
}
html[data-nex-theme="dark"] body.nex-ui-polish .card > .icon,
html[data-nex-theme="dark"] body.nex-ui-polish .grid .card .icon,
html[data-nex-theme="dark"] body.nex-ui-polish .metric-card .icon{
  background:#0c1829!important;
  border-color:rgba(148,163,184,.10)!important;
}

html[data-nex-theme="dark"] body.nex-ui-polish .box .qr{background:#fff!important;}
html[data-nex-theme="light"] body.nex-ui-polish .box .qr{background:#fff!important;}
html[data-nex-theme="light"] body.nex-ui-polish .copy{
  background:#eef5ff!important;color:#2563eb!important;border-color:rgba(37,99,235,.20)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .close{
  background:#f8fafc!important;color:#64748b!important;border-color:rgba(51,65,85,.10)!important;
}

html[data-nex-theme="light"] body.nex-ui-polish .nex-recent-card{
  background:linear-gradient(145deg,#fff,#f8fbff)!important;
  color:#172033!important;
  border-color:rgba(51,65,85,.10)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.055)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .nex-recent-row{
  background:#fbfdff!important;
  border-color:rgba(51,65,85,.08)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .nex-recent-name,
html[data-nex-theme="light"] body.nex-ui-polish .nex-recent-money{color:#172033!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.nex-recent-id,.nex-recent-net,.nex-recent-date,.nex-recent-head span){color:#64748b!important;}

@media(min-width:980px){
  body.nex-page-dashboard .nex-recent-card{padding:22px!important;}
  body.nex-page-dashboard .nex-recent-row{min-height:68px!important;}
}
@media(max-width:700px){
  body.nex-page-dashboard .nex-recent-card{margin-top:14px!important;}
}
body.nex-page-workspace .alert{border-radius:18px!important;line-height:1.55!important;}


/* =========================================================
   NEX BANK v4.4.8 — consistência visual final e desktop fill
   ========================================================= */
:root{
  --nex-448-light-card:#ffffff;
  --nex-448-light-soft:#f3f7fc;
  --nex-448-light-soft-2:#eaf1f9;
  --nex-448-light-text:#172033;
  --nex-448-light-muted:#52627a;
  --nex-448-light-border:rgba(51,65,85,.12);
  --nex-448-dark-card:#101c2f;
  --nex-448-dark-card-2:#0b1728;
  --nex-448-dark-soft:#13243a;
}

/* Marca: NEX azul + BANK legível em qualquer superfície clara. */
.nex-brand-lockup{display:inline-flex!important;align-items:center!important;gap:.28em!important;white-space:nowrap!important;}
.nex-brand-nex{
  color:#2f80ed!important;
  background:linear-gradient(180deg,#52a5ff,#1769e8)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
}
.nex-brand-bank{
  margin-left:.18em!important;
  color:#e5e7eb!important;
  background:linear-gradient(180deg,#f8fafc,#aeb8c8)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
}
html[data-nex-theme="light"] .nex-brand-bank,
html[data-nex-theme="light"] .logo-text .bank,
html[data-nex-theme="light"] .topbar .bank{
  color:#344256!important;
  background:linear-gradient(180deg,#253247,#68768b)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  filter:none!important;text-shadow:none!important;opacity:1!important;
}
html[data-nex-theme="light"] .nex-mobile-brand{color:#344256!important;}
html[data-nex-theme="light"] .nex-mobile-menu{color:#243147!important;opacity:1!important;}

/* Superfícies auxiliares: nenhum preto chapado no tema claro. */
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .regras,.resumo,.rules,.rule,.balance-box,.config-box,.alerta,.alert,.notice,.security,
  .historico-btn,.history-btn,.modalbox,.modal-box,.modal .box,.box,.item-icon,.ico,
  .copy,.close,.fechar,.status,.pix-status,.create,.links,.list,.filters
){
  background:linear-gradient(145deg,var(--nex-448-light-card),var(--nex-448-light-soft))!important;
  color:var(--nex-448-light-text)!important;
  border-color:var(--nex-448-light-border)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.regras,.resumo,.rules,.balance-box,.config-box,.alerta,.alert,.notice,.security) :is(span,small,.label,.balance-label,.muted){
  color:var(--nex-448-light-muted)!important;opacity:1!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.regras,.resumo,.rules,.balance-box,.config-box) :is(b,strong,.saldo,.balance,.rule-title,.config-title){
  color:var(--nex-448-light-text)!important;opacity:1!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .config-box,
html[data-nex-theme="light"] body.nex-ui-polish .rules{
  background:linear-gradient(145deg,#f8fbff,#edf4fc)!important;
  border-color:rgba(59,130,246,.18)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .config-box :is(.config-title,b,strong,span[style]){
  color:#41516a!important;-webkit-text-fill-color:currentColor!important;opacity:1!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .config-box .config-title{color:#334155!important;font-weight:750!important;}
html[data-nex-theme="light"] body.nex-ui-polish .historico-btn,
html[data-nex-theme="light"] body.nex-ui-polish .history-btn{
  background:#f4f8fd!important;color:#40516a!important;border-color:rgba(51,65,85,.12)!important;
}

/* No escuro, profundidade azul-grafite em vez de #000. */
html[data-nex-theme="dark"] body.nex-ui-polish :is(
  .regras,.resumo,.rules,.rule,.balance-box,.config-box,.alerta,.alert,.notice,.security,
  .historico-btn,.history-btn,.modalbox,.modal-box,.modal .box,.box,.item-icon,.ico,
  .copy,.close,.fechar,.status,.pix-status,.create,.links,.list,.filters
){
  background:linear-gradient(145deg,var(--nex-448-dark-card),var(--nex-448-dark-card-2))!important;
  border-color:rgba(148,163,184,.13)!important;
}
html[data-nex-theme="dark"] body.nex-ui-polish :is(.item-icon,.ico){box-shadow:inset 0 0 0 1px rgba(148,163,184,.05)!important;}

/* Configurações: ícones integrados ao tema e mais presença no desktop. */
html[data-nex-theme="light"] body.nex-page-settings .item-icon{
  background:#eef4fb!important;border-color:rgba(51,65,85,.10)!important;box-shadow:none!important;
}
html[data-nex-theme="dark"] body.nex-page-settings .item-icon{
  background:#0d1b2e!important;border-color:rgba(148,163,184,.12)!important;box-shadow:none!important;
}
body.nex-page-settings .item{border-width:1px!important;}
body.nex-page-settings .item .right{color:var(--nex-muted)!important;}

/* Modais claros/escuros e QR com escala adequada ao desktop. */
html[data-nex-theme="light"] body.nex-ui-polish :is(.modal,.modal-bg){background:rgba(15,23,42,.24)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;}
html[data-nex-theme="dark"] body.nex-ui-polish :is(.modal,.modal-bg){background:rgba(3,9,19,.68)!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important;}
html[data-nex-theme="light"] body.nex-ui-polish :is(.modalbox,.modal-box,.modal .box,.modal-bg>.modal){
  background:linear-gradient(145deg,#fff,#f7faff)!important;color:#172033!important;border-color:rgba(51,65,85,.13)!important;
}
html[data-nex-theme="dark"] body.nex-ui-polish :is(.modalbox,.modal-box,.modal .box,.modal-bg>.modal){
  background:linear-gradient(145deg,#111f34,#091522)!important;color:#f8fafc!important;border-color:rgba(148,163,184,.14)!important;
}
body.nex-ui-polish :is(.qr,.qr-box){background:#fff!important;box-shadow:0 12px 30px rgba(15,23,42,.10)!important;}

/* Tabelas: preenchimento, hierarquia e linhas mais sutis. */
body.nex-page-transactions .table{width:100%!important;}
body.nex-page-transactions .row{column-gap:18px!important;}
html[data-nex-theme="light"] body.nex-page-transactions :is(.table,.row,.nex-tx-table,.nex-tx-row){border-color:rgba(71,85,105,.10)!important;}
html[data-nex-theme="light"] body.nex-page-transactions .row.h{background:#f5f8fc!important;color:#5d6b80!important;}
html[data-nex-theme="light"] body.nex-page-transactions .row:not(.h){color:#263449!important;}
html[data-nex-theme="dark"] body.nex-page-transactions .row.h{color:#8fa0b8!important;background:rgba(148,163,184,.025)!important;}

/* Fundos mais ricos e variados, ainda discretos. */
.nex-ambient .nex-bg-17{left:57%;top:12%;--r:5deg;color:#60a5fa;}
.nex-ambient .nex-bg-18{left:31%;top:29%;--r:-8deg;color:#f59e0b;}
.nex-ambient .nex-bg-19{left:5%;top:48%;--r:8deg;color:#22c55e;}
.nex-ambient .nex-bg-20{left:94%;top:48%;--r:-8deg;color:#06b6d4;}
.nex-ambient .nex-bg-21{left:61%;top:88%;--r:6deg;color:#8b5cf6;}
.nex-ambient .nex-bg-22{left:42%;top:53%;--r:-9deg;color:#60a5fa;}
.nex-ambient .nex-bg-23{left:18%;top:91%;--r:7deg;color:#22c55e;}
.nex-ambient .nex-bg-24{left:88%;top:91%;--r:-6deg;color:#f59e0b;}
.nex-controller-3{position:absolute;left:48%;top:77%;font-size:clamp(38px,4vw,72px);opacity:.16;transform:translate(-50%,-50%) rotate(-8deg);filter:grayscale(1);}
.nex-dice-1{position:absolute;left:78%;top:66%;font-size:clamp(34px,3.7vw,64px);opacity:.14;transform:translate(-50%,-50%) rotate(8deg);filter:grayscale(1);}
.nex-chip-3,.nex-chip-4{position:absolute;font:700 clamp(34px,3.4vw,60px)/1 system-ui;opacity:.12;filter:grayscale(1);}
.nex-chip-3{left:53%;top:30%;transform:rotate(10deg);}.nex-chip-4{left:88%;top:28%;transform:rotate(-8deg);}
html[data-nex-theme="light"] .nex-ambient{opacity:.105!important;}
html[data-nex-theme="light"] .nex-ambient .nex-bg-item{opacity:.72!important;}
html[data-nex-theme="light"] :is(.nex-controller-3,.nex-dice-1,.nex-chip-3,.nex-chip-4){opacity:.10!important;}

/* Desktop: páginas antigas passam a ocupar o monitor como as telas já refinadas. */
@media(min-width:1100px){
  body.nex-page-users :is(.container,.wrap){width:min(1380px,calc(100vw - 72px))!important;max-width:1380px!important;margin-inline:auto!important;}
  body.nex-page-users .grid{gap:24px!important;}
  body.nex-page-users .card{min-height:210px!important;padding:34px!important;border-radius:26px!important;}
  body.nex-page-users .card i{font-size:31px!important;margin-bottom:15px!important;}
  body.nex-page-users .card-title{font-size:20px!important;}
  body.nex-page-users .card-desc{font-size:14px!important;line-height:1.5!important;}

  body.nex-page-finance :is(.container,.wrap){width:min(1280px,calc(100vw - 72px))!important;max-width:1280px!important;margin-inline:auto!important;}
  body.nex-page-finance .grid{gap:22px!important;}
  body.nex-page-finance .card{min-height:205px!important;padding:30px!important;border-radius:24px!important;}
  body.nex-page-finance .card i{font-size:28px!important;}
  body.nex-page-finance .card-title{font-size:19px!important;margin-top:10px!important;}
  body.nex-page-finance .card-desc{font-size:13px!important;margin-top:7px!important;}

  body.nex-page-settings :is(.container,.wrap){width:min(1120px,calc(100vw - 72px))!important;max-width:1120px!important;margin-inline:auto!important;}
  body.nex-page-settings .card{padding:26px!important;border-radius:26px!important;}
  body.nex-page-settings .menu{gap:14px!important;}
  body.nex-page-settings .item{min-height:94px!important;padding:20px 22px!important;border-radius:22px!important;}
  body.nex-page-settings .item-icon{width:56px!important;height:56px!important;border-radius:17px!important;}
  body.nex-page-settings .text strong{font-size:17px!important;}
  body.nex-page-settings .text span{font-size:13px!important;}

  body.nex-page-transactions :is(.wrap,.container){width:min(1540px,calc(100vw - 64px))!important;max-width:1540px!important;margin-inline:auto!important;}
  body.nex-page-transactions .stats{gap:18px!important;}
  body.nex-page-transactions .stat{min-height:122px!important;padding:22px!important;border-radius:22px!important;}
  body.nex-page-transactions .card{padding:22px!important;}
  body.nex-page-transactions .table{min-height:360px!important;}
  body.nex-page-transactions .row{padding:18px 18px!important;}

  body.nex-page-pdv :is(.wrap,.container){width:min(980px,calc(100vw - 72px))!important;max-width:980px!important;margin-inline:auto!important;}
  body.nex-page-pdv .card{padding:28px!important;border-radius:24px!important;}
  body.nex-page-pdv .field input,body.nex-page-pdv .input{min-height:54px!important;}
  body.nex-page-pdv .btn{min-height:54px!important;}

  body.nex-page-saque :is(.wrap,.container){width:min(1040px,calc(100vw - 72px))!important;max-width:1040px!important;margin-inline:auto!important;}
  body.nex-page-saque .card{padding:28px!important;border-radius:24px!important;}

  body.nex-page-workspace:not(.nex-page-pdv):not(.nex-page-saque):not(.nex-page-settings) :is(.container,.wrap){max-width:1280px!important;}

  body.nex-ui-polish .modal .box,
  body.nex-ui-polish .modal-box,
  body.nex-ui-polish .modalbox{width:min(560px,calc(100vw - 48px))!important;max-width:560px!important;padding:26px!important;border-radius:26px!important;}
  body.nex-ui-polish :is(.modal .qr,.modal .qr-box){padding:18px!important;border-radius:20px!important;}
  body.nex-ui-polish :is(.modal .qr canvas,.modal .qr-box canvas){width:320px!important;height:320px!important;max-width:100%!important;}
  body.nex-ui-polish .modal .copy{min-height:52px!important;font-size:15px!important;}
}

/* Mobile: mantém densidade confortável e não herda o aumento do desktop. */
@media(max-width:900px){
  body.nex-page-users :is(.container,.wrap),
  body.nex-page-finance :is(.container,.wrap),
  body.nex-page-settings :is(.container,.wrap),
  body.nex-page-transactions :is(.container,.wrap),
  body.nex-page-pdv :is(.container,.wrap),
  body.nex-page-saque :is(.container,.wrap){width:100%!important;max-width:100%!important;}
  body.nex-page-settings .item{min-height:0!important;}
  body.nex-ui-polish :is(.modal .box,.modal-box,.modalbox){max-width:calc(100vw - 20px)!important;}
  body.nex-ui-polish :is(.modal .qr canvas,.modal .qr-box canvas){max-width:100%!important;height:auto!important;}
  .nex-ambient .nex-bg-17,.nex-ambient .nex-bg-19,.nex-ambient .nex-bg-21,.nex-ambient .nex-bg-24,.nex-controller-3,.nex-dice-1,.nex-chip-3,.nex-chip-4{display:none!important;}
}


/* =========================================================
   NEX BANK v4.4.9 — contraste, status, linhas e fluidez
   ========================================================= */
:root{
  --nex-449-light-text:#142033;
  --nex-449-light-muted:#44536a;
  --nex-449-light-soft:#5d6c82;
  --nex-449-light-line:rgba(51,65,85,.075);
  --nex-449-light-line-strong:rgba(51,65,85,.11);
  --nex-449-dark-line:rgba(148,163,184,.11);
}

/* Tema claro: textos deixam de parecer lavados. */
html[data-nex-theme="light"]{
  --nex-text:var(--nex-449-light-text)!important;
  --nex-muted:var(--nex-449-light-muted)!important;
  --nex-soft:var(--nex-449-light-soft)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish{
  color:var(--nex-449-light-text)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  h1,h2,h3,h4,.title,.titulo,.card-title,.section-title,.box-title,.rule-title,.nome,strong,.value,.valor,.amount
){
  color:var(--nex-449-light-text)!important;
  opacity:1!important;
  -webkit-text-fill-color:currentColor;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .sub,.subtitle,.muted,.card-desc,.desc,.data,.label,.field label,.box-sub,.balance-label,.nex-tx-label,small
){
  color:var(--nex-449-light-muted)!important;
  opacity:1!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(input,select,textarea,.input)::placeholder{
  color:#65748a!important;
  opacity:1!important;
}

/* Alternador de tema compacto e preso ao shell, sem estouro visual. */
.nex-theme-toggle{
  width:32px!important;height:32px!important;min-width:32px!important;flex:0 0 32px!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 4px 12px rgba(15,23,42,.10)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.nex-theme-toggle i{font-size:16px!important;line-height:1!important;filter:none!important;text-shadow:none!important;}
.sidebar .logo .nex-theme-toggle,.sidebar .logo-top .nex-theme-toggle{margin-left:10px!important;margin-right:2px!important;}
.nex-mobile-shellbar .nex-theme-toggle,.topbar .nex-theme-toggle{margin-left:auto!important;margin-right:0!important;}
body.nex-page-login .card > .nex-theme-toggle{right:12px!important;top:12px!important;}
@media(max-width:900px){
  .nex-theme-toggle{width:32px!important;height:32px!important;min-width:32px!important;}
}

/* Fundo: grade visual estável, sem ícones montados uns sobre os outros. */
.nex-ambient .nex-bg-item{font-size:clamp(42px,4.4vw,76px)!important;opacity:.50!important;}
.nex-ambient .nex-bg-1{left:7%!important;top:14%!important}
.nex-ambient .nex-bg-2{left:22%!important;top:31%!important}
.nex-ambient .nex-bg-3{left:8%!important;top:63%!important}
.nex-ambient .nex-bg-4{left:31%!important;top:78%!important}
.nex-ambient .nex-bg-5{left:43%!important;top:16%!important}
.nex-ambient .nex-bg-6{left:55%!important;top:36%!important}
.nex-ambient .nex-bg-7{left:72%!important;top:17%!important}
.nex-ambient .nex-bg-8{left:88%!important;top:34%!important}
.nex-ambient .nex-bg-9{left:69%!important;top:62%!important}
.nex-ambient .nex-bg-10{left:91%!important;top:79%!important}
.nex-ambient .nex-bg-11{left:48%!important;top:88%!important}
.nex-ambient .nex-bg-12{left:18%!important;top:91%!important}
.nex-ambient .nex-bg-13{left:4%!important;top:42%!important}
.nex-ambient .nex-bg-14{left:96%!important;top:55%!important}
.nex-ambient .nex-bg-15{left:38%!important;top:52%!important}
.nex-ambient .nex-bg-16{left:80%!important;top:91%!important}
.nex-ambient .nex-bg-17,.nex-ambient .nex-bg-18,.nex-ambient .nex-bg-19,.nex-ambient .nex-bg-20,
.nex-ambient .nex-bg-21,.nex-ambient .nex-bg-22,.nex-ambient .nex-bg-23,.nex-ambient .nex-bg-24{display:none!important;}
.nex-controller-1{left:84%!important;top:70%!important;opacity:.11!important;}
.nex-controller-2,.nex-controller-3,.nex-dice-1,.nex-chip-1,.nex-chip-2,.nex-chip-3,.nex-chip-4{display:none!important;}
.nex-seven-1{left:61%!important;top:48%!important;opacity:.11!important;}
.nex-seven-2{left:15%!important;top:75%!important;opacity:.09!important;}
.nex-seven-3{left:89%!important;top:13%!important;opacity:.08!important;}
.nex-seven-4{display:none!important;}
.nex-slot-1{left:57%!important;top:75%!important;opacity:.09!important;}
.nex-slot-2{left:94%!important;top:28%!important;opacity:.07!important;}
.nex-slot-3{left:27%!important;top:10%!important;opacity:.07!important;}
html[data-nex-theme="light"] .nex-ambient{opacity:.075!important;}
html[data-nex-theme="light"] .nex-ambient .nex-bg-item{opacity:.46!important;}
@media(max-width:900px){
  .nex-ambient .nex-bg-2,.nex-ambient .nex-bg-4,.nex-ambient .nex-bg-6,.nex-ambient .nex-bg-8,
  .nex-ambient .nex-bg-10,.nex-ambient .nex-bg-12,.nex-ambient .nex-bg-14,.nex-ambient .nex-bg-16,
  .nex-slot-2,.nex-slot-3{display:none!important;}
  .nex-ambient .nex-bg-item{font-size:clamp(38px,10vw,58px)!important;opacity:.34!important;}
  .nex-seven-1{left:72%!important;top:60%!important;font-size:72px!important;}
  .nex-seven-2{left:18%!important;top:78%!important;font-size:54px!important;}
  .nex-seven-3{display:none!important;}
}

/* Modo claro: elimina as últimas faixas pretas (integrações/API e auxiliares). */
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .doc-btn,.value,.code-box,.api-key,.secret-key,.webhook-box,.box-icon,.actions .btn,.btn.alt,.live,.filter,
  .history-btn,.historico-btn,.status,.pix-status
){
  background:#f3f7fc!important;
  color:#26364d!important;
  border-color:var(--nex-449-light-line-strong)!important;
  box-shadow:none!important;
}
html[data-nex-theme="light"] body.nex-ui-polish .value .code{color:#26364d!important;}
html[data-nex-theme="light"] body.nex-ui-polish .box-icon{background:#edf3fa!important;}
html[data-nex-theme="light"] body.nex-ui-polish .doc-btn:hover,
html[data-nex-theme="light"] body.nex-ui-polish .actions .btn:hover{background:#e8f1ff!important;border-color:rgba(37,99,235,.22)!important;}

/* Solicitar saque: remove o efeito de muitas caixas/linhas dentro de caixas. */
body.nex-page-saque .rules{
  border:1px solid var(--nex-border)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.nex-page-saque .rule{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-bottom:1px solid var(--nex-dark-line)!important;
  border-radius:0!important;
  padding:12px 2px!important;
}
body.nex-page-saque .rule:last-child{border-bottom:0!important;}
body.nex-page-saque .input-box{background:transparent!important;box-shadow:none!important;border:0!important;}
html[data-nex-theme="light"] body.nex-page-saque .rules{border-color:var(--nex-449-light-line-strong)!important;background:#f8fbff!important;}
html[data-nex-theme="light"] body.nex-page-saque .rule{border-bottom-color:var(--nex-449-light-line)!important;}
html[data-nex-theme="light"] body.nex-page-saque .balance-box{border-color:var(--nex-449-light-line-strong)!important;box-shadow:none!important;}
html[data-nex-theme="light"] body.nex-page-saque .input{border-color:var(--nex-449-light-line-strong)!important;box-shadow:none!important;}
html[data-nex-theme="dark"] body.nex-page-saque .rule{border-bottom-color:rgba(148,163,184,.08)!important;}

/* Terminal/PDV: regras legíveis sem contorno escuro exagerado. */
html[data-nex-theme="light"] body.nex-page-terminal :is(.config-box,.rules,.rule,.notice,.alert){
  border-color:var(--nex-449-light-line-strong)!important;
  box-shadow:none!important;
}
html[data-nex-theme="light"] body.nex-page-terminal :is(.config-title,.rule-title,strong,b){color:#213047!important;}
html[data-nex-theme="light"] body.nex-page-terminal :is(.config-box,.rules) :is(span,small,.muted){color:#52627a!important;opacity:1!important;}

/* Status premium e consistentes no sistema todo. */
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="pending"],
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).pendente{
  color:#a16207!important;background:rgba(250,204,21,.18)!important;border-color:rgba(202,138,4,.18)!important;
}
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="paid"],
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).pago,
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).aprovado,
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).approved{
  color:#15803d!important;background:rgba(34,197,94,.16)!important;border-color:rgba(21,128,61,.15)!important;
}
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="failed"],
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="expired"],
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).falha,
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).recusado,
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).rejected{
  color:#b91c1c!important;background:rgba(239,68,68,.14)!important;border-color:rgba(185,28,28,.13)!important;
}
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).refunded,
body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).estornado{
  color:#6d28d9!important;background:rgba(139,92,246,.14)!important;border-color:rgba(109,40,217,.13)!important;
}
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="pending"],
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).pendente{color:#fde047!important;background:rgba(234,179,8,.13)!important;}
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="paid"],
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).aprovado,
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).approved{color:#4ade80!important;background:rgba(34,197,94,.12)!important;}
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="failed"],
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge)[class*="expired"],
html[data-nex-theme="dark"] body.nex-ui-polish :is(.pill,.status,.nex-recent-status,.badge).recusado{color:#f87171!important;background:rgba(239,68,68,.11)!important;}

/* Dashboard PRO: últimos movimentos ficam com badge, sem borda preta chamativa. */
body.nex-page-dashboard .lista .item{border-color:rgba(148,163,184,.09)!important;box-shadow:none!important;}
html[data-nex-theme="light"] body.nex-page-dashboard .lista .item{border-color:var(--nex-449-light-line)!important;background:#fbfdff!important;}
body.nex-page-dashboard .lista .status{display:inline-flex!important;align-items:center!important;border:1px solid transparent!important;}

/* Tabelas e linhas mais sutis, mantendo separação suficiente. */
html[data-nex-theme="light"] body.nex-page-transactions :is(.row,.nex-tx-row){
  border-color:var(--nex-449-light-line)!important;
  border-bottom-color:var(--nex-449-light-line)!important;
}
html[data-nex-theme="dark"] body.nex-page-transactions :is(.row,.nex-tx-row){border-color:rgba(148,163,184,.08)!important;}
body.nex-page-transactions .row{box-shadow:none!important;}
body.nex-page-transactions .nex-tx-row{box-shadow:none!important;}

/* Menus claros ganham contraste real, sem ficar cinza demais. */
html[data-nex-theme="light"] body.nex-ui-polish .menu-item{color:#26364d!important;}
html[data-nex-theme="light"] body.nex-ui-polish .menu-text strong{color:#172033!important;opacity:1!important;}
html[data-nex-theme="light"] body.nex-ui-polish .menu-text span{color:#52627a!important;opacity:1!important;}
html[data-nex-theme="light"] body.nex-ui-polish .menu-item:hover{background:#eaf2ff!important;color:#172033!important;}
html[data-nex-theme="light"] body.nex-ui-polish .menu-item.active{background:#dfeaff!important;color:#172033!important;}

/* Fluidez: reduz trabalho de composição nas trocas de tela. */
body.nex-ui-polish :is(.card,.panel,.box,.chart-card,.stats-card,.metric-card,.grid-card,.support-card,.item){
  transition:border-color .12s ease,background-color .12s ease,transform .12s ease!important;
}
body.nex-ui-polish :is(.card,.panel,.box,.chart-card,.stats-card,.metric-card,.grid-card,.support-card):hover{transform:none!important;}
.nex-ambient{filter:none!important;contain:strict;}
@media(prefers-reduced-motion:reduce){.nex-ambient{display:none!important;}}

/* v4.4.9 complemento: controles auxiliares também usam azul-grafite no escuro. */
html[data-nex-theme="dark"] body.nex-ui-polish :is(.doc-btn,.value,.code-box,.api-key,.secret-key,.webhook-box,.box-icon,.actions .btn,.btn.alt){
  background:#0d1a2c!important;
  color:#e8eef8!important;
  border-color:rgba(148,163,184,.11)!important;
  box-shadow:none!important;
}
html[data-nex-theme="dark"] body.nex-ui-polish .value .code{color:#dbe5f3!important;}


/* =========================================================
   NEX BANK v4.5.1 — shell unificado + gateway sync + estabilidade
   ========================================================= */
:root{
  --nex-sidebar-w:260px;
  --nex-shell-gap:7px;
  --nex-451-blue:#3b82f6;
  --nex-451-green:#22c55e;
  --nex-451-red:#ef4444;
  --nex-451-amber:#f59e0b;
}

/* O menu do Admin é a referência visual para ROOT / Gerente / Operador. */
@media(min-width:901px){
  body.nex-shell-page > .sidebar{
    width:var(--nex-sidebar-w)!important;
    min-width:var(--nex-sidebar-w)!important;
    padding:18px 14px!important;
    overflow-y:auto!important;
  }
  body.nex-shell-page > .main{min-width:0!important;}
}
body.nex-shell-page .sidebar .logo,
body.nex-shell-page .sidebar .logo-top{
  min-height:44px!important;
  padding:0 4px 14px!important;
  margin:0 0 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-bottom:1px solid rgba(148,163,184,.10)!important;
}
body.nex-shell-page .sidebar .logo-box{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
body.nex-shell-page .sidebar :is(.logo img,.logo-img,.logo-img img){width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;border-radius:10px!important;object-fit:cover!important;box-shadow:none!important;}
body.nex-shell-page .sidebar .logo-text{min-width:0!important;display:flex!important;align-items:center!important;}
body.nex-shell-page .sidebar .logo-text strong,
body.nex-shell-page .sidebar .logo-text{font-size:16px!important;font-weight:800!important;letter-spacing:.02em!important;line-height:1!important;white-space:nowrap!important;}
body.nex-shell-page .sidebar .nex-theme-toggle{width:32px!important;height:32px!important;min-width:32px!important;margin-left:auto!important;border-radius:10px!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body.nex-shell-page .sidebar .nex-theme-toggle i{font-size:15px!important;}
body.nex-shell-page .sidebar .user{
  padding:11px 12px!important;
  margin:0 0 13px!important;
  border-radius:11px!important;
  min-height:auto!important;
  box-shadow:none!important;
}
body.nex-shell-page .sidebar .user strong{display:inline!important;font-size:12px!important;font-weight:750!important;line-height:1.3!important;}
body.nex-shell-page .sidebar .user small{font-size:10px!important;line-height:1.25!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
body.nex-shell-page .sidebar :is(.user-top,.avatar,.painel,.badge,.badge-dot){display:none!important;}
body.nex-shell-page .sidebar .menu{display:block!important;padding:0!important;margin:0!important;}
body.nex-shell-page .sidebar .menu-item{
  width:100%!important;
  min-height:43px!important;
  margin:0 0 var(--nex-shell-gap)!important;
  padding:10px 11px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  font-size:12.5px!important;
  font-weight:650!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
body.nex-shell-page .sidebar .menu-item > i{font-size:17px!important;width:20px!important;text-align:center!important;}
body.nex-shell-page .sidebar .menu-left{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;}
body.nex-shell-page .sidebar .menu-icon{width:20px!important;height:20px!important;min-width:20px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:grid!important;place-items:center!important;}
body.nex-shell-page .sidebar .menu-icon i{font-size:17px!important;}
body.nex-shell-page .sidebar .menu-text{display:block!important;min-width:0!important;}
body.nex-shell-page .sidebar .menu-text strong{font-size:12.5px!important;font-weight:650!important;white-space:nowrap!important;}
body.nex-shell-page .sidebar .menu-text span,
body.nex-shell-page .sidebar .menu-right{display:none!important;}
body.nex-shell-page .sidebar .divider{display:none!important;}
body.nex-shell-page .sidebar .support-card{
  padding:10px 11px!important;margin:0 0 7px!important;min-height:43px!important;border-radius:9px!important;box-shadow:none!important;cursor:pointer!important;
}
body.nex-shell-page .sidebar .support-top{display:flex!important;align-items:center!important;gap:10px!important;}
body.nex-shell-page .sidebar .support-icon{width:20px!important;height:20px!important;min-width:20px!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;}
body.nex-shell-page .sidebar .support-icon i{font-size:17px!important;}
body.nex-shell-page .sidebar .support-text strong{font-size:12.5px!important;font-weight:650!important;}
body.nex-shell-page .sidebar .support-text span{display:none!important;}
body.nex-shell-page .sidebar .sidebar-footer{padding:8px 0 0!important;margin-top:auto!important;}
body.nex-shell-page .sidebar .logout{
  min-height:42px!important;padding:10px 11px!important;margin:8px 0 0!important;border-radius:9px!important;font-size:12.5px!important;font-weight:650!important;gap:9px!important;box-shadow:none!important;
}

/* Toggle menor e calmo em qualquer contexto. */
.nex-theme-toggle{box-shadow:none!important;filter:none!important;text-shadow:none!important;}
.nex-theme-toggle i{filter:none!important;text-shadow:none!important;}

/* Fundo: mais distribuído no desktop, reduzido no mobile, sem sobreposição visual forte. */
.nex-ambient{opacity:.072!important;contain:strict!important;}
.nex-ambient .nex-bg-item{font-size:clamp(40px,4.6vw,76px)!important;opacity:.42!important;}
.nex-ambient .nex-bg-17{display:grid!important;left:56%!important;top:10%!important;}
.nex-ambient .nex-bg-18{display:grid!important;left:30%!important;top:29%!important;}
.nex-ambient .nex-bg-19{display:grid!important;left:4%!important;top:57%!important;}
.nex-ambient .nex-bg-20{display:grid!important;left:54%!important;top:61%!important;}
.nex-ambient .nex-bg-21{display:grid!important;left:84%!important;top:47%!important;}
.nex-ambient .nex-bg-22{display:grid!important;left:41%!important;top:78%!important;}
.nex-ambient .nex-bg-23{display:grid!important;left:72%!important;top:88%!important;}
.nex-ambient .nex-bg-24{display:grid!important;left:10%!important;top:91%!important;}
.nex-ambient-pix{
  position:absolute;transform:translate(-50%,-50%) rotate(var(--r,0deg));
  font:800 clamp(30px,3.4vw,54px)/1 "Segoe UI",system-ui,sans-serif;
  letter-spacing:-.08em;color:#22c55e;opacity:.22;
  -webkit-text-stroke:1px rgba(34,197,94,.55);-webkit-text-fill-color:transparent;
}
.nex-pix-1{left:19%;top:14%;--r:-8deg}.nex-pix-2{left:64%;top:34%;--r:7deg}.nex-pix-3{left:91%;top:66%;--r:-6deg}
.nex-controller-1{left:78%!important;top:20%!important;opacity:.10!important}.nex-controller-2{display:block!important;left:26%!important;top:66%!important;opacity:.08!important}.nex-controller-3{display:block!important;left:93%!important;top:12%!important;opacity:.07!important}
.nex-dice-1{display:block!important;left:46%!important;top:94%!important;opacity:.07!important}
.nex-slot-1{left:63%!important;top:73%!important}.nex-slot-2{left:94%!important;top:37%!important}.nex-slot-3{left:35%!important;top:8%!important}
.nex-seven-1{left:59%!important;top:48%!important}.nex-seven-2{left:14%!important;top:76%!important}.nex-seven-3{left:88%!important;top:84%!important}.nex-seven-4{display:block!important;left:37%!important;top:44%!important;font-size:64px!important;opacity:.07!important}
html[data-nex-theme="light"] .nex-ambient{opacity:.065!important}.nex-ambient-seven{text-shadow:none!important}
@media(max-width:900px){
  .nex-ambient{opacity:.05!important;}
  .nex-ambient .nex-bg-17,.nex-ambient .nex-bg-18,.nex-ambient .nex-bg-20,.nex-ambient .nex-bg-21,.nex-ambient .nex-bg-22,.nex-ambient .nex-bg-23,
  .nex-pix-2,.nex-pix-3,.nex-controller-2,.nex-controller-3,.nex-dice-1,.nex-slot-2,.nex-slot-3,.nex-seven-4{display:none!important;}
  .nex-pix-1{left:78%;top:18%;font-size:34px!important;opacity:.12!important}
}

/* Atualizar = ícone somente. */
.nex-refresh-icon{
  width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;margin:0!important;border-radius:10px!important;display:inline-grid!important;place-items:center!important;gap:0!important;box-shadow:none!important;
  border:1px solid var(--nex-border)!important;background:var(--nex-surface-2)!important;color:var(--nex-text)!important;
}
.nex-refresh-icon i{font-size:16px!important;color:#60a5fa!important;}
.nex-refresh-icon:hover{transform:none!important;background:var(--nex-hover)!important;}

/* Gráficos: canvas fixo; nada de pulsar/crescer ao atualizar. */
body.nex-page-dashboard .chart-card{height:342px!important;min-height:342px!important;max-height:342px!important;contain:layout paint!important;}
body.nex-page-dashboard .chart-card canvas{height:280px!important;min-height:280px!important;max-height:280px!important;}

/* Modais e ações administrativas. */
.nex-admin-modal{
  position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,8,18,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.nex-admin-modal.show{display:flex!important;}
.nex-admin-modal-card{width:min(100%,620px);max-height:min(88dvh,760px);overflow:auto;border:1px solid var(--nex-border);border-radius:22px;padding:22px;background:linear-gradient(145deg,var(--nex-surface),var(--nex-surface-2));box-shadow:0 28px 75px rgba(0,0,0,.34);}
.nex-admin-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.nex-admin-modal-head h3{margin:0;font-size:18px}.nex-admin-modal-head p{margin:5px 0 0;color:var(--nex-muted);font-size:12px}.nex-modal-close{width:34px;height:34px;border:1px solid var(--nex-border);border-radius:10px;background:transparent;color:var(--nex-text);cursor:pointer}.nex-modal-close i{font-size:18px}
.nex-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.nex-field{display:grid;gap:7px}.nex-field.full{grid-column:1/-1}.nex-field label{font-size:11px;font-weight:700;color:var(--nex-muted)}.nex-field input,.nex-field select{width:100%;height:44px;border-radius:11px;padding:0 12px;border:1px solid var(--nex-border);background:var(--nex-surface-2);color:var(--nex-text);outline:0}.nex-help{font-size:10.5px;color:var(--nex-muted);line-height:1.45}.nex-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.nex-action{height:40px;padding:0 15px;border-radius:10px;border:1px solid var(--nex-border);background:var(--nex-surface-2);color:var(--nex-text);font-weight:700;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.nex-action.primary{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:transparent;color:#fff}.nex-action.success{background:linear-gradient(135deg,#16a34a,#22c55e);border-color:transparent;color:#fff}.nex-action.danger{color:#f87171;border-color:rgba(239,68,68,.24);background:rgba(127,29,29,.10)}.nex-action:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:640px){.nex-form-grid{grid-template-columns:1fr}.nex-field.full{grid-column:auto}.nex-modal-actions{flex-direction:column-reverse}.nex-action{width:100%}.nex-admin-modal-card{padding:17px;border-radius:18px}}

/* Gateway cards. */
.nex-gateway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.nex-gateway-card{border:1px solid var(--nex-border);border-radius:18px;padding:17px;background:linear-gradient(145deg,var(--nex-surface),var(--nex-surface-2));box-shadow:none}.nex-gateway-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.nex-gateway-title{display:flex;gap:10px;align-items:center}.nex-gateway-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(59,130,246,.10);border:1px solid rgba(59,130,246,.15)}.nex-gateway-icon i{font-size:18px;color:#60a5fa}.nex-gateway-name{font-size:14px;font-weight:800}.nex-gateway-code{font-size:10.5px;color:var(--nex-muted);margin-top:3px}.nex-gateway-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.nex-gateway-meta div{padding:10px;border-radius:11px;background:rgba(148,163,184,.045);border:1px solid rgba(148,163,184,.07)}.nex-gateway-meta span{display:block;font-size:9.5px;color:var(--nex-muted);margin-bottom:4px}.nex-gateway-meta strong{font-size:11.5px}.nex-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid rgba(148,163,184,.08)}.nex-toggle-row:first-of-type{margin-top:13px}.nex-toggle-copy strong{display:block;font-size:11.5px}.nex-toggle-copy span{display:block;font-size:10px;color:var(--nex-muted);margin-top:2px}.nex-switch{position:relative;width:40px;height:23px;border:0;border-radius:999px;background:#334155;cursor:pointer;padding:0;transition:.15s}.nex-switch:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.15s}.nex-switch.on{background:#2563eb}.nex-switch.on:after{left:20px}.nex-switch:disabled{opacity:.5;cursor:wait}.nex-state{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:9.5px;font-weight:800}.nex-state.ok{color:#4ade80;background:rgba(34,197,94,.12)}.nex-state.off{color:#f87171;background:rgba(239,68,68,.11)}.nex-state.warn{color:#facc15;background:rgba(234,179,8,.12)}

/* Saques: grid mais profissional e linhas leves. */
.nex-withdraw-list{display:grid;gap:12px}.nex-withdraw-card{border:1px solid var(--nex-border);border-radius:18px;padding:16px;background:linear-gradient(145deg,var(--nex-surface),var(--nex-surface-2));box-shadow:none}.nex-withdraw-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nex-withdraw-value{font-size:19px;font-weight:820}.nex-withdraw-id{font-size:10px;color:var(--nex-muted);margin-top:3px}.nex-withdraw-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.nex-withdraw-info>div{padding:10px 11px;border:1px solid rgba(148,163,184,.08);border-radius:11px;background:rgba(148,163,184,.035);min-width:0}.nex-withdraw-info span{display:block;font-size:9.5px;color:var(--nex-muted);margin-bottom:4px}.nex-withdraw-info strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nex-withdraw-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.nex-withdraw-actions .nex-action{height:36px}.nex-gateway-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px}.nex-gateway-choice button{padding:13px;text-align:left;border:1px solid var(--nex-border);border-radius:13px;background:var(--nex-surface-2);color:var(--nex-text);cursor:pointer}.nex-gateway-choice button.selected{border-color:rgba(59,130,246,.65);background:rgba(59,130,246,.10);box-shadow:inset 0 0 0 1px rgba(59,130,246,.18)}.nex-gateway-choice strong{display:block;font-size:12px}.nex-gateway-choice span{display:block;font-size:10px;color:var(--nex-muted);margin-top:4px}.nex-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9.5px;font-weight:800}.nex-status.pending{color:#fde047;background:rgba(234,179,8,.13)}.nex-status.processing{color:#60a5fa;background:rgba(59,130,246,.13)}.nex-status.paid{color:#4ade80;background:rgba(34,197,94,.12)}.nex-status.failed{color:#f87171;background:rgba(239,68,68,.11)}.nex-status.manual{color:#c4b5fd;background:rgba(139,92,246,.12)}
@media(max-width:720px){.nex-withdraw-info{grid-template-columns:1fr}.nex-withdraw-actions{display:grid;grid-template-columns:1fr 1fr}.nex-withdraw-actions .nex-action{width:100%}}


/* NEX BANK v4.6.3 — ambiente game/cassino discreto e profissional */
.nex-ambient{pointer-events:none!important;overflow:hidden!important}
.nex-bg-emoji,.nex-ambient-slot{display:grid;place-items:center;color:#60a5fa!important;filter:none!important;font-size:clamp(38px,4.5vw,74px)!important;opacity:.105!important}
.nex-bg-emoji i,.nex-ambient-slot i{font-size:inherit!important;color:inherit!important;filter:none!important;text-shadow:0 0 26px rgba(59,130,246,.08)!important}
.nex-chip-1,.nex-chip-2{color:#8b5cf6!important}.nex-chip-3,.nex-chip-4{color:#06b6d4!important}.nex-controller-1,.nex-controller-2,.nex-controller-3{color:#60a5fa!important}.nex-dice-1{color:#f59e0b!important}.nex-ambient-seven{font-family:Inter,"Segoe UI",system-ui,sans-serif!important;font-weight:250!important;opacity:.14!important}.nex-ambient-pix{font-weight:850!important;letter-spacing:.12em!important;opacity:.075!important}
body.nex-page-login .nex-ambient{opacity:.095!important}body.nex-page-login .nex-ambient-seven{opacity:.13!important}
@media(max-width:768px){.nex-bg-emoji,.nex-ambient-slot{opacity:.07!important}.nex-ambient-seven{opacity:.09!important}}


/* =========================================================
   NEX BANK v4.6.6 — fundo global, tema integrado e refinamento
   ========================================================= */
html[data-nex-theme="dark"] body.nex-ui-polish{
  background-color:#06101c!important;
  background-image:
    linear-gradient(rgba(96,165,250,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(96,165,250,.026) 1px,transparent 1px),
    radial-gradient(circle at 14% 10%,rgba(37,99,235,.13),transparent 28%),
    radial-gradient(circle at 84% 82%,rgba(14,165,233,.07),transparent 26%),
    linear-gradient(145deg,#071321,#06101c 58%,#040b14)!important;
  background-size:72px 72px,72px 72px,auto,auto,auto!important;
  background-attachment:fixed!important;
}
html[data-nex-theme="light"] body.nex-ui-polish{
  background-color:#eef4fb!important;
  background-image:
    linear-gradient(rgba(37,99,235,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.035) 1px,transparent 1px),
    radial-gradient(circle at 13% 12%,rgba(37,99,235,.08),transparent 27%),
    radial-gradient(circle at 86% 80%,rgba(14,165,233,.045),transparent 25%),
    linear-gradient(145deg,#f7faff,#eef4fb 58%,#e9f1fa)!important;
  background-size:72px 72px,72px 72px,auto,auto,auto!important;
  background-attachment:fixed!important;
}
.nex-ambient{opacity:.105!important;filter:saturate(.70)!important}
.nex-ambient .nex-bg-item,.nex-bg-emoji,.nex-ambient-slot,.nex-ambient-seven{filter:none!important}
html[data-nex-theme="light"] .nex-ambient{opacity:.065!important}
[data-theme-host]{position:relative!important;z-index:4!important}
[data-theme-host] .nex-theme-toggle{
  position:static!important;inset:auto!important;right:auto!important;top:auto!important;
  margin:0!important;width:32px!important;height:32px!important;min-width:32px!important;
  border-radius:10px!important;box-shadow:none!important;
}
body.nex-page-login .theme-slot .nex-theme-toggle{position:static!important;right:auto!important;top:auto!important}
body:not(.nex-shell-page) > .nex-theme-toggle{position:fixed!important;top:max(14px,env(safe-area-inset-top))!important;right:14px!important}
@media(max-width:700px){
  html[data-nex-theme] body.nex-ui-polish{background-size:54px 54px,54px 54px,auto,auto,auto!important}
  .nex-ambient{opacity:.055!important}
  [data-theme-host] .nex-theme-toggle{width:32px!important;height:32px!important;min-width:32px!important}
}
\n\n/* NEX BANK v4.6.6 — fundo global e controles estáveis */
html{
  min-height:100%;
  background-color:#06101c;
  background-image:
    linear-gradient(rgba(96,165,250,.030) 1px,transparent 1px),
    linear-gradient(90deg,rgba(96,165,250,.030) 1px,transparent 1px),
    radial-gradient(circle at 18% 12%,rgba(37,99,235,.18),transparent 34%),
    radial-gradient(circle at 82% 78%,rgba(6,182,212,.09),transparent 30%),
    linear-gradient(145deg,#06101c 0%,#08172a 46%,#06101c 100%);
  background-size:72px 72px,72px 72px,auto,auto,auto;
  background-attachment:fixed;
}
html[data-nex-theme="light"]{
  background-color:#eef4fb;
  background-image:
    linear-gradient(rgba(37,99,235,.040) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.040) 1px,transparent 1px),
    radial-gradient(circle at 18% 12%,rgba(59,130,246,.12),transparent 34%),
    radial-gradient(circle at 82% 78%,rgba(6,182,212,.07),transparent 30%),
    linear-gradient(145deg,#f3f7fc 0%,#eaf2fb 50%,#f7faff 100%);
}
body.nex-ui-polish{background:transparent!important;isolation:isolate!important;}
.nex-ambient{z-index:-1!important;opacity:.095!important;}
html[data-nex-theme="light"] .nex-ambient{opacity:.065!important;}
[data-theme-host]{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;min-height:34px!important;flex:0 0 auto!important;}
[data-theme-host] .nex-theme-toggle{position:static!important;inset:auto!important;margin:0!important;transform:none!important;}
body.nex-page-login .card > .nex-theme-toggle{position:static!important;right:auto!important;top:auto!important;}
@media(max-width:900px){
  html{background-size:54px 54px,54px 54px,auto,auto,auto;}
  .nex-ambient{opacity:.065!important;}
}

/* =========================================================
   NEX BANK v4.6.10 — mobile viewport / safe-area hardening
   ========================================================= */
@media (max-width:900px){
  html,body{max-width:100%;overflow-x:hidden!important;}
  body.nex-shell-page{min-height:100dvh!important;height:100dvh!important;}
  body.nex-shell-page > .main{
    min-width:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  body.nex-shell-page .topbar{
    box-sizing:border-box!important;
    min-height:calc(58px + env(safe-area-inset-top))!important;
    padding:calc(12px + env(safe-area-inset-top)) 16px 12px!important;
    flex:0 0 auto!important;
    align-items:center!important;
    position:relative!important;
    z-index:20!important;
  }
  body.nex-shell-page .topbar > *{flex:0 0 auto!important;}
  body.nex-shell-page iframe{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
  }
}

/* Login: centralização real em Safari/Chrome iOS, sem compensações por 100vh. */
@media (max-width:720px){
  body.nex-page-login,
  body:has(> .page > .portal){
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
  }
  body.nex-page-login .page,
  body:has(> .page > .portal) > .page{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    padding-top:calc(18px + env(safe-area-inset-top))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
    padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;
    padding-left:max(16px,env(safe-area-inset-left))!important;
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
  }
  body.nex-page-login .portal,
  body:has(> .page > .portal) .portal{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
  }
  body.nex-page-login .access,
  body:has(> .page > .portal) .access{width:100%!important;min-width:0!important;}
  body.nex-page-login .mobile-brand .mark,
  body:has(> .page > .portal) .mobile-brand .mark{
    width:54px!important;height:54px!important;min-width:54px!important;
    border:0!important;outline:0!important;box-shadow:none!important;
    border-radius:50%!important;overflow:hidden!important;background:#071422!important;
  }
  body.nex-page-login .mobile-brand .mark img,
  body:has(> .page > .portal) .mobile-brand .mark img{
    width:100%!important;height:100%!important;object-fit:cover!important;
    border:0!important;border-radius:50%!important;transform:scale(1.12)!important;
  }
  body.nex-page-login .mobile-brand .brand-name,
  body:has(> .page > .portal) .mobile-brand .brand-name{font-size:18px!important;}
}

/* =========================================================
   NEX BANK v4.6.11 — responsive shell + login brand hardening
   Um único comportamento para browser, Android, iPhone e PWA.
   ========================================================= */
:root{
  --nex-mobile-gutter:clamp(14px,4vw,22px);
  --nex-mobile-content:480px;
}

html,body{width:100%;max-width:100%;}
body.nex-ui-polish{overflow-wrap:anywhere;}
body.nex-ui-polish :is(.container,.wrap,.page,.portal,.card,.panel,.box,.chart-card,.grid,.row,.main){min-width:0;}
body.nex-ui-polish :is(img,svg,canvas,video){max-width:100%;height:auto;}

/* Shell mobile: remove a antiga altura fixa de 64px e deixa o header medir o conteúdo. */
@media (max-width:900px){
  body.nex-shell-page > .main,
  body.nex-ui-polish > .main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  body.nex-shell-page .topbar,
  body.nex-ui-polish > .main > .topbar,
  body.nex-ui-polish > .main > .nex-mobile-shellbar{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:62px!important;
    flex:0 0 auto!important;
    padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))!important;
    gap:10px!important;
    align-items:center!important;
    position:relative!important;
    z-index:30!important;
  }
  body.nex-shell-page .topbar strong,
  .nex-mobile-shellbar .nex-mobile-brand{
    min-width:0!important;
    max-width:calc(100% - 96px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:clamp(14px,4vw,17px)!important;
    line-height:1.1!important;
  }
  body.nex-shell-page .topbar .nex-theme-toggle,
  .nex-mobile-shellbar .nex-theme-toggle{
    margin-left:auto!important;
    flex:0 0 38px!important;
  }
  body.nex-shell-page > .main > iframe,
  body.nex-ui-polish > .main > iframe{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:1 1 0!important;
    height:auto!important;
    min-height:0!important;
    border:0!important;
  }
}

/* Em app instalado, reserva uma área superior real mesmo quando o WebKit retorna safe-area=0. */
@media (display-mode: standalone) and (max-width:900px){
  body.nex-shell-page .topbar,
  body.nex-ui-polish > .main > .topbar,
  body.nex-ui-polish > .main > .nex-mobile-shellbar{
    padding-top:max(48px,calc(env(safe-area-inset-top) + 8px))!important;
    min-height:calc(62px + max(36px,env(safe-area-inset-top)))!important;
  }
}
html.nex-standalone body.nex-shell-page .topbar,
html.nex-standalone body.nex-ui-polish > .main > .topbar,
html.nex-standalone body.nex-ui-polish > .main > .nex-mobile-shellbar{
  padding-top:max(48px,calc(env(safe-area-inset-top) + 8px))!important;
  min-height:calc(62px + max(36px,env(safe-area-inset-top)))!important;
}

/* Login mobile: card geometricamente centralizado e marca visualmente equilibrada. */
@media (max-width:720px){
  body.nex-page-login .page,
  body:has(> .page > .portal) > .page{
    width:100%!important;
    min-height:100dvh!important;
    padding:
      max(18px,env(safe-area-inset-top))
      max(var(--nex-mobile-gutter),env(safe-area-inset-right))
      max(24px,env(safe-area-inset-bottom))
      max(var(--nex-mobile-gutter),env(safe-area-inset-left))!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow-x:hidden!important;
  }
  body.nex-page-login .portal,
  body:has(> .page > .portal) .portal{
    width:min(100%,var(--nex-mobile-content))!important;
    max-width:var(--nex-mobile-content)!important;
    margin-inline:auto!important;
    left:auto!important;right:auto!important;transform:none!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  body.nex-page-login .access,
  body:has(> .page > .portal) .access{
    position:relative!important;
    width:100%!important;
    padding:24px clamp(18px,5vw,24px) 24px!important;
  }
  body.nex-page-login .toolbar,
  body:has(> .page > .portal) .toolbar{
    position:relative!important;
    width:100%!important;
    min-height:70px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0 0 24px!important;
    padding:0 52px!important;
  }
  body.nex-page-login .mobile-brand,
  body:has(> .page > .portal) .mobile-brand{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    min-width:0!important;
    margin:0 auto!important;
  }
  /* O NB vira marca limpa via CSS; sem usar a borda embutida do PNG. */
  body.nex-page-login .mobile-brand .mark,
  body:has(> .page > .portal) .mobile-brand .mark{
    width:64px!important;height:64px!important;min-width:64px!important;
    display:grid!important;place-items:center!important;
    border:0!important;outline:0!important;box-shadow:0 12px 30px rgba(0,0,0,.20)!important;
    border-radius:50%!important;overflow:hidden!important;
    background:radial-gradient(circle at 35% 25%,#102849 0%,#081523 55%,#050d17 100%)!important;
    color:transparent!important;
    position:relative!important;
  }
  body.nex-page-login .mobile-brand .mark img,
  body:has(> .page > .portal) .mobile-brand .mark img{display:none!important;}
  body.nex-page-login .mobile-brand .mark::after,
  body:has(> .page > .portal) .mobile-brand .mark::after{
    content:"NB";
    display:block;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:22px;
    font-weight:800;
    letter-spacing:.02em;
    background:linear-gradient(90deg,#3b82f6 0 47%,#eef4ff 48% 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  body.nex-page-login .mobile-brand .brand-name,
  body:has(> .page > .portal) .mobile-brand .brand-name{
    font-size:clamp(19px,5.5vw,23px)!important;
    line-height:1!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
  body.nex-page-login .toolbar [data-theme-host],
  body:has(> .page > .portal) .toolbar [data-theme-host]{
    position:absolute!important;
    top:50%!important;right:0!important;
    transform:translateY(-50%)!important;
    width:40px!important;height:40px!important;
  }
  body.nex-page-login .access h2,
  body:has(> .page > .portal) .access h2{
    text-align:center!important;
    font-size:clamp(26px,7vw,32px)!important;
    line-height:1.12!important;
    margin-top:0!important;
  }
  body.nex-page-login .access-copy,
  body:has(> .page > .portal) .access-copy{
    max-width:360px!important;
    margin:10px auto 22px!important;
    text-align:center!important;
    line-height:1.55!important;
  }
  body.nex-page-login .input,
  body:has(> .page > .portal) .input{min-width:0!important;font-size:16px!important;}
}

/* Telas muito estreitas: reduz apenas o que precisa, sem quebrar proporções. */
@media (max-width:380px){
  :root{--nex-mobile-gutter:12px;}
  body.nex-page-login .access,
  body:has(> .page > .portal) .access{padding-inline:16px!important;}
  body.nex-page-login .mobile-brand .mark,
  body:has(> .page > .portal) .mobile-brand .mark{width:58px!important;height:58px!important;min-width:58px!important;}
  body.nex-page-login .mobile-brand .brand-name,
  body:has(> .page > .portal) .mobile-brand .brand-name{font-size:18px!important;}
}

/* Dashboard/iframes: todos os números se adaptam, sem forçar overflow. */
@media (max-width:700px){
  body.nex-page-dashboard{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  body.nex-page-dashboard :is(.grid,.card,.chart-card,.nex-recent-card){min-width:0!important;max-width:100%!important;}
  body.nex-page-dashboard .value{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    font-size:clamp(23px,8vw,31px)!important;
    line-height:1.08!important;
  }
}


/* =========================================================
   NEX BANK v4.6.12 — sidebar universal + marca real + safe areas
   Diretoria / Gerente / Operador, browser e PWA.
   ========================================================= */
:root{--nex-drawer-mobile:min(86vw,360px);}

/* Marca real nos shells */
.sidebar .logo img{
  width:48px!important;height:48px!important;min-width:48px!important;
  object-fit:cover!important;border-radius:50%!important;
  border:0!important;outline:0!important;box-shadow:none!important;
}
.sidebar .logo{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}
.sidebar .logo-text{display:flex!important;align-items:baseline!important;white-space:nowrap!important;letter-spacing:.045em!important}
.sidebar .logo-text .nex{margin-right:5px!important}

/* O topo do drawer nunca entra na barra do sistema. */
@media(max-width:900px){
  body{max-width:100vw!important;overflow-x:hidden!important}
  .sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    top:0!important;
    width:var(--nex-drawer-mobile)!important;
    max-width:var(--nex-drawer-mobile)!important;
    min-width:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    box-sizing:border-box!important;
    padding:
      max(18px,env(safe-area-inset-top))
      16px
      max(16px,env(safe-area-inset-bottom))
      16px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    z-index:10020!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
  }
  .sidebar.active{transform:translateX(0)!important}
  .sidebar>div:first-child{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:14px!important;
  }
  .sidebar .logo{
    min-height:58px!important;
    margin:0 0 14px!important;
    padding:0 2px 12px!important;
    border-bottom:1px solid rgba(148,163,184,.10)!important;
  }
  .sidebar .logo img{width:50px!important;height:50px!important;min-width:50px!important}
  .sidebar .logo-text{font-size:clamp(18px,5vw,22px)!important;line-height:1!important}
  .sidebar .user{margin:8px 0 14px!important;padding:14px!important;min-width:0!important}
  .sidebar .user strong{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .sidebar .menu{gap:4px!important}
  .sidebar .menu-item{
    width:100%!important;max-width:100%!important;min-width:0!important;
    min-height:52px!important;padding:11px 12px!important;
    margin:0!important;border-radius:14px!important;
    font-size:15px!important;line-height:1.2!important;
  }
  .sidebar .menu-item i{flex:0 0 26px!important;font-size:20px!important}
  .sidebar .logout{
    flex:0 0 auto!important;
    width:100%!important;max-width:100%!important;
    margin-top:auto!important;
    padding:13px 14px!important;
    min-height:50px!important;
    position:relative!important;bottom:auto!important;
  }
  .overlay,.nex-mobile-overlay{
    position:fixed!important;inset:0!important;
    background:rgba(1,7,13,.72)!important;
    backdrop-filter:blur(3px)!important;
    z-index:10010!important;
  }
  body:has(.sidebar.active){overflow:hidden!important}
}

/* iOS instalado: fallback seguro quando WebKit devolve safe-area 0. */
@media(display-mode:standalone) and (max-width:900px){
  .sidebar{padding-top:max(52px,calc(env(safe-area-inset-top) + 14px))!important}
}
html.nex-standalone .sidebar{padding-top:max(52px,calc(env(safe-area-inset-top) + 14px))!important}

/* Login: imagem real e marca centralizada. */
body.nex-page-login .mobile-brand .mark,
body:has(> .page > .portal) .mobile-brand .mark{
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.nex-page-login .mobile-brand .mark::after,
body:has(> .page > .portal) .mobile-brand .mark::after{display:none!important;content:none!important}
body.nex-page-login .mobile-brand .mark img,
body:has(> .page > .portal) .mobile-brand .mark img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;border-radius:50%!important;border:0!important;outline:0!important;
}
@media(max-width:720px){
  body.nex-page-login .toolbar,
  body:has(> .page > .portal) .toolbar{
    padding-left:44px!important;padding-right:44px!important;
  }
  body.nex-page-login .mobile-brand,
  body:has(> .page > .portal) .mobile-brand{
    transform:none!important;
  }
}

/* Moeda nunca quebra R$ em duas linhas em nenhuma tela modernizada. */
.money-wrap,.nex-money,.amount,.amount-row{min-width:0}
.currency,.money-prefix,.brl-prefix{
  white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;
}

/* Títulos de páginas dentro dos iframes não podem nascer escondidos sob o shell. */
@media(max-width:900px){
  body.nex-ui-polish:not(.nex-shell-page) > :is(.wrap,.container,.page):first-child{
    max-width:100%!important;
  }
}

/* Tema claro: contraste mínimo consistente em cartões internos. */
html[data-nex-theme="light"] body.nex-ui-polish :is(.card,.panel,.box,.statusbox,.amount-box,.summary){
  color:#172033;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(.muted,.sub,.hint,.mode,.label){
  color:#64748b!important;
}


/* =========================================================
   NEX BANK v4.6.13 — marca central + privacidade da Diretoria
   ========================================================= */
/* Login: o conjunto da marca ocupa o centro geométrico do card.
   O botão de tema fica fora do fluxo e não empurra a marca. */
@media(max-width:720px){
  body.nex-page-login .toolbar,
  body:has(> .page > .portal) .toolbar{
    position:relative!important;
    min-height:86px!important;
    padding:0!important;
    margin-bottom:26px!important;
  }
  body.nex-page-login .mobile-brand,
  body:has(> .page > .portal) .mobile-brand{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    width:max-content!important;
    max-width:calc(100% - 56px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    white-space:nowrap!important;
  }
  body.nex-page-login .mobile-brand .mark,
  body:has(> .page > .portal) .mobile-brand .mark{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    border-radius:50%!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  body.nex-page-login .mobile-brand .mark img,
  body:has(> .page > .portal) .mobile-brand .mark img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    border:0!important;
    outline:0!important;
    border-radius:50%!important;
    transform:none!important;
  }
  body.nex-page-login .mobile-brand .brand-name,
  body:has(> .page > .portal) .mobile-brand .brand-name{
    font-size:clamp(20px,5.9vw,24px)!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    white-space:nowrap!important;
  }
  body.nex-page-login .toolbar [data-theme-host],
  body:has(> .page > .portal) .toolbar [data-theme-host]{
    position:absolute!important;
    top:50%!important;
    right:0!important;
    left:auto!important;
    transform:translateY(-50%)!important;
    z-index:3!important;
  }
}
@media(max-width:390px){
  body.nex-page-login .mobile-brand,
  body:has(> .page > .portal) .mobile-brand{gap:10px!important;max-width:calc(100% - 48px)!important}
  body.nex-page-login .mobile-brand .mark,
  body:has(> .page > .portal) .mobile-brand .mark{width:60px!important;height:60px!important;min-width:60px!important}
  body.nex-page-login .mobile-brand .brand-name,
  body:has(> .page > .portal) .mobile-brand .brand-name{font-size:19px!important;letter-spacing:.035em!important}
}

/* Sidebars: imagem real sem moldura e marca compacta/consistente. */
.sidebar :is(.logo img,.logo-img img){
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:50%!important;
}


/* =========================================================
   NEX BANK v4.6.14 — branding local + contraste light definitivo
   ========================================================= */
:root{
  --nex-brand-logo:"/assets/branding/nexbank-logo-master.png";
}

/* A logo é sempre tratada como arte local, sem moldura, crop ou escala forçada. */
:is(.sidebar .logo img,.sidebar .logo-img img,.mobile-brand .mark img,.brand .mark img,.nex-brand-logo){
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* Login: centralização geométrica do conjunto logo + nome, independente do tema. */
body.nex-page-login .mobile-brand,
body:has(> .page > .portal) .mobile-brand{
  align-items:center!important;
  justify-content:center!important;
}
body.nex-page-login .mobile-brand .mark,
body:has(> .page > .portal) .mobile-brand .mark{
  flex:0 0 auto!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  background:transparent!important;
}
body.nex-page-login .mobile-brand .mark img,
body:has(> .page > .portal) .mobile-brand .mark img{
  width:74px!important;
  height:74px!important;
  max-width:none!important;
  border-radius:0!important;
}
@media(max-width:390px){
  body.nex-page-login .mobile-brand .mark img,
  body:has(> .page > .portal) .mobile-brand .mark img{
    width:64px!important;height:64px!important;
  }
}

/* Sidebar: mesma arte local, com tamanho equilibrado. */
.sidebar .logo img{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border-radius:0!important;
}
@media(max-width:900px){
  .sidebar .logo img{
    width:50px!important;height:50px!important;min-width:50px!important;
  }
}

/* Tema claro: texto nunca fica "lavado". */
html[data-nex-theme="light"] body,
html[data-nex-theme="light"] body.nex-ui-polish{
  color:#111827!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  h1,h2,h3,h4,h5,h6,strong,b,.title,.headline,.card-title,.section-title,.metric-title,
  .amount,.value,.money,.money-value,.balance,.stat-value,.total-value
){
  color:#111827!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  p,.muted,.sub,.subtitle,.description,.copy,.helper,.hint,.caption,.meta,.mode,.label,
  .field label,.eyebrow,.access-copy,.card-copy,.info,.summary-text
){
  color:#475569!important;
  opacity:1!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  input,select,textarea,.input
){
  color:#172033!important;
  background:#ffffff!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  input,textarea
)::placeholder{
  color:#64748b!important;
  opacity:1!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .card,.panel,.box,.statusbox,.amount-box,.summary,.info-card,.metric,.nex-recent-card
){
  color:#172033!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .secondary,.secondary-text,.text-muted,.small-muted
){
  color:#526174!important;
  opacity:1!important;
}

/* Terminal / cobranças: rótulos e textos auxiliares com leitura bancária clara. */
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .terminal-card,.charge-card,.payment-card,.pix-card
) :is(p,small,span:not(.badge):not(.status):not(.pill)){
  color:#475569;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .terminal-card,.charge-card,.payment-card,.pix-card
) :is(h1,h2,h3,strong,b){
  color:#111827;
}

/* Notificações: status e instruções continuam legíveis no light mode. */
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .push-card,.notification-card,.install-card,.status-card
){
  color:#172033!important;
}
html[data-nex-theme="light"] body.nex-ui-polish :is(
  .push-card,.notification-card,.install-card,.status-card
) :is(p,li,.muted,.sub,.hint){
  color:#475569!important;
  opacity:1!important;
}


/* =========================================================
   NEX BANK v4.6.17 — auditoria, espaçamento e manutenção
   ========================================================= */

/* Conteúdo interno começa mais próximo do shell no mobile. */
@media(max-width:900px){
  body.nex-page-users:not(.nex-shell-page),
  body.nex-page-finance:not(.nex-shell-page),
  body.nex-page-settings:not(.nex-shell-page){
    padding-top:6px!important;
  }
  body.nex-page-users:not(.nex-shell-page) > :is(.container,.wrap):first-child,
  body.nex-page-finance:not(.nex-shell-page) > :is(.container,.wrap):first-child,
  body.nex-page-settings:not(.nex-shell-page) > :is(.container,.wrap):first-child{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.nex-page-users:not(.nex-shell-page) :is(.header,.top):first-child,
  body.nex-page-finance:not(.nex-shell-page) :is(.header,.top):first-child,
  body.nex-page-settings:not(.nex-shell-page) :is(.header,.top):first-child{
    margin-top:0!important;
  }
}

/* Auditoria segue integralmente o tema, sem ilhas pretas no modo claro. */
html[data-nex-theme="light"] body.nex-page-audit{
  background:#eef4fb!important;
  color:#172033!important;
}
html[data-nex-theme="light"] body.nex-page-audit :is(.card,.panel,.box,.filter,.filters,.log,.item,.audit-row){
  background:#fff!important;
  color:#172033!important;
  border-color:rgba(15,23,42,.10)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.045)!important;
}
html[data-nex-theme="light"] body.nex-page-audit :is(input,select,textarea,.input){
  background:#fff!important;
  color:#172033!important;
  border-color:rgba(15,23,42,.13)!important;
}
html[data-nex-theme="light"] body.nex-page-audit :is(.muted,.sub,.meta,.detail,.details,.label,small){
  color:#526174!important;
  opacity:1!important;
}
html[data-nex-theme="light"] body.nex-page-audit :is(h1,h2,h3,b,strong,.title){
  color:#172033!important;
}
html[data-nex-theme="dark"] body.nex-page-audit{
  background:#06101c!important;
  color:#eef4fc!important;
}
html[data-nex-theme="dark"] body.nex-page-audit :is(.card,.panel,.box,.filter,.filters,.log,.item,.audit-row){
  background:#0b1b2e!important;
  border-color:rgba(148,163,184,.12)!important;
  color:#eef4fc!important;
}


/* NEX BANK v4.6.23 — tema claro premium e superfícies coerentes */
html[data-nex-theme="light"]{
  --nex-light-bg:#eaf1f8;--nex-light-surface:#f7f9fc;--nex-light-surface-2:#eef4fa;
  --nex-light-border:#cbd7e4;--nex-light-text:#152238;--nex-light-muted:#65778c;
  background-color:var(--nex-light-bg)!important;
  background-image:
    linear-gradient(rgba(48,93,150,.050) 1px,transparent 1px),
    linear-gradient(90deg,rgba(48,93,150,.050) 1px,transparent 1px),
    radial-gradient(circle at 16% 10%,rgba(59,130,246,.12),transparent 32%),
    radial-gradient(circle at 83% 78%,rgba(14,165,233,.075),transparent 28%),
    linear-gradient(145deg,#eef4fa 0%,#e7f0f9 55%,#edf4fb 100%)!important;
}
html[data-nex-theme="light"] body.nex-ui-polish{color:var(--nex-light-text)!important}
html[data-nex-theme="light"] body.nex-page-dashboard .card,
html[data-nex-theme="light"] body.nex-page-settings .card,
html[data-nex-theme="light"] body.nex-page-settings .item,
html[data-nex-theme="light"] body.nex-page-workspace .card{
  background:linear-gradient(145deg,#f8fafc,#f2f6fa)!important;
  border-color:var(--nex-light-border)!important;
  box-shadow:0 12px 30px rgba(42,69,101,.075)!important;
}
html[data-nex-theme="light"] body.nex-page-settings .item:hover{background:#edf4fb!important;border-color:#aec5df!important}
html[data-nex-theme="light"] body.nex-page-settings .item-icon{background:#edf3f9!important;border-color:#ccd8e5!important}
html[data-nex-theme="light"] body.nex-page-settings .text h3{color:#17253a!important}
html[data-nex-theme="light"] body.nex-page-settings .text p,
html[data-nex-theme="light"] body.nex-page-settings .sub{color:#65778c!important}
html[data-nex-theme="light"] body.nex-page-dashboard .metric-label,
html[data-nex-theme="light"] body.nex-page-dashboard .metric-helper,
html[data-nex-theme="light"] body.nex-page-dashboard .pix-description{color:#63758a!important}
html[data-nex-theme="light"] body.nex-page-dashboard .metric-icon{background:#f1f5f9!important;border-color:#d2dde8!important}
html[data-nex-theme="light"] body.nex-page-dashboard .withdraw-action{background:#e8f1ff!important;color:#2f6feb!important;border-color:#bfd3ee!important}


/* v4.6.24: dashboard do celular nunca vira grade de tablet por zoom/A do Safari */
html.nex-mobile-device body.nex-page-dashboard .overview-grid{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  gap:16px!important;
}
html.nex-mobile-device body.nex-page-dashboard .overview-grid>.card,
html.nex-mobile-device body.nex-page-dashboard .overview-grid>.pix-card{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  justify-self:stretch!important;
}


/* NEX BANK v4.6.80 — tema escuro fixo; alternador removido */
.nex-theme-toggle{display:none!important;visibility:hidden!important;pointer-events:none!important}
