/* ==========================================================================
   SharkPay Design System  ·  v1.0
   Carregado DEPOIS do argon.css: re-estiliza o tema existente (Bootstrap 4 /
   Argon) por meio de tokens, sem alterar marcação nem lógica das views.
   Seções: 1 Tokens · 2 Base · 3 Shell · 4 Componentes · 5 Auth · 6 Dashboard
           7 Utilitários · 8 Responsivo · 9 Acessibilidade
   ========================================================================== */

/* 1. TOKENS ---------------------------------------------------------------- */
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("../fonts/geist/geist-latin-wght-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("../fonts/geist/geist-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("../fonts/geist/geist-mono-latin-wght-normal.woff2") format("woff2")}

:root{
  /* Marca */
  --sp-violet-50:#F5EDFF;  --sp-violet-100:#E9D5FF; --sp-violet-200:#D4AEFF;
  --sp-violet-500:#8803FF; --sp-violet-600:#7400D9; --sp-violet-700:#5C00B0;
  --sp-orange-100:#FFEBD6; --sp-orange-500:#F27900; --sp-orange-700:#A65200;
  /* Tinta (superfícies escuras) */
  --sp-ink-950:#100A21; --sp-ink-900:#18102F; --sp-ink-800:#241947; --sp-ink-700:#33265F;
  /* Neutros com leve matiz violeta */
  --sp-bg:#F7F6FB; --sp-surface:#FFFFFF; --sp-surface-2:#FBFAFD;
  --sp-line:#E8E6F0; --sp-line-strong:#D5D2E3;
  --sp-text:#17112B; --sp-muted:#5F5976; --sp-faint:#706B86;
  /* Semânticas */
  --sp-success:#0A7550; --sp-success-bg:#E5F6EE; --sp-success-line:#B7E4D0;
  --sp-warning:#8F5200; --sp-warning-bg:#FFF2DC; --sp-warning-line:#F5D59B;
  --sp-danger:#C2263D;  --sp-danger-bg:#FDEBEE;  --sp-danger-line:#F6C2CB;
  --sp-info:#1B58C7;    --sp-info-bg:#E8F0FD;    --sp-info-line:#BCD0F5;
  /* Tipografia */
  --sp-font:"Geist",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --sp-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sp-fs-xs:.75rem; --sp-fs-sm:.8125rem; --sp-fs-md:.9375rem; --sp-fs-lg:1.125rem;
  --sp-fs-xl:1.5rem; --sp-fs-2xl:2rem;   --sp-fs-3xl:2.75rem;
  /* Espaço (base 4px) */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem; --sp-6:2rem; --sp-7:3rem;
  /* Raios: 3 níveis com função */
  --sp-r-sm:6px;   /* campos, botões, badges */
  --sp-r-md:10px;  /* painéis, menus */
  --sp-r-lg:18px;  /* apenas o painel de saldo */
  /* Elevação: só em elementos flutuantes */
  --sp-shadow-pop:0 12px 32px -8px rgba(23,17,43,.22),0 2px 6px rgba(23,17,43,.08);
  --sp-ring:0 0 0 3px rgba(136,3,255,.28);
  /* Movimento */
  --sp-ease:cubic-bezier(.2,.7,.2,1); --sp-dur:.16s;
  --sp-sidebar:264px;
}

/* 2. BASE ------------------------------------------------------------------ */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sp-font)!important;font-size:var(--sp-fs-md);line-height:1.55;color:var(--sp-text)!important;
  background:var(--sp-bg)!important;font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--sp-font);color:var(--sp-text);font-weight:600;letter-spacing:-.015em;line-height:1.25}
h1,.h1{font-size:var(--sp-fs-2xl)} h2,.h2{font-size:var(--sp-fs-xl)} h3,.h3{font-size:1.25rem}
h4,.h4{font-size:var(--sp-fs-lg)} h5,.h5{font-size:1rem} h6,.h6{font-size:var(--sp-fs-sm)}
p{max-width:72ch}
a{color:var(--sp-violet-600);transition:color var(--sp-dur) var(--sp-ease)}
a:hover{color:var(--sp-violet-700)}
::selection{background:var(--sp-violet-100);color:var(--sp-ink-950)}
.text-muted{color:var(--sp-muted)!important}
.text-gray{color:var(--sp-muted)!important}
.text-primary{color:var(--sp-violet-600)!important}
.text-success{color:var(--sp-success)!important}
.text-danger{color:var(--sp-danger)!important}
.text-warning,.text-yellow{color:var(--sp-warning)!important}
.text-info{color:var(--sp-info)!important}
.font-weight-bolder,.font-weight-bold{font-weight:600!important}
.num,.sp-num,td.text-right,.table .amount{font-variant-numeric:tabular-nums}
code,kbd,pre,.sp-mono{font-family:var(--sp-mono);font-size:.875em}
hr{border-color:var(--sp-line)}

/* 3. SHELL: menu lateral, topo, cabeçalho de página ------------------------ */
.sidenav.navbar-vertical,.sidenav.navbar-vertical.navbar-light{background:var(--sp-ink-950)!important;border:0!important;
  box-shadow:none!important;color:#CFC8E6;font-family:var(--sp-font)}
.sidenav .navbar-brand{padding:var(--sp-5) var(--sp-5) var(--sp-4)}
.sidenav .navbar-brand-img{max-height:34px;width:auto}
.sidenav .scrollbar-inner{padding-bottom:var(--sp-6)}
.sidenav .navbar-heading{font-size:var(--sp-fs-xs)!important;font-weight:500;letter-spacing:.01em;text-transform:none!important;
  color:#8D84AD!important;padding:var(--sp-5) 0 var(--sp-2) 0!important;margin-left:var(--sp-3)}
.sidenav .navbar-nav{padding:0 var(--sp-3)}
.sidenav .navbar-nav .nav-link{display:flex;align-items:center;gap:var(--sp-3);color:#CFC8E6!important;font-size:var(--sp-fs-sm);
  font-weight:500;padding:.55rem var(--sp-3)!important;margin:1px 0;border-radius:var(--sp-r-sm);position:relative;
  transition:background var(--sp-dur) var(--sp-ease),color var(--sp-dur) var(--sp-ease)}
.sidenav .navbar-nav .nav-link>i{width:1.25rem;min-width:1.25rem;margin:0!important;font-size:1.05rem!important;line-height:1;text-align:center;
  color:#9C93BE!important;transition:color var(--sp-dur) var(--sp-ease)}
.sidenav .navbar-nav .nav-link:hover{background:rgba(255,255,255,.06);color:#fff!important}
.sidenav .navbar-nav .nav-link:hover>i{color:#fff!important}
.sidenav .navbar-nav .nav-link.active{background:rgba(136,3,255,.22);color:#fff!important}
.sidenav .navbar-nav .nav-link.active>i{color:var(--sp-violet-200)!important}
.sidenav .navbar-nav .nav-link.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--sp-orange-500)}
.sidenav .navbar-nav .nav-link[data-toggle=collapse]:after{color:#8D84AD}
.sidenav .nav-sm .nav-link{padding-left:calc(var(--sp-3) + 1.25rem + var(--sp-3))!important;color:#B7AED6!important}
.sidenav .badge{font-size:.65rem}
.sidenav-toggler-line{background:#CFC8E6!important}
.sidenav .scrollbar-inner>.scroll-element .scroll-bar{background:rgba(255,255,255,.18)}

.main-content{background:var(--sp-bg)!important}
.navbar-top{background:var(--sp-surface)!important;border-bottom:1px solid var(--sp-line)!important;box-shadow:none!important;
  padding-top:var(--sp-3)!important;padding-bottom:var(--sp-3)!important;position:sticky;top:0;z-index:1020}
.navbar-top .form-control{height:40px;min-height:40px;background:var(--sp-bg)!important;border:1px solid transparent!important;font-size:var(--sp-fs-sm);padding:.5rem .85rem .5rem 0}
.navbar-top .form-control:focus{background:var(--sp-surface)!important}
.navbar-top .input-group-merge,.navbar-top .input-group{box-shadow:none!important}
.navbar-top .input-group-merge .input-group-text{border-radius:var(--sp-r-sm) 0 0 var(--sp-r-sm)!important;padding-left:.85rem;padding-right:.5rem}
.navbar-top .input-group-merge .form-control{border-radius:0 var(--sp-r-sm) var(--sp-r-sm) 0!important}
.navbar-top .input-group-merge .input-group-text{background:var(--sp-bg);border:1px solid transparent;border-right:0}
.navbar-top .navbar-search .form-control{width:20rem;max-width:100%}
.sp-balance-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.4rem .8rem;border:1px solid var(--sp-line);
  border-radius:999px;background:var(--sp-surface);font-weight:600;font-size:var(--sp-fs-sm);color:var(--sp-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-balance-chip i{color:var(--sp-violet-600)}
.sp-balance-chip small{color:var(--sp-muted);font-weight:500}
.navbar-top .avatar{width:36px;height:36px;box-shadow:0 0 0 2px var(--sp-surface),0 0 0 3px var(--sp-line)}

/* Argon desenhava uma faixa colorida atrás do conteúdo; agora é neutra. */
.header,.header.bg-primary,.header.bg-gradient-primary,.header.bg-gradient-info,.header.bg-gradient-default,.header.bg-default,.bg-gradient-primary{
  background:transparent!important;background-image:none!important}
.header.pb-6{padding-bottom:var(--sp-4)!important}
.container-fluid.mt--6,.container.mt--8{margin-top:0!important}
.header .text-white,.header h1,.header h2,.header h6,.header .breadcrumb-link{color:var(--sp-text)!important}
.container-fluid{padding-left:var(--sp-6);padding-right:var(--sp-6)}

.sp-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin:0 0 var(--sp-5)}
.sp-page-head h1{margin:0;font-size:var(--sp-fs-xl);letter-spacing:-.02em}
.sp-page-head p{margin:var(--sp-1) 0 0;color:var(--sp-muted);font-size:var(--sp-fs-sm)}

/* 4. COMPONENTES ----------------------------------------------------------- */
/* Painéis */
.card{background:var(--sp-surface);border:1px solid var(--sp-line)!important;border-radius:var(--sp-r-md)!important;box-shadow:none!important;
  color:var(--sp-text);transition:border-color var(--sp-dur) var(--sp-ease)}
.card .card-header{background:transparent;border-bottom:1px solid var(--sp-line);padding:var(--sp-4) var(--sp-5)}
.card .card-header h3,.card .card-header .h3{font-size:1rem;margin:0}
.card .card-body{padding:var(--sp-5)}
.card .card-footer{background:var(--sp-surface-2);border-top:1px solid var(--sp-line);border-radius:0 0 var(--sp-r-md) var(--sp-r-md)}
.card-title,.card .card-title{font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-muted);margin-bottom:var(--sp-3)}
.card-profile,.card-stats{box-shadow:none!important}
.card.bg-gradient-primary,.card.bg-gradient-default,.card.bg-gradient-info,.card.bg-primary,.card.bg-default{background:var(--sp-ink-950)!important;color:#EDE9FA!important}
.card.bg-gradient-primary *,.card.bg-gradient-default *,.card.bg-gradient-info *,.card.bg-primary *,.card.bg-default *{color:inherit}

/* Botões */
.btn{font-family:var(--sp-font);font-weight:500;font-size:var(--sp-fs-sm);letter-spacing:0;text-transform:none!important;border-radius:var(--sp-r-sm);
  padding:.55rem 1rem;box-shadow:none!important;border-width:1px;transform:none!important;
  transition:background var(--sp-dur) var(--sp-ease),border-color var(--sp-dur) var(--sp-ease),color var(--sp-dur) var(--sp-ease)}
.btn:active:not(:disabled){transform:translateY(1px)!important}
.btn-sm{padding:.35rem .7rem;font-size:var(--sp-fs-xs)} .btn-lg{padding:.75rem 1.3rem;font-size:var(--sp-fs-md)}
.btn-primary{background:var(--sp-violet-500)!important;border-color:var(--sp-violet-500)!important;color:#fff!important}
.btn-primary:hover,.btn-primary:focus{background:var(--sp-violet-600)!important;border-color:var(--sp-violet-600)!important}
.btn-primary:active{background:var(--sp-violet-700)!important;border-color:var(--sp-violet-700)!important}
.btn-secondary,.btn-neutral,.btn-default,.btn-outline-primary,.btn-outline-secondary,.btn-outline-default{background:var(--sp-surface)!important;
  color:var(--sp-text)!important;border-color:var(--sp-line-strong)!important}
.btn-secondary:hover,.btn-neutral:hover,.btn-default:hover,.btn-outline-primary:hover,.btn-outline-secondary:hover,.btn-outline-default:hover{
  background:var(--sp-bg)!important;border-color:var(--sp-faint)!important;color:var(--sp-text)!important}
.btn-success{background:var(--sp-success)!important;border-color:var(--sp-success)!important;color:#fff!important}
.btn-danger{background:var(--sp-danger)!important;border-color:var(--sp-danger)!important;color:#fff!important}
.btn-warning{background:var(--sp-orange-500)!important;border-color:var(--sp-orange-500)!important;color:var(--sp-ink-950)!important}
.btn-info{background:var(--sp-info)!important;border-color:var(--sp-info)!important;color:#fff!important}
.btn-success:hover,.btn-danger:hover,.btn-warning:hover,.btn-info:hover{filter:brightness(.92)}
.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed}
.btn i{margin-right:.4rem}
.btn-icon-only{padding:.5rem}

/* Formulários */
label,.form-control-label{font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-text);margin-bottom:var(--sp-1)}
.form-control,.custom-select,select.form-control,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{
  height:auto;min-height:42px;font-family:var(--sp-font);font-size:var(--sp-fs-md);color:var(--sp-text);background:var(--sp-surface)!important;
  border:1px solid var(--sp-line-strong)!important;border-radius:var(--sp-r-sm)!important;box-shadow:none!important;padding:.6rem .85rem;
  transition:border-color var(--sp-dur) var(--sp-ease),box-shadow var(--sp-dur) var(--sp-ease)}
.form-control::placeholder{color:var(--sp-faint)}
.form-control:hover{border-color:var(--sp-faint)!important}
.form-control:focus,.custom-select:focus,.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--sp-violet-500)!important;box-shadow:var(--sp-ring)!important;outline:0}
.form-control:disabled,.form-control[readonly]{background:var(--sp-bg)!important;color:var(--sp-muted)}
.input-group-text{background:var(--sp-bg);border:1px solid var(--sp-line-strong);color:var(--sp-muted);border-radius:var(--sp-r-sm)}
.input-group>.form-control:not(:first-child){border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.input-group>.form-control:not(:last-child){border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.6;padding-left:0;color:var(--sp-text)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%}
.select2-dropdown{border:1px solid var(--sp-line-strong);border-radius:var(--sp-r-md);box-shadow:var(--sp-shadow-pop);overflow:hidden}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--sp-violet-50);color:var(--sp-violet-700)}
.custom-control-input:checked~.custom-control-label::before{background:var(--sp-violet-500);border-color:var(--sp-violet-500)}
.custom-control-input:focus~.custom-control-label::before{box-shadow:var(--sp-ring)}
.custom-toggle input:checked+.custom-toggle-slider{border-color:var(--sp-violet-500)}
.custom-toggle input:checked+.custom-toggle-slider:before{background:var(--sp-violet-500)}
.form-error-msg,.invalid-feedback,.error{color:var(--sp-danger)!important;font-size:var(--sp-fs-xs);display:block;margin-top:var(--sp-1)}
.is-invalid,.has-danger .form-control{border-color:var(--sp-danger)!important}

/* Tabelas */
.table{color:var(--sp-text);font-size:var(--sp-fs-sm)}
.table thead th,.thead-light th{background:var(--sp-surface-2)!important;color:var(--sp-muted);font-size:var(--sp-fs-xs);font-weight:500;
  text-transform:none!important;letter-spacing:0;border-top:0!important;border-bottom:1px solid var(--sp-line)!important;padding:.75rem 1rem;white-space:nowrap}
.table td{padding:.85rem 1rem;vertical-align:middle;border-top:1px solid var(--sp-line)!important;font-variant-numeric:tabular-nums}
.table-striped tbody tr:nth-of-type(odd){background:transparent}
.table-hover tbody tr:hover,.table tbody tr:hover{background:var(--sp-surface-2)}
.table-bordered,.table-bordered td,.table-bordered th{border:0}
.table-flush td,.table-flush th{border-left:0;border-right:0}
.table-responsive{border-radius:var(--sp-r-md)}
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid var(--sp-line-strong);border-radius:var(--sp-r-sm);padding:.35rem .6rem;background:var(--sp-surface)}
.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{font-size:var(--sp-fs-sm);color:var(--sp-muted)}

/* Badges e alertas: cor semântica sempre acompanha texto (não só cor) */
.badge{font-family:var(--sp-font);font-weight:500;font-size:var(--sp-fs-xs);text-transform:none!important;letter-spacing:0;padding:.3rem .6rem;border-radius:999px;border:1px solid transparent}
.badge-primary{background:var(--sp-violet-50)!important;color:var(--sp-violet-700)!important;border-color:var(--sp-violet-100)}
.badge-success{background:var(--sp-success-bg)!important;color:var(--sp-success)!important;border-color:var(--sp-success-line)}
.badge-warning{background:var(--sp-warning-bg)!important;color:var(--sp-warning)!important;border-color:var(--sp-warning-line)}
.badge-danger{background:var(--sp-danger-bg)!important;color:var(--sp-danger)!important;border-color:var(--sp-danger-line)}
.badge-info{background:var(--sp-info-bg)!important;color:var(--sp-info)!important;border-color:var(--sp-info-line)}
.badge-default,.badge-secondary,.badge-neutral,.badge-light{background:var(--sp-bg)!important;color:var(--sp-muted)!important;border-color:var(--sp-line)}
.badge-circle{border-radius:50%;padding:0;min-width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center}
.sidenav .badge-danger{background:var(--sp-orange-500)!important;color:var(--sp-ink-950)!important;border:0}
.badge-dot i{width:.5rem;height:.5rem;border-radius:50%}
.alert{border-radius:var(--sp-r-md);border:1px solid;font-size:var(--sp-fs-sm);box-shadow:none}
.alert-success{background:var(--sp-success-bg);border-color:var(--sp-success-line);color:var(--sp-success)}
.alert-warning{background:var(--sp-warning-bg);border-color:var(--sp-warning-line);color:var(--sp-warning)}
.alert-danger{background:var(--sp-danger-bg);border-color:var(--sp-danger-line);color:var(--sp-danger)}
.alert-info{background:var(--sp-info-bg);border-color:var(--sp-info-line);color:var(--sp-info)}
.alert-primary,.alert-default{background:var(--sp-violet-50);border-color:var(--sp-violet-100);color:var(--sp-violet-700)}

/* Abas, listas, paginação, menus, modais */
.nav-pills .nav-link,.nav-tabs .nav-link{font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-muted);border-radius:var(--sp-r-sm)}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background:var(--sp-violet-50)!important;color:var(--sp-violet-700)!important;box-shadow:none}
.nav-tabs{border-bottom:1px solid var(--sp-line)}
.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;border-radius:0}
.nav-tabs .nav-link.active{color:var(--sp-violet-700);background:transparent;border-bottom-color:var(--sp-violet-500)}
.list-group-item{border-color:var(--sp-line);background:transparent;padding:.75rem 0;border-left:0;border-right:0}
.card .list-group{margin:0}
.card .list-group-item:first-child{border-top:0}
.pagination .page-link{color:var(--sp-text);border:1px solid var(--sp-line);border-radius:var(--sp-r-sm);margin:0 2px;font-size:var(--sp-fs-sm);font-variant-numeric:tabular-nums}
.pagination .page-item.active .page-link{background:var(--sp-violet-500);border-color:var(--sp-violet-500);color:#fff}
.dropdown-menu{border:1px solid var(--sp-line);border-radius:var(--sp-r-md);box-shadow:var(--sp-shadow-pop);padding:var(--sp-2);font-size:var(--sp-fs-sm);animation:sp-pop var(--sp-dur) var(--sp-ease)}
.dropdown-item{border-radius:var(--sp-r-sm);padding:.5rem .75rem;color:var(--sp-text);display:flex;align-items:center;gap:var(--sp-2)}
.dropdown-item i{color:var(--sp-muted);margin:0!important}
.dropdown-item:hover,.dropdown-item:focus{background:var(--sp-bg);color:var(--sp-text)}
.dropdown-divider{border-color:var(--sp-line)}
.modal-content{border:1px solid var(--sp-line);border-radius:var(--sp-r-md);box-shadow:var(--sp-shadow-pop)}
.modal-header{border-bottom:1px solid var(--sp-line);padding:var(--sp-4) var(--sp-5)}
.modal-footer{border-top:1px solid var(--sp-line);padding:var(--sp-3) var(--sp-5)}
.modal-body{padding:var(--sp-5)}
.modal-backdrop.show{opacity:.5;background:var(--sp-ink-950)}
.progress{height:6px;border-radius:999px;background:var(--sp-line)}
.progress-bar{background:var(--sp-violet-500)}
.breadcrumb{background:transparent;padding:0}
.page-item.disabled .page-link{color:var(--sp-faint)}
.tooltip-inner{font-family:var(--sp-font);font-size:var(--sp-fs-xs);border-radius:var(--sp-r-sm);background:var(--sp-ink-950)}
#toast-container>div,.toast{font-family:var(--sp-font);border-radius:var(--sp-r-md)!important;box-shadow:var(--sp-shadow-pop)!important;opacity:1}
.swal2-popup,.sweet-alert{font-family:var(--sp-font)!important;border-radius:var(--sp-r-md)!important}

/* Estados vazios */
.sp-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-7) var(--sp-5);color:var(--sp-muted)}
.sp-empty i{font-size:2rem;color:var(--sp-faint)}
.sp-empty strong{color:var(--sp-text);font-weight:600;font-size:var(--sp-fs-md)}
.sp-empty p{margin:0;font-size:var(--sp-fs-sm);max-width:36ch}

/* Esqueleto de carregamento */
.sp-skeleton{border-radius:var(--sp-r-sm);background:linear-gradient(90deg,var(--sp-line) 25%,var(--sp-bg) 50%,var(--sp-line) 75%);background-size:200% 100%;animation:sp-shimmer 1.4s linear infinite;min-height:1em}

/* 6. DASHBOARD ------------------------------------------------------------- */
/* Painel de saldo: o único elemento de ênfase da plataforma */
.sp-vault{position:relative;background:var(--sp-ink-950);color:#EDE9FA;border-radius:var(--sp-r-lg);padding:var(--sp-6);overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--sp-6);align-items:end;margin-bottom:var(--sp-5)}
.sp-vault:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(136,3,255,.55),rgba(136,3,255,0) 70%);pointer-events:none}
.sp-vault-label{font-size:var(--sp-fs-sm);color:#B9AFDB;margin:0 0 var(--sp-2);font-weight:500}
.sp-vault-amount{font-size:clamp(2.2rem,5vw,var(--sp-fs-3xl));font-weight:600;letter-spacing:-.035em;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums;margin:0}
.sp-vault-amount small{font-size:.45em;font-weight:500;color:#B9AFDB;letter-spacing:0;margin-right:.35em}
.sp-vault-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);position:relative;z-index:1}
.sp-vault-split div{border-left:1px solid rgba(255,255,255,.16);padding-left:var(--sp-4)}
.sp-vault-split dt{font-size:var(--sp-fs-xs);font-weight:500;color:#B9AFDB;margin:0 0 var(--sp-1)}
.sp-vault-split dd{margin:0;font-size:var(--sp-fs-lg);font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.sp-vault-split .is-pending dt:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--sp-orange-500);margin-right:.4rem}
.sp-vault-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap;position:relative;z-index:1}
.sp-vault-actions .btn-primary{background:#fff!important;border-color:#fff!important;color:var(--sp-ink-950)!important}
.sp-vault-actions .btn-primary:hover{background:var(--sp-violet-100)!important;border-color:var(--sp-violet-100)!important}
.sp-vault-actions .btn-ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important}
.sp-vault-actions .btn-ghost:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.5)!important}

.sp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}
.sp-kpi{padding:var(--sp-4) var(--sp-5);background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:var(--sp-r-md)}
.sp-kpi dt{font-size:var(--sp-fs-sm);color:var(--sp-muted);font-weight:500;margin:0 0 var(--sp-1)}
.sp-kpi dd{margin:0;font-size:var(--sp-fs-xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

.sp-panel{background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:var(--sp-r-md);margin-bottom:var(--sp-4)}
.sp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--sp-line)}
.sp-panel-head h2,.sp-panel-head h3{margin:0;font-size:1rem}
.sp-panel-body{padding:var(--sp-5)}
.sp-rows{list-style:none;margin:0;padding:0}
.sp-rows li{display:flex;align-items:center;gap:var(--sp-3);padding:.7rem 0;border-top:1px solid var(--sp-line);font-size:var(--sp-fs-sm)}
.sp-rows li:first-child{border-top:0;padding-top:0}
.sp-rows li:last-child{padding-bottom:0}
.sp-rows .sp-row-icon{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--sp-r-sm);background:var(--sp-violet-50);color:var(--sp-violet-600);flex:none}
.sp-rows .sp-row-value{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-rows .is-paid .sp-row-value{color:var(--sp-success)} .sp-rows .is-pending .sp-row-value{color:var(--sp-warning)} .sp-rows .is-lost .sp-row-value{color:var(--sp-danger)}

/* 5. AUTENTICAÇÃO ---------------------------------------------------------- */
.sp-auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:var(--sp-surface)}
.sp-auth-form{display:flex;flex-direction:column;justify-content:center;padding:var(--sp-7) clamp(1.5rem,6vw,5rem);max-width:560px;width:100%;margin:0 auto}
.sp-auth-logo{height:36px;width:auto;margin-bottom:var(--sp-7);align-self:flex-start}
.sp-auth-form h1{font-size:var(--sp-fs-2xl);letter-spacing:-.03em;margin:0 0 var(--sp-2)}
.sp-auth-form .sp-lead{color:var(--sp-muted);margin:0 0 var(--sp-6);font-size:var(--sp-fs-md)}
.sp-auth-form .form-group{margin-bottom:var(--sp-4)}
.sp-auth-form .btn-block{padding:.8rem 1rem;font-size:var(--sp-fs-md)}
.sp-auth-divider{display:flex;align-items:center;gap:var(--sp-3);color:var(--sp-faint);font-size:var(--sp-fs-xs);margin:var(--sp-4) 0}
.sp-auth-divider:before,.sp-auth-divider:after{content:"";flex:1;height:1px;background:var(--sp-line)}
.sp-auth-aside{position:relative;background:var(--sp-ink-950);color:#EDE9FA;display:flex;flex-direction:column;justify-content:space-between;padding:var(--sp-7) clamp(2rem,5vw,4.5rem);overflow:hidden}
.sp-auth-aside:before{content:"";position:absolute;inset:auto -20% -35% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(136,3,255,.5),rgba(136,3,255,0) 68%)}
.sp-auth-aside>*{position:relative}
.sp-auth-aside blockquote{margin:0;font-size:var(--sp-fs-xl);line-height:1.3;letter-spacing:-.02em;font-weight:500;max-width:22ch}
.sp-auth-facts{list-style:none;margin:var(--sp-6) 0 0;padding:0;display:grid;gap:var(--sp-3);font-size:var(--sp-fs-sm);color:#C9C0E6}
.sp-auth-facts li{display:flex;gap:var(--sp-3);align-items:flex-start}
.sp-auth-facts i{color:var(--sp-orange-500);margin-top:.15rem}
.sp-auth-foot{font-size:var(--sp-fs-xs);color:#8D84AD}

/* 7. UTILITÁRIOS ----------------------------------------------------------- */
.sp-stack>*+*{margin-top:var(--sp-4)} .sp-row{display:flex;gap:var(--sp-3);align-items:center}
.sp-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sp-skip{position:absolute;left:-999px;top:var(--sp-2);background:var(--sp-violet-500);color:#fff;padding:.5rem 1rem;border-radius:var(--sp-r-sm);z-index:2000}
.sp-skip:focus{left:var(--sp-2);color:#fff}

@keyframes sp-pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes sp-shimmer{to{background-position:-200% 0}}
@keyframes sp-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sp-vault{animation:sp-rise .4s var(--sp-ease) both} /* único momento de entrada orquestrado */

/* 8. RESPONSIVO ------------------------------------------------------------ */
@media (max-width:1199.98px){
  .container-fluid{padding-left:var(--sp-4);padding-right:var(--sp-4)}
  .navbar-top .navbar-search .form-control{width:100%}
}
@media (max-width:991.98px){
  .sp-vault{grid-template-columns:1fr;gap:var(--sp-5);padding:var(--sp-5)}
  .sp-kpi{padding:var(--sp-3) var(--sp-4)} .sp-kpi dd{font-size:var(--sp-fs-lg)}
  .sp-auth{grid-template-columns:1fr}
  .sp-auth-aside{display:none}
  .sp-auth-form{padding:var(--sp-6) var(--sp-5)}
}
@media (max-width:575.98px){
  .sp-kpis{grid-template-columns:1fr}
  .sp-vault-split{grid-template-columns:1fr 1fr}
  .btn{min-height:44px}
  .table td,.table thead th{padding:.7rem .75rem}
  .sp-balance-chip small{display:none}
}

/* 9. ACESSIBILIDADE -------------------------------------------------------- */
:focus-visible{outline:2px solid var(--sp-violet-500);outline-offset:2px;border-radius:2px}
.sidenav :focus-visible{outline-color:var(--sp-violet-200)}
.form-control:focus-visible,.btn:focus-visible{outline:0}
.btn:focus-visible{box-shadow:var(--sp-ring)!important}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media (forced-colors:active){.btn,.badge,.card{border:1px solid ButtonText}}

/* Páginas de autenticação: o topo do Argon dá lugar ao layout em duas colunas */
.sp-auth-body{background:var(--sp-surface)!important}
.sp-auth-body #navbar-main{display:none}
.sp-auth-body .main-content{background:transparent!important}
.sp-auth-form .custom-control-label{font-weight:400;font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-auth-form .sp-link-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin:var(--sp-2) 0 var(--sp-5);font-size:var(--sp-fs-sm)}
.sp-auth-form .sp-switch{margin-top:var(--sp-5);font-size:var(--sp-fs-sm);color:var(--sp-muted);text-align:center}
.sp-auth-form .sp-switch a{font-weight:600}
.sp-pass{position:relative}
.sp-pass .form-control{padding-right:3rem}
.sp-pass button{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--sp-muted);width:2.25rem;height:2.25rem;border-radius:var(--sp-r-sm);cursor:pointer}
.sp-pass button:hover{background:var(--sp-bg);color:var(--sp-text)}

/* Barra de status (substitui o gráfico de rosca que usava números fixos) */
.sp-statusbar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--sp-line);gap:2px}
.sp-statusbar span{display:block;min-width:0}
.sp-statusbar .is-paid{background:var(--sp-success)} .sp-statusbar .is-pending{background:var(--sp-orange-500)} .sp-statusbar .is-lost{background:var(--sp-danger)}
.sp-dot{width:.5rem;height:.5rem;border-radius:50%;flex:none}
.sp-dot.is-paid{background:var(--sp-success)} .sp-dot.is-pending{background:var(--sp-orange-500)} .sp-dot.is-lost{background:var(--sp-danger)}
.sp-rows .is-paid .sp-row-value,.sp-rows .is-pending .sp-row-value,.sp-rows .is-lost .sp-row-value{color:var(--sp-text)}
.btn-ghost{background:transparent;border-color:var(--sp-line-strong);color:var(--sp-text)}
.sp-vault-dl{margin:0}
.sp-kpis{margin:0 0 var(--sp-5)}
.sp-kpis .sp-kpi dd,.sp-vault-split dd{margin-left:0}

/* Topo: alternador do menu visível no fundo claro; busca sempre em linha */
.navbar-top .sidenav-toggler-line{background:var(--sp-text)!important}
.navbar-top .navbar-search .input-group{flex-wrap:nowrap;width:min(20rem,100%)}
.navbar-top .navbar-search .form-control{width:auto;flex:1 1 auto;min-width:0}
.navbar-top .navbar-search .form-group{margin:0}

/* Ajustes finos */
.alert{padding:.75rem 1rem}
.alert .close{padding:.75rem 1rem}
.page-link{box-shadow:none!important;background:var(--sp-surface)}
.fad,.fas,.far,.fal{font-size:inherit}
.btn .fad,.btn .fas,.btn .far{margin-right:.4rem}

/* Telas de autenticação secundárias (senha, 2FA, verificação, banco, país, bloqueio):
   a marcação antiga em cartão é reaproveitada dentro de um casco centralizado */
.sp-center-logo{display:none}
.sp-center{background:var(--sp-bg)!important}
.sp-center .sp-center-logo{display:flex;justify-content:center;padding:var(--sp-6) var(--sp-4) var(--sp-2)}
.sp-center .sp-center-logo img{height:34px;width:auto}
.sp-center #navbar-main{position:absolute;top:0;left:0;right:0;background:transparent!important;padding:var(--sp-3) 0}
.sp-center #navbar-main .navbar-brand{font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-muted)!important;display:inline-flex;align-items:center;gap:var(--sp-2)}
.sp-center #navbar-main .navbar-brand:hover{color:var(--sp-text)!important}
.sp-center .main-content{background:transparent!important}
.sp-center .main-content>.header,.sp-center .main-content>.header+.header{padding:0!important;min-height:0}
.sp-center .main-content>.header .header-body{margin:0!important}
.sp-center .main-content>.header .container,.sp-center .main-content>.header .header-body>.row:empty{display:none}
.sp-center .container.mt--8{margin-top:var(--sp-4)!important}
.sp-center .card{border:1px solid var(--sp-line)!important;background:var(--sp-surface)!important}
.sp-center .card .card-body{padding:var(--sp-6)!important}
.sp-center .card-header:empty{display:none}
.sp-center h1,.sp-center h2,.sp-center h3,.sp-center h5{text-transform:none!important;letter-spacing:-.02em;color:var(--sp-text)!important}
.sp-center .text-uppercase:not(.btn){text-transform:none!important}
.sp-center .text-default,.sp-center .text-dark{color:var(--sp-text)!important}
.sp-center small,.sp-center .text-xs{font-size:var(--sp-fs-sm)}
.sp-center .card-profile-image{display:flex;justify-content:center;margin:0 0 var(--sp-3)!important}
.sp-center .card-profile-image img{position:static!important;transform:none!important;width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--sp-surface),0 0 0 4px var(--sp-line)}
.sp-center form .btn-block.btn-neutral,.sp-center form button[type=submit].btn-block{background:var(--sp-violet-500)!important;border-color:var(--sp-violet-500)!important;color:#fff!important;padding:.8rem 1rem;font-size:var(--sp-fs-md);margin-top:var(--sp-4)!important;margin-bottom:var(--sp-3)!important}
.sp-center form .btn-block.btn-neutral:hover{background:var(--sp-violet-600)!important;border-color:var(--sp-violet-600)!important}
.loginSignUpSeparator{display:flex;align-items:center;gap:var(--sp-3);color:var(--sp-faint);font-size:var(--sp-fs-xs);margin:var(--sp-3) 0;border:0!important;height:auto!important;background:none!important;line-height:1}
.loginSignUpSeparator:before,.loginSignUpSeparator:after{content:"";flex:1;height:1px;background:var(--sp-line)}
.loginSignUpSeparator .textInSeparator{position:static!important;background:none!important;padding:0!important;color:inherit}
.sp-center .input-group-prepend .input-group-text{border-right:0}
.sp-center .input-group-prepend+.form-control{border-left:0!important}
.sp-center .col-form-label{font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-text)}
.sp-center .card-header.bg-transparent:not(:has(*)){display:none}
.sp-center a.btn-primary.btn-block{background:transparent!important;color:var(--sp-text)!important;border-color:var(--sp-line-strong)!important}
.sp-center a.btn-primary.btn-block:hover{background:var(--sp-bg)!important}
.sp-center #navbar-main .navbar-brand{text-transform:none}

/* Páginas públicas de pagamento (fatura, link, produto, recarga) */
.sp-pay{background:var(--sp-bg)!important}
.sp-pay #navbar-main{display:none}
.sp-pay .main-content{background:transparent!important}
.sp-pay .header{padding-top:var(--sp-5)!important;padding-bottom:0!important;background:transparent!important}
.sp-pay .container.mt--8,.sp-pay .container.mt--6{margin-top:var(--sp-3)!important}
.sp-pay .text-uppercase:not(.btn){text-transform:none!important}
.sp-pay .surtitle{color:var(--sp-muted)!important;font-size:var(--sp-fs-sm)!important;font-weight:500;letter-spacing:0!important;text-transform:none!important}
.sp-pay .card{border-radius:var(--sp-r-md)!important}
.sp-pay h1,.sp-pay h2,.sp-pay h3,.sp-pay .h1,.sp-pay .h2,.sp-pay .display-3,.sp-pay .display-4{color:var(--sp-text)!important;letter-spacing:-.02em;text-transform:none}
.sp-pay .btn-block{padding:.8rem 1rem;font-size:var(--sp-fs-md)}
.sp-pay hr{margin:var(--sp-5) 0}
.sp-pay .badge{font-size:var(--sp-fs-xs)}

/* Fase final: botão info como secundário; link "Início" com respiro */
.btn-info{background:#F3EEFF!important;border-color:#E3D6FF!important;color:var(--sp-violet-700)!important}
.btn-info:hover,.btn-info:focus{background:#E9DDFF!important;filter:none}
.sp-center .navbar-brand.text-dark,.navbar-brand.text-dark{display:inline-flex;align-items:center;gap:.4rem;padding:.9rem 1rem;color:var(--sp-muted)!important;font-size:var(--sp-fs-sm);font-weight:500}
.sp-center .navbar-brand.text-dark:hover{color:var(--sp-violet-700)!important}

/* 10. ADMIN ---------------------------------------------------------------- */
/* Barra superior: título da página à esquerda, identidade do admin à direita. */
.sp-topbar-title{margin:0;font-size:var(--sp-fs-lg);font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--sp-text)}
.sp-topbar-link{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--sp-muted)!important;font-size:var(--sp-fs-sm);font-weight:500;
  padding:.45rem .7rem!important;border-radius:var(--sp-r-sm);transition:background var(--sp-dur) var(--sp-ease),color var(--sp-dur) var(--sp-ease)}
.sp-topbar-link:hover{background:var(--sp-bg);color:var(--sp-text)!important}
.sp-topbar-link i{font-size:1rem}
.sp-topbar-user{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3)}
.sp-avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sp-violet-50);color:var(--sp-violet-700);
  font-weight:600;font-size:var(--sp-fs-sm);box-shadow:0 0 0 1px var(--sp-violet-100)}
.sp-topbar-name{font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-text)}
.navbar-top .navbar-collapse{align-items:center}

/* Indicadores (KPIs) */
.sp-admin-dash .sp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}
.sp-admin-dash .sp-kpi{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-5);background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:var(--sp-r-md);min-width:0}
.sp-admin-dash .sp-kpi-label{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-muted)}
.sp-admin-dash .sp-kpi-label i{color:var(--sp-violet-600);font-size:1rem}
.sp-admin-dash .sp-kpi-value{font-size:var(--sp-fs-xl);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--sp-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sp-admin-dash .sp-kpi-sub{font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:baseline}
.sp-dot--ok{background:var(--sp-success)} .sp-dot--bad{background:var(--sp-danger);margin-left:.15rem}

/* Painéis e tabelas simples */
.sp-panel{margin-bottom:var(--sp-5)}
.sp-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--sp-line)}
.sp-panel-head h2{margin:0;font-size:var(--sp-fs-md);font-weight:600}
.sp-panel-note{font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-panel-body{padding:var(--sp-5);margin:0;color:var(--sp-muted)}
.sp-table-plain{margin:0}
.sp-table-plain th{font-size:var(--sp-fs-xs);font-weight:500;color:var(--sp-muted);text-transform:none;letter-spacing:0;border-top:0;white-space:nowrap}
.sp-table-plain td,.sp-table-plain th{padding:.8rem var(--sp-5);vertical-align:middle}
.sp-table-plain tbody tr:last-child td{border-bottom:0}
.sp-table-plain tfoot th{border-top:1px solid var(--sp-line-strong);color:var(--sp-text);font-size:var(--sp-fs-sm);font-weight:600}
.sp-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-mod-icon{color:var(--sp-violet-600);margin-right:var(--sp-3);font-size:1rem;vertical-align:-1px}
.sp-col-bar{width:22%;min-width:96px}
.sp-bar{display:block;height:6px;border-radius:999px;background:var(--sp-violet-50);overflow:hidden}
.sp-bar i{display:block;height:100%;border-radius:999px;background:var(--sp-violet-500)}

/* Atalhos */
.sp-shortcuts{display:grid;gap:2px;padding:var(--sp-3)}
.sp-shortcuts a{display:flex;align-items:center;gap:var(--sp-3);padding:.65rem var(--sp-3);border-radius:var(--sp-r-sm);color:var(--sp-text);font-size:var(--sp-fs-sm);font-weight:500;
  transition:background var(--sp-dur) var(--sp-ease)}
.sp-shortcuts a:hover{background:var(--sp-violet-50);color:var(--sp-violet-700);text-decoration:none}
.sp-shortcuts i{color:var(--sp-violet-600);font-size:1.05rem;width:1.25rem;text-align:center}

/* Tabelas de dados (DataTables) */
.dt-buttons .btn{border-color:var(--sp-line-strong)!important;color:var(--sp-text)!important;background:var(--sp-surface)!important;font-size:var(--sp-fs-xs);font-weight:500}
.dt-buttons .btn:hover{background:var(--sp-violet-50)!important;color:var(--sp-violet-700)!important}
.dataTables_wrapper .dataTables_empty{padding:var(--sp-6) var(--sp-4)!important;text-align:center;color:var(--sp-muted)}
.table-responsive{-webkit-overflow-scrolling:touch}
.main-content .card{min-width:0}

/* Responsivo do Admin */
@media (max-width:1199.98px){.sp-admin-dash .sp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){
  .sp-admin-dash .sp-kpis{grid-template-columns:1fr;gap:var(--sp-3)}
  .sp-topbar-title{font-size:var(--sp-fs-md)}
  .sp-panel-head{flex-wrap:wrap}
  .sp-table-plain td,.sp-table-plain th{padding:.7rem var(--sp-4)}
  .sp-col-bar{display:none}
}
@media (prefers-reduced-motion:reduce){.sp-topbar-link,.sp-shortcuts a{transition:none}}

/* 11. CONTA E CADASTRO (PF/PJ) -------------------------------------------- */
.sp-req{color:var(--sp-danger);font-weight:600}
.sp-seg{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);border:0;padding:0;margin:0 0 var(--sp-2)}
.sp-seg label{margin:0;cursor:pointer}
.sp-seg input{position:absolute;opacity:0;pointer-events:none}
.sp-seg span{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--sp-line-strong);border-radius:var(--sp-r-md);
  background:var(--sp-surface);font-weight:600;font-size:var(--sp-fs-md);color:var(--sp-text);transition:border-color var(--sp-dur) var(--sp-ease),background var(--sp-dur) var(--sp-ease)}
.sp-seg small{font-weight:400;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-seg label:hover span{border-color:var(--sp-violet-200)}
.sp-seg input:checked+span{border-color:var(--sp-violet-500);background:var(--sp-violet-50);box-shadow:0 0 0 1px var(--sp-violet-500) inset}
.sp-seg input:focus-visible+span{box-shadow:var(--sp-ring)}
[data-sp-for][hidden]{display:none!important}

.sp-pill{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;font-size:var(--sp-fs-sm);font-weight:600;border:1px solid transparent}
.sp-pill--success{background:var(--sp-success-bg);color:var(--sp-success);border-color:var(--sp-success-line)}
.sp-pill--warning{background:var(--sp-warning-bg);color:var(--sp-warning);border-color:var(--sp-warning-line)}
.sp-pill--danger{background:var(--sp-danger-bg);color:var(--sp-danger);border-color:var(--sp-danger-line)}
.sp-pill--info{background:var(--sp-info-bg);color:var(--sp-info);border-color:var(--sp-info-line)}
.sp-acct{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--sp-5);padding:var(--sp-5)}
.sp-acct-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}
.sp-acct-desc{margin:0;color:var(--sp-muted);max-width:46ch}
.sp-acct-meta{margin:0;display:grid;gap:var(--sp-3)}
.sp-acct-meta dt{font-size:var(--sp-fs-xs);font-weight:500;color:var(--sp-muted);margin:0}
.sp-acct-meta dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.sp-steps{list-style:none;margin:0;padding:var(--sp-2) var(--sp-5) var(--sp-4)}
.sp-step{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:var(--sp-3);padding:.7rem 0;border-bottom:1px solid var(--sp-line)}
.sp-step:last-child{border-bottom:0}
.sp-step-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--sp-line-strong);font-size:.8rem;font-weight:700;color:var(--sp-faint)}
.sp-step--done .sp-step-mark{background:var(--sp-success);border-color:var(--sp-success);color:#fff}
.sp-step--review .sp-step-mark{border-color:var(--sp-info);color:var(--sp-info)}
.sp-step--attention .sp-step-mark{background:var(--sp-danger);border-color:var(--sp-danger);color:#fff}
.sp-step-label{font-weight:500}
.sp-step-state{font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-step--attention .sp-step-state{color:var(--sp-danger);font-weight:600}
.sp-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-4);border:1px solid var(--sp-line);border-radius:var(--sp-r-md);background:var(--sp-surface)}
.sp-banner--warning{background:var(--sp-warning-bg);border-color:var(--sp-warning-line)}
.sp-banner--danger{background:var(--sp-danger-bg);border-color:var(--sp-danger-line)}
.sp-banner--info{background:var(--sp-info-bg);border-color:var(--sp-info-line)}
.sp-banner p{margin:0;font-size:var(--sp-fs-sm);color:var(--sp-text)}
.sp-banner strong{font-weight:600}
@media (max-width:767.98px){.sp-acct{grid-template-columns:1fr}.sp-seg{grid-template-columns:1fr}.sp-step{grid-template-columns:28px 1fr}.sp-step-state{grid-column:2}}

/* ---- 12. Etapas do cadastro e titular da conta bancária ---- */
.sp-auth--single{grid-template-columns:minmax(0,1fr)}
.sp-auth-form--wide{max-width:620px}
.sp-progress{list-style:none;display:flex;gap:var(--sp-2);margin:0 0 var(--sp-6);padding:0;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-progress li{flex:1;display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-3);border-top:3px solid var(--sp-line)}
.sp-progress li span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--sp-line);color:var(--sp-muted);font-weight:600}
.sp-progress li.is-done{border-top-color:var(--sp-violet-500);color:var(--sp-text)}
.sp-progress li.is-done span{background:var(--sp-violet-500);color:#fff}
.sp-progress li.is-current{border-top-color:var(--sp-violet-500);color:var(--sp-text);font-weight:600}
.sp-progress li.is-current span{background:var(--sp-violet-50);color:var(--sp-violet-500);box-shadow:0 0 0 1px var(--sp-violet-500) inset}
.sp-holder{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);margin:0 0 var(--sp-5);background:var(--sp-violet-50);border:1px solid var(--sp-violet-200);border-radius:var(--sp-r-md)}
.sp-holder-ico{font-size:1.4rem;color:var(--sp-violet-500);line-height:1}
.sp-holder strong{display:block;font-weight:600}
.sp-holder span{display:block;font-size:var(--sp-fs-sm);color:var(--sp-text)}
.sp-holder small{display:block;margin-top:var(--sp-1);font-size:var(--sp-fs-xs);color:var(--sp-muted)}
@media (max-width:575.98px){.sp-progress{font-size:.7rem}.sp-progress li{flex-direction:column;align-items:flex-start;gap:var(--sp-1)}}

/* 13. Menu da conta do cliente: foto ou iniciais, cabeçalho do menu e botão Sair */
.sp-avatar--lg{width:36px;height:36px;font-weight:700;font-size:.85rem}
.sp-avatar--xl{width:96px;height:96px;font-size:1.9rem;font-weight:700}
.sp-avatar--img{object-fit:cover;background:var(--sp-violet-50);border-radius:50%;display:inline-block;padding:0}
.sp-usermenu{display:inline-flex;align-items:center;gap:.4rem;color:inherit}
.sp-usermenu:focus-visible,.sp-topbar-link:focus-visible{outline:2px solid var(--sp-violet-700);outline-offset:2px;border-radius:8px}
.sp-usermenu-head{display:flex;flex-direction:column;padding:.6rem 1rem .5rem;max-width:260px;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:.25rem}
.sp-usermenu-head strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-usermenu-head small{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 14. Menu lateral no celular/tablet: fechar visível, fundo escurecido, rolagem travada */
.sp-nav-close{display:none;margin-left:auto;width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;align-items:center;justify-content:center}
.sp-nav-close:hover{background:rgba(255,255,255,.16)}
.sp-nav-close:focus-visible{outline:2px solid var(--sp-violet-200);outline-offset:2px}
@media (max-width:1199.98px){
  .sp-nav-close{display:inline-flex}
  .sidenav-header .ml-auto{display:none}
  body.g-sidenav-pinned .backdrop{background:rgba(15,10,30,.6)!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  body.sp-nav-lock{overflow:hidden}
}

/* 15. Menu lateral: item ativo e textos mais nítidos; ícones centralizados quando o menu está recolhido */
#sidenav-main.sidenav .navbar-nav .nav-link{color:#E6E1F7!important}
#sidenav-main.sidenav .navbar-nav .nav-link>i{color:#BDB3DE!important}
#sidenav-main.sidenav .navbar-nav .nav-link:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
#sidenav-main.sidenav .navbar-nav .nav-link:hover>i{color:#fff!important}
#sidenav-main.sidenav .nav-sm .nav-link{color:#D2CBEA!important}
#sidenav-main.sidenav .navbar-heading{color:#A79EC9!important}
/* Ativo: violeta da marca com leve degradê, texto branco (contraste alto) e barra laranja à esquerda. O seletor mais específico
   vence a regra genérica de .nav-pills (que deixava o ativo claro e o texto roxo). */
#sidenav-main.sidenav .navbar-nav .nav-item .nav-link.active,#sidenav-main.sidenav .navbar-nav .nav-link.active:hover{
  background:linear-gradient(90deg,rgba(136,3,255,.55),rgba(136,3,255,.26))!important;color:#fff!important;font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(212,174,255,.22)!important}
#sidenav-main.sidenav .navbar-nav .nav-item .nav-link.active>i{color:#fff!important}
#sidenav-main.sidenav .navbar-nav .nav-link.active:before{left:-12px}
#sidenav-main.sidenav .navbar-nav .nav-link:focus-visible{outline:2px solid var(--sp-violet-200);outline-offset:1px}
/* Recolhido (rail de 62px): sem texto, ícone no centro do botão, e o botão com largura própria — antes o fundo do ativo
   ficava menor que o ícone e o ícone vazava para fora. */
@media (min-width:1200px){
  .g-sidenav-hidden:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav,.g-sidenav-hide:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav{padding:0}
  .g-sidenav-hidden:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav .nav-link,.g-sidenav-hide:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav .nav-link{
    justify-content:center;gap:0;width:42px;height:40px;margin:2px 10px!important;padding:0!important}
  .g-sidenav-hidden:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav .nav-link>i,.g-sidenav-hide:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav .nav-link>i{margin:0!important}
  .g-sidenav-hidden:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav .nav-link.active:before,.g-sidenav-hide:not(.g-sidenav-show) #sidenav-main.sidenav .navbar-nav .nav-link.active:before{left:-10px}
}
#sidenav-main.sidenav .navbar-nav .nav-link .nav-link-text{color:inherit!important}

/* 16. Transações e Adicionar saldo (dentro do layout principal) ---------------------------------------------- */
.sp-page-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.sp-kpis--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sp-kpi small{display:block;margin-top:var(--sp-1);font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-kpi--in dd{color:var(--sp-success)} .sp-kpi--out dd{color:var(--sp-text)} .sp-kpi--pend dd{color:var(--sp-warning)}

.sp-tx-panel{overflow:hidden}
.sp-tx-tabs{display:flex;gap:var(--sp-1);overflow-x:auto;padding:var(--sp-3) var(--sp-4) 0;border-bottom:1px solid var(--sp-line);scrollbar-width:thin}
.sp-tx-tab{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;padding:.65rem .9rem;margin-bottom:-1px;border-bottom:2px solid transparent;
  color:var(--sp-muted);font-size:var(--sp-fs-sm);font-weight:500}
.sp-tx-tab:hover{color:var(--sp-text)}
.sp-tx-tab span{background:var(--sp-bg);border-radius:999px;padding:0 .5rem;font-size:var(--sp-fs-xs);font-variant-numeric:tabular-nums}
.sp-tx-tab.is-active{color:var(--sp-violet-600);border-bottom-color:var(--sp-violet-500);font-weight:600}
.sp-tx-tab.is-active span{background:var(--sp-violet-50);color:var(--sp-violet-700)}

.sp-tx-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--sp-line);background:var(--sp-surface-2)}
.sp-tx-filters .form-control{height:40px;font-size:var(--sp-fs-sm)}
.sp-tx-search{position:relative;margin:0}
.sp-tx-search i{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--sp-faint);pointer-events:none}
.sp-tx-search .form-control{padding-left:2.2rem}
.sp-tx-date{display:flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-tx-filter-actions{display:flex;gap:var(--sp-2);align-items:center}
.sp-tx-count{margin:0;padding:var(--sp-3) var(--sp-5) 0;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-tx-day{margin:0;padding:var(--sp-4) var(--sp-5) var(--sp-2);font-size:var(--sp-fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sp-muted)}
.sp-tx-list{list-style:none;margin:0;padding:0}
.sp-tx-list li{border-top:1px solid var(--sp-line)}
.sp-tx-row{display:grid;grid-template-columns:40px minmax(0,1fr) 140px 130px 48px 150px;align-items:center;gap:var(--sp-3);width:100%;
  padding:.85rem var(--sp-5);background:transparent;border:0;text-align:left;cursor:pointer;color:inherit;font:inherit}
.sp-tx-row:hover{background:var(--sp-surface-2)}
.sp-tx-row:focus-visible{outline:2px solid var(--sp-violet-500);outline-offset:-2px}
.sp-tx-ico{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:1.05rem}
.sp-tx-ico--in{background:var(--sp-success-bg);color:var(--sp-success)}
.sp-tx-ico--out{background:var(--sp-violet-50);color:var(--sp-violet-700)}
.sp-tx-main{min-width:0;display:flex;flex-direction:column}
.sp-tx-main strong{font-weight:600;font-size:var(--sp-fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-tx-main small{color:var(--sp-muted);font-size:var(--sp-fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-tx-method{font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-tx-time{font-size:var(--sp-fs-xs);color:var(--sp-faint);font-variant-numeric:tabular-nums}
.sp-tx-amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-tx-amount small{display:block;font-weight:400;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-tx-amount--in{color:var(--sp-success)} .sp-tx-amount--out{color:var(--sp-text)} .sp-tx-amount.is-muted{color:var(--sp-faint);text-decoration:none}
.sp-tx .sp-pill{font-size:var(--sp-fs-xs);padding:.15rem .6rem;gap:.3rem}
.sp-tx-pages{display:flex;justify-content:center;padding:var(--sp-4);border-top:1px solid var(--sp-line)}
.sp-tx-pages .pagination{margin:0}

.sp-tx-modal .modal-title{font-size:1rem}
.sp-tx-m-amount{font-size:var(--sp-fs-2xl);font-weight:600;letter-spacing:-.02em;margin:0;font-variant-numeric:tabular-nums}
.sp-tx-m-name{margin:0 0 var(--sp-2);color:var(--sp-muted)}
.sp-tx-m-list{margin:var(--sp-3) 0 0}
.sp-tx-m-list>div{display:flex;justify-content:space-between;gap:var(--sp-4);padding:.6rem 0;border-top:1px solid var(--sp-line);font-size:var(--sp-fs-sm)}
.sp-tx-m-list dt{font-weight:500;color:var(--sp-muted)} .sp-tx-m-list dd{margin:0;text-align:right;word-break:break-all}

@media (max-width:1199.98px){
  .sp-tx-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sp-tx-search{grid-column:1/-1}
  .sp-kpis--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-tx-row{grid-template-columns:40px minmax(0,1fr) 120px 150px}
  .sp-tx-method,.sp-tx-time{display:none}
}
@media (max-width:767.98px){
  .sp-tx-filters{grid-template-columns:1fr 1fr}
  .sp-tx-date{display:grid;gap:var(--sp-1)}
  .sp-tx-filter-actions{grid-column:1/-1}.sp-tx-filter-actions .btn{flex:1}
  .sp-tx-row{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"i m a" "i s s";row-gap:.35rem;padding:.8rem var(--sp-4)}
  .sp-tx-ico{grid-area:i;align-self:start}.sp-tx-main{grid-area:m}.sp-tx-amount{grid-area:a}.sp-tx-status{grid-area:s}
  .sp-tx-day,.sp-tx-count{padding-left:var(--sp-4);padding-right:var(--sp-4)}
}
@media (max-width:575.98px){
  .sp-kpis--4{grid-template-columns:1fr 1fr}
  .sp-tx-filters{grid-template-columns:1fr 1fr}
  .sp-page-actions{width:100%}.sp-page-actions .btn{flex:1}
}

/* Adicionar saldo */
.sp-fund-main{padding:0}
.sp-fund-step{padding:var(--sp-5);border-top:1px solid var(--sp-line)}
.sp-fund-step:first-child{border-top:0}
.sp-fund-step.is-locked{opacity:.55;pointer-events:none}
.sp-fund-h{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-4);font-size:1rem}
.sp-fund-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sp-violet-50);color:var(--sp-violet-700);font-size:var(--sp-fs-xs);font-weight:700}
.sp-fund-amount{position:relative;display:block;margin:0 0 var(--sp-3)}
.sp-fund-cur{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:600;color:var(--sp-muted)}
.sp-fund-amount .form-control{height:64px;padding-left:3.4rem;font-size:1.9rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sp-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.sp-chip{padding:.4rem .9rem;border:1px solid var(--sp-line-strong);border-radius:999px;background:var(--sp-surface);color:var(--sp-text);font-size:var(--sp-fs-sm);font-weight:500;cursor:pointer;transition:all var(--sp-dur) var(--sp-ease)}
.sp-chip:hover{border-color:var(--sp-violet-500);color:var(--sp-violet-700)}
.sp-chip.is-active{background:var(--sp-violet-50);border-color:var(--sp-violet-500);color:var(--sp-violet-700)}
.sp-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}
.sp-method{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:var(--sp-4);border:1.5px solid var(--sp-line);border-radius:var(--sp-r-md);background:var(--sp-surface);text-align:left;cursor:pointer;color:var(--sp-text);transition:all var(--sp-dur) var(--sp-ease)}
.sp-method i{font-size:1.4rem;color:var(--sp-violet-500);margin-bottom:var(--sp-1)}
.sp-method small{color:var(--sp-muted);font-size:var(--sp-fs-xs)}
.sp-method:hover{border-color:var(--sp-violet-200)}
.sp-method.is-active{border-color:var(--sp-violet-500);background:var(--sp-violet-50);box-shadow:0 0 0 3px rgba(136,3,255,.12)}
.sp-method:focus-visible{outline:2px solid var(--sp-violet-500);outline-offset:2px}
.sp-pane{display:none}.sp-pane.is-active{display:block}
.sp-fund-note{display:flex;gap:var(--sp-2);align-items:flex-start;margin:var(--sp-3) 0 0;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-fund-note i{color:var(--sp-violet-500);margin-top:2px}
.sp-fund-label{margin:0 0 var(--sp-1);font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-muted)}
.sp-fund-bal{margin:0 0 var(--sp-4);font-size:var(--sp-fs-2xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sp-sum{margin:var(--sp-4) 0 0}
.sp-sum>div{display:flex;justify-content:space-between;gap:var(--sp-3);padding:.55rem 0;border-top:1px solid var(--sp-line);font-size:var(--sp-fs-sm)}
.sp-sum dt{font-weight:400;color:var(--sp-muted)}.sp-sum dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.sp-sum .is-total dd{color:var(--sp-violet-700);font-size:var(--sp-fs-md)}
.sp-fund-tips{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3);font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-fund-tips li{display:flex;gap:var(--sp-3)}.sp-fund-tips i{color:var(--sp-violet-500);flex:none}
.sp-pixbox{max-width:460px;margin:0 auto}
.sp-pixbox-status{display:flex;align-items:center;gap:var(--sp-2);justify-content:center;padding:.6rem 1rem;margin-bottom:var(--sp-4);border-radius:999px;background:var(--sp-warning-bg);border:1px solid var(--sp-warning-line);color:var(--sp-warning);font-size:var(--sp-fs-sm);font-weight:500}
.sp-pulse{width:8px;height:8px;border-radius:50%;background:var(--sp-warning);animation:sp-pulse 1.4s ease-in-out infinite}
@keyframes sp-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.sp-pixbox-help{text-align:center;color:var(--sp-muted);font-size:var(--sp-fs-sm)}
.sp-pixbox-qr{display:flex;justify-content:center;margin:var(--sp-4) 0;padding:var(--sp-4);border:1px solid var(--sp-line);border-radius:var(--sp-r-md);background:#fff}
.sp-pixbox-qr img{max-width:100%;height:auto}
.sp-boleto-bar svg{max-width:100%;height:auto}
.sp-pixbox-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4)}.sp-pixbox-actions .btn{flex:1}
@media (prefers-reduced-motion:reduce){.sp-pulse{animation:none}}
@media (max-width:575.98px){
  .sp-fund-step{padding:var(--sp-4)}
  .sp-fund-amount .form-control{height:58px;font-size:1.6rem}
  .sp-methods{grid-template-columns:1fr}
  .sp-method{flex-direction:row;align-items:center;gap:var(--sp-3)}.sp-method i{margin:0}
}

/* 17. Saque, Transferir, Disputas e Reembolsos --------------------------------------------------------------- */
.sp-pill--secondary{background:var(--sp-bg);color:var(--sp-muted);border-color:var(--sp-line-strong)}
.sp-tx-row.is-static{cursor:default}
.sp-tx-row.is-static:hover{background:transparent}
.sp-tag{display:inline-block;margin-left:.35rem;padding:0 .5rem;border-radius:999px;background:var(--sp-violet-50);color:var(--sp-violet-700);font-size:var(--sp-fs-xs);font-weight:600;vertical-align:1px}
.sp-err-line{color:var(--sp-danger)!important;white-space:normal!important}
.sp-field-error{margin:var(--sp-2) 0 0;font-size:var(--sp-fs-sm);color:var(--sp-danger)}
.sp-field-error[hidden]{display:none}
.sp-todo{margin:0;padding-left:1.1rem;font-size:var(--sp-fs-sm)}
.sp-todo li{margin:.15rem 0}
.sp-chip:disabled{opacity:.5;cursor:not-allowed}
.sp-btn-icon{padding:.35rem .6rem}.sp-btn-icon i{margin:0}
.sp-todo-list{list-style:none;margin:0;padding:0}
.sp-todo-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:.8rem var(--sp-5);border-top:1px solid var(--sp-line);font-size:var(--sp-fs-sm)}
.sp-todo-list li:first-child{border-top:0}
.sp-todo-list small{display:block;color:var(--sp-muted);font-size:var(--sp-fs-xs)}
.sp-tx-filters--simple{grid-template-columns:minmax(0,1fr) auto}
.sp-tk-title{color:var(--sp-text)}.sp-tk-title:hover{color:var(--sp-violet-600)}
.sp-tk-actions{display:flex;gap:var(--sp-2);justify-content:flex-end}
.sp-tk-row .sp-tx-time{white-space:nowrap}

/* conversa do chamado */
.sp-chat{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5)}
.sp-msg{max-width:86%;padding:var(--sp-3) var(--sp-4);border-radius:var(--sp-r-md);border:1px solid var(--sp-line);background:var(--sp-surface-2)}
.sp-msg header{display:flex;justify-content:space-between;gap:var(--sp-4);margin-bottom:.25rem;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-msg header strong{color:var(--sp-text);font-size:var(--sp-fs-sm)}
.sp-msg p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:var(--sp-fs-sm)}
.sp-msg--me{align-self:flex-end;background:var(--sp-violet-50);border-color:var(--sp-violet-200)}
.sp-msg--staff{align-self:flex-start}
.sp-reply{padding:var(--sp-5);border-top:1px solid var(--sp-line);background:var(--sp-surface-2);border-radius:0 0 var(--sp-r-md) var(--sp-r-md)}
.sp-reply-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3)}

/* casos de reembolso */
.sp-cases{display:grid;gap:var(--sp-4);padding:var(--sp-5)}
.sp-case{border:1px solid var(--sp-line);border-left:4px solid var(--sp-line-strong);border-radius:var(--sp-r-md);background:var(--sp-surface)}
.sp-case--requested{border-left-color:var(--sp-warning)}.sp-case--approved{border-left-color:var(--sp-success)}.sp-case--contested{border-left-color:var(--sp-info)}
.sp-case-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}
.sp-case-head small{display:block;color:var(--sp-muted);font-size:var(--sp-fs-xs);margin-top:.15rem}
.sp-case-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2)}
.sp-case-amount{white-space:nowrap;font-size:var(--sp-fs-xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sp-case-body{padding:0 var(--sp-5) var(--sp-4)}
.sp-case-label{margin:var(--sp-2) 0 .15rem;font-size:var(--sp-fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sp-muted)}
.sp-case-text{margin:0;font-size:var(--sp-fs-sm);white-space:pre-wrap;word-break:break-word}
.sp-case-foot{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--sp-line);background:var(--sp-surface-2);border-radius:0 0 var(--sp-r-md) var(--sp-r-md)}
.sp-deadline{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-warning)}
.sp-deadline.is-urgent{color:var(--sp-danger)}
.sp-case-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.sp-contest{margin-top:var(--sp-4)}

@media (max-width:767.98px){
  .sp-tk-row{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"i m a" "i s s"}
  .sp-tk-row .sp-tx-method,.sp-tk-row .sp-tx-time{display:none}
  .sp-tx-filters--simple{grid-template-columns:1fr}
  .sp-msg{max-width:100%}
  .sp-case-head{flex-direction:column}.sp-case-side{align-items:flex-start;flex-direction:row;align-items:center;justify-content:space-between;width:100%}
  .sp-case-actions .btn{flex:1}
  .sp-cases{padding:var(--sp-4)}
  .sp-todo-list li{padding-left:var(--sp-4);padding-right:var(--sp-4)}
}

/* 18. Taxas, Subcontas e Estornos ------------------------------------------------------------------------------ */
.sp-stats{display:flex;flex-wrap:wrap;margin:0 0 var(--sp-5);border:1px solid var(--sp-line);border-radius:var(--sp-r-md);background:var(--sp-surface)}
.sp-stat{flex:1 1 160px;min-width:0;margin:0;padding:var(--sp-4) var(--sp-5);border-left:1px solid var(--sp-line)}
.sp-stat:first-child{border-left:0}
.sp-stat dt{margin:0;font-size:var(--sp-fs-xs);font-weight:500;color:var(--sp-muted)}
.sp-stat dd{margin:.15rem 0 0;font-size:var(--sp-fs-lg);font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.sp-stat small{display:block;margin-top:.1rem;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
.sp-split{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(250px,1fr);gap:var(--sp-5);align-items:start;margin-bottom:var(--sp-5)}
.sp-panel-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--sp-line)}
.sp-panel-head h2{margin:0;font-size:var(--sp-fs-md);font-weight:600}
.sp-panel-head p{margin:.1rem 0 0;font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-sim{display:flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-sim .form-control{width:9rem;height:36px;font-size:var(--sp-fs-sm);text-align:right;font-variant-numeric:tabular-nums}

.sp-data{width:100%;margin:0;border-collapse:collapse}
.sp-data th{padding:.7rem var(--sp-5);font-size:var(--sp-fs-xs);font-weight:500;color:var(--sp-muted);text-align:left;white-space:nowrap;background:var(--sp-surface-2);border-bottom:1px solid var(--sp-line)}
.sp-data td{padding:.85rem var(--sp-5);vertical-align:middle;border-bottom:1px solid var(--sp-line);font-size:var(--sp-fs-sm)}
.sp-data tbody tr:last-child td{border-bottom:0}
.sp-data tbody tr:hover td{background:var(--sp-surface-2)}
.sp-data .sp-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-data th.sp-num{text-align:right}
.sp-data .sp-group td{padding:.55rem var(--sp-5);font-size:var(--sp-fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sp-muted);background:var(--sp-bg)}
.sp-data .sp-group:hover td{background:var(--sp-bg)}
.sp-cell-title{display:block;font-weight:600;color:var(--sp-text)}
.sp-cell-sub{display:block;margin-top:.1rem;font-size:var(--sp-fs-xs);color:var(--sp-muted);word-break:break-word}
.sp-free{color:var(--sp-success);font-weight:600}
.sp-zero{color:var(--sp-faint)}
.sp-formula{margin:0;padding:var(--sp-4) var(--sp-5);font-size:var(--sp-fs-sm);color:var(--sp-muted);border-top:1px solid var(--sp-line);background:var(--sp-surface-2)}
.sp-formula code{color:var(--sp-text);background:transparent;padding:0}
.sp-facts{list-style:none;margin:0;padding:0}
.sp-facts li{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:.7rem var(--sp-5);border-top:1px solid var(--sp-line);font-size:var(--sp-fs-sm)}
.sp-facts li:first-child{border-top:0}
.sp-facts .is-on{color:var(--sp-success);font-weight:600}.sp-facts .is-off{color:var(--sp-faint)}
.sp-meter{height:6px;margin-top:.45rem;border-radius:999px;background:var(--sp-line);overflow:hidden}
.sp-meter span{display:block;height:100%;background:var(--sp-violet-500);border-radius:999px}
.sp-meter.is-full span{background:var(--sp-warning)}
.sp-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-2)}
.sp-row-actions .dropdown-menu{min-width:11rem}
.sp-row-actions .dropdown-item i{margin-right:.5rem;width:1rem}
.sp-id{font-family:var(--sp-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:var(--sp-fs-xs)}
.sp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}
.sp-form-grid .is-wide{grid-column:1/-1}
.sp-form-card{max-width:760px}
.sp-form-body{padding:var(--sp-5)}
.sp-form-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--sp-line);background:var(--sp-surface-2)}
.sp-hint{margin:.3rem 0 0;font-size:var(--sp-fs-xs);color:var(--sp-muted)}

@media (max-width:991.98px){
  .sp-split{grid-template-columns:1fr}
}
@media (max-width:767.98px){
  .sp-stat{flex-basis:50%;border-left:0;border-top:1px solid var(--sp-line)}
  .sp-stat:nth-child(-n+2){border-top:0}.sp-stat:nth-child(even){border-left:1px solid var(--sp-line)}
  .sp-form-grid{grid-template-columns:1fr}
  .sp-data thead{display:none}
  .sp-data,.sp-data tbody,.sp-data tr,.sp-data td{display:block;width:100%}
  .sp-data tr{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--sp-line)}
  .sp-data tbody tr:last-child{border-bottom:0}
  .sp-data tbody tr:hover td{background:transparent}
  .sp-data td{display:grid;grid-template-columns:38% minmax(0,1fr);column-gap:var(--sp-3);align-items:baseline;padding:.3rem 0;border:0;text-align:left}
  .sp-data td::before{content:attr(data-label);grid-row:1 / span 3;grid-column:1;font-size:var(--sp-fs-xs);color:var(--sp-muted)}
  .sp-data td>*{grid-column:2}
  .sp-data td[data-label=""]::before,.sp-data td:not([data-label])::before{content:none}
  .sp-data td[data-label=""]>*{grid-column:1/-1}
  .sp-data .sp-group{padding:0;border:0}.sp-data .sp-group td{padding:.5rem var(--sp-4);display:block;text-align:left}
  .sp-data .sp-num{text-align:left}
  .sp-row-actions{justify-content:flex-start;margin-top:.3rem}
  .sp-panel-head{padding:var(--sp-4)}
  .sp-sim .form-control{width:7.5rem}
}
.sp-form-grid .form-group{margin-bottom:0}

/* 19. Produtos digitais -------------------------------------------------------------------------------------- */
.sp-banner--success{background:var(--sp-success-bg,#ECF8F1);border-color:var(--sp-success-line,#BFE5D0)}
.sp-banner{justify-content:flex-start}
.sp-banner>i{flex:none;font-size:1.1rem}
.sp-banner>i+div{flex:1;min-width:0;font-size:var(--sp-fs-sm)}
.sp-stat-of{font-size:var(--sp-fs-sm);font-weight:500;color:var(--sp-muted)}
.sp-prod{display:flex;align-items:center;gap:var(--sp-3);min-width:0}
.sp-thumb{flex:none;width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--sp-bg);border:1px solid var(--sp-line)}
.sp-thumb--empty{display:inline-flex;align-items:center;justify-content:center;color:var(--sp-faint)}
.sp-kind{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;color:var(--sp-text)}
.sp-kind i{color:var(--sp-muted)}
.sp-kind.is-warn,.sp-kind.is-warn i{color:var(--sp-warning)}
.sp-toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);margin:0;padding:.55rem 1rem;border-radius:999px;background:var(--sp-text);color:#fff;font-size:var(--sp-fs-sm);z-index:1080}
.sp-toast[hidden]{display:none}
.sp-inline-form{display:flex;gap:var(--sp-2);align-items:center}
.sp-inline-form .form-control{flex:1;min-width:0}
.sp-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.35rem;font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-back:hover{color:var(--sp-violet-600)}
.sp-page-head p .sp-pill{vertical-align:middle}
.sp-tab-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sp-warning);margin-left:.15rem}
.sp-h2{margin:0 0 var(--sp-2);font-size:var(--sp-fs-md);font-weight:600}
.sp-form-narrow{max-width:640px}
.sp-form-stack{display:grid;gap:var(--sp-5);max-width:820px}
.sp-form-stack .sp-panel{margin-bottom:0}
.sp-step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:.4rem;border-radius:50%;background:var(--sp-violet-50);color:var(--sp-violet-700);font-size:var(--sp-fs-xs);font-weight:600}
.sp-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.sp-choice--stack{grid-template-columns:1fr}
.sp-choice-item{position:relative;display:block;margin:0;cursor:pointer}
.sp-choice-item input{position:absolute;opacity:0;pointer-events:none}
.sp-choice-item>span{display:grid;grid-template-columns:24px 1fr;column-gap:var(--sp-3);height:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--sp-line-strong);border-radius:var(--sp-r-md);background:var(--sp-surface)}
.sp-choice-item>span i{grid-row:1 / span 2;font-size:1.15rem;color:var(--sp-muted);margin-top:.1rem}
.sp-choice-item b{font-size:var(--sp-fs-sm);color:var(--sp-text)}
.sp-choice-item small{color:var(--sp-muted);font-size:var(--sp-fs-xs)}
.sp-choice-item:hover>span{border-color:var(--sp-violet-200)}
.sp-choice-item input:checked+span{border-color:var(--sp-violet-500);background:var(--sp-violet-50);box-shadow:0 0 0 1px var(--sp-violet-500) inset}
.sp-choice-item input:checked+span i{color:var(--sp-violet-600)}
.sp-choice-item input:focus-visible+span,.sp-choice-item--link:focus-visible>span{outline:2px solid var(--sp-violet-500);outline-offset:2px}
.sp-choice-item--link>span{border-style:dashed}
.sp-copy{display:flex;gap:var(--sp-2)}
.sp-copy .form-control{flex:1;min-width:0;font-family:var(--sp-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:var(--sp-fs-sm)}
.sp-images{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.sp-image{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}
.sp-image img{width:112px;height:112px;object-fit:cover;border-radius:8px;border:1px solid var(--sp-line)}
.sp-facts--box{border:1px solid var(--sp-line);border-radius:var(--sp-r-md);background:var(--sp-surface)}
.sp-steps-list{margin:var(--sp-2) 0 var(--sp-3);padding-left:1.2rem;text-align:left;font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-steps-list li{margin:.2rem 0}
.sp-empty--start .sp-steps-list{max-width:30rem}
@media (max-width:767.98px){
  .sp-choice{grid-template-columns:1fr}
  .sp-copy{flex-direction:column}
  .sp-inline-form{flex-wrap:wrap}
  .sp-data .sp-prod{justify-content:flex-start;text-align:left}
}

/* ===== 20. Código inline em painéis (Integrações) ===== */
.sp-tx code,.sp-banner code{font-family:var(--sp-mono);font-size:var(--sp-fs-xs);color:var(--sp-ink-700);background:var(--sp-violet-50);padding:2px 6px;border-radius:var(--sp-r-sm)}
.sp-banner .sp-copy code{font-size:var(--sp-fs-sm);word-break:break-all}
.sp-facts--box dt{font-size:var(--sp-fs-xs);font-weight:500;color:var(--sp-muted);text-transform:none}
.sp-facts--box dd{font-size:var(--sp-fs-md);color:var(--sp-text);margin:2px 0 10px}

/* ===== 21. Marketplace de afiliados ===== */
.sp-mk-filters{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.sp-mk-filters .sp-tx-filter-actions{grid-column:1 / -1}
.sp-mk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);padding:var(--sp-4)}
.sp-mk-card{display:flex;flex-direction:column;border:1px solid var(--sp-line);border-radius:var(--sp-r-md);background:var(--sp-surface);overflow:hidden}
.sp-mk-card:hover{border-color:var(--sp-violet-200)}
.sp-mk-cover{display:block;background:var(--sp-surface-2)}
.sp-mk-cover img{display:block;width:100%;height:150px;object-fit:cover}
.sp-mk-body{display:flex;flex-direction:column;gap:6px;padding:var(--sp-4);flex:1}
.sp-mk-body h2{font-size:var(--sp-fs-md);margin:0;line-height:1.3}
.sp-mk-body h2 a{color:var(--sp-text);text-decoration:none}.sp-mk-body h2 a:hover{color:var(--sp-violet-600)}
.sp-mk-tags{display:flex;gap:6px;flex-wrap:wrap}
.sp-mk-pitch{margin:0;font-size:var(--sp-fs-sm);color:var(--sp-muted)}
.sp-mk-facts{margin:4px 0 0;display:grid;gap:4px}
.sp-mk-facts div{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--sp-fs-sm)}
.sp-mk-facts dt{font-weight:400;color:var(--sp-muted)}.sp-mk-facts dd{margin:0;font-weight:600;color:var(--sp-text);text-align:right}
.sp-mk-action{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-3)}
.sp-mk-detail{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--sp-4);align-items:start}
.sp-mk-hero{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:var(--sp-r-md);margin-bottom:var(--sp-3)}
.sp-mk-h{font-size:var(--sp-fs-md);margin:var(--sp-4) 0 var(--sp-2)}
.sp-mk-big{font-size:1.9rem;font-weight:700;color:var(--sp-text);margin:6px 0 2px}
.sp-mk-side{position:sticky;top:var(--sp-4)}
.sp-tx-pager{display:flex;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-3)}
@media (max-width:1100px){.sp-mk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){
  .sp-mk-filters{grid-template-columns:1fr}
  .sp-mk-grid{grid-template-columns:1fr;padding:var(--sp-3)}
  .sp-mk-detail{grid-template-columns:1fr}.sp-mk-side{position:static}
}
.sp-mk-detail .sp-panel{padding:var(--sp-5)}
.sp-mk-detail .sp-mk-facts div{padding:8px 0;border-bottom:1px solid var(--sp-line);align-items:flex-start}
.sp-mk-detail .sp-mk-facts div:last-child{border-bottom:0}
.sp-mk-detail .sp-mk-facts dd{font-weight:500;max-width:62%}
.sp-tx-panel>.sp-hint{padding:0 var(--sp-4) var(--sp-4)}
.sp-mk-side .sp-banner{margin:var(--sp-3) 0}
.sp-mk-side .btn-block{margin-top:var(--sp-3)}
