
:root {

    --primary:          #2e8b57;
    --primary-rgb:      46, 139, 87;
    --primary-soft:     #c6e8d5;
    --primary-softer:   #e4f4ec;
    --primary-strong:   #1f7a35;
    --primary-deep:     #0f5132;
    --primary-contrast: #ffffff;

    /* ---- Gradiente de cabeçalho ---- */
    --header-grad-1:    #0f5132;
    --header-grad-2:    #1a6b42;

    /* ---- Perrier dourado ---- */
    --gold:             #b89b5e;
    --gold-bright:      #e3c98a;

    /* ---- Fundos ---- */
    --bg:        #050b07;
    --bg2:       #0a1610;
    --surface:   #0d1a12;
    --surface-2: #0f2016;
    --surface-3: #122b1d;

    /* ---- Texto ---- */
    --text:        #f3f7ef;
    --text-soft:   #c9d6c5;
    --text-muted:  #8aa090;
    --text-faint:  #6f8475;

    /* ---- Status ---- */
    --success:      #2e8b57;
    --success-soft: rgba(46, 139, 87, .14);
    --danger:       #e8745a;
    --danger-soft:  rgba(232, 116, 90, .12);
    --warning:      #e3c98a;
    --warning-soft: rgba(227, 201, 138, .14);
    --up:           #2e8b57;
    --down:         #e8745a;

    /* ---- Linhas / sombras ---- */
    --border:      rgba(184, 155, 94, .22);
    --border-soft: rgba(184, 155, 94, .14);
    --shadow-sm:   0 1px 3px rgba(0, 0, 0, .25);
    --shadow:      0 6px 20px rgba(15, 81, 50, .18);
    --shadow-lg:   0 16px 40px rgba(15, 81, 50, .25);
    --shadow-primary: 0 8px 22px rgba(var(--primary-rgb), .40);

    /* ---- Raios ---- */
    --radius-xs: 8px;
    --radius-sm: 12px;
    --radius:    16px;
    --radius-lg: 22px;
    --radius-pill: 999px;

    /* ---- Layout ---- */
    --app-max: 480px;
    --nav-h:   66px;
    --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;
}

/* =====================================================================
   Reset
   ===================================================================== */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--font);
    background: var(--bg);
    color: var(--text);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, select, textarea { font-family: inherit; font-size: 16px; color: inherit; }
a { color: var(--primary-deep); text-decoration: none; }
ul { list-style: none; }
h1, h2, h3, h4 { line-height: 1.25; }

/* =====================================================================
   Utilitários
   ===================================================================== */
.hidden { display: none !important; }
.muted { color: var(--text-muted); }
.empty-msg { text-align: center; color: var(--text-muted); font-size: 14px; padding: 28px 12px; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 99px; }

/* =====================================================================
   Shell do app
   ===================================================================== */
.app {
    position: relative;
    width: 100%;
    max-width: var(--app-max);
    margin: 0 auto;
    min-height: 100vh;
    background: var(--bg);
    padding-bottom: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px) + 12px);
    overflow: hidden;
}
.app:not(:has(.bottom-nav)) { padding-bottom: 24px; }

/* =====================================================================
   Cabeçalho (home / carteira / perfil)
   ===================================================================== */
.header,
.memecoin-header {
    position: relative;
    padding: calc(env(safe-area-inset-top, 0px) + 18px) 18px 22px;
    background: linear-gradient(150deg, var(--header-grad-1) 0%, var(--header-grad-2) 100%);
    color: #fff;
    border-radius: 0 0 26px 26px;
    overflow: hidden;
    box-shadow: var(--shadow);
}
.banner-image {
    display: none !important;
}
.banner-image img {
    display: none !important;
}
/* Overlay para legibilidade do texto sem apagar o banner */
.banner-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(150deg,
        rgba(44, 137, 189, .82) 0%,
        rgba(46, 124, 173, .72) 50%,
        rgba(15, 40, 60, .85) 100%);
}
.memecoin-header-inner {
    position: relative;
    z-index: 1;
}

.header-top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 34px;
    gap: 10px;
}
.header-icons { display: flex; align-items: center; gap: 10px; }
.icon-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    backdrop-filter: blur(4px);
    transition: background .15s, transform .1s;
}
.icon-btn:hover { background: rgba(255, 255, 255, .30); }
.icon-btn:active { transform: scale(.92); }

/* ---- Bloco de saldo ---- */
.balance-section { text-align: center; padding: 12px 0 4px; }
.balance,
.balance-with-usdt {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    font-weight: 900;
    letter-spacing: -.5px;
}
.balance-amount { font-size: 38px; line-height: 1.05; }
.balance-label {
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    opacity: .85;
    margin-top: 4px;
    font-weight: 700;
}

.usdt-label {
    font-weight: 700;
    opacity: .9;
    background: rgba(255, 255, 255, .2);
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}
.usdt-label--lg { font-size: 15px; }
.usdt-label--xs { font-size: 11px; }

/* ---- Info do usuário + ticker ---- */
.user-info { margin-top: 14px; }
.ticker-row {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .14);
    border-radius: var(--radius-pill);
    padding: 6px 12px;
    overflow: hidden;
}
.ticker-megaphone { font-size: 13px; flex-shrink: 0; opacity: .9; }
.ticker-viewport { overflow: hidden; flex: 1; }
.ticker-track {
    display: inline-flex;
    white-space: nowrap;
    gap: 36px;
    animation: ticker-scroll 55s linear infinite;
}
.ticker-segment { font-size: 12px; opacity: .95; }
@keyframes ticker-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.ticker-item { display: inline-flex; align-items: center; gap: 6px; }
.ticker-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); display: inline-block; }
.ticker-id { font-weight: 700; }

.user-row,
.user-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
}
.user-meta-row {
    align-items: flex-start;
    gap: 12px;
}
.username {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    font-size: 15px;
    white-space: normal;
    overflow-wrap: anywhere;
}
.profit { text-align: right; }
.profit-value {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-weight: 800;
}
.profit-amount { font-size: 16px; }
.profit-detail { display: block; font-size: 11px; opacity: .8; }

/* =====================================================================
   Abas principais
   ===================================================================== */
.tabs {
    position: relative;
    display: flex;
    gap: 4px;
    padding: 6px;
    margin: 16px 14px 0;
    background: #ffffff;
    border-radius: var(--radius-pill);
    border: none;
    box-shadow:
        0 8px 22px rgba(var(--primary-rgb), .16),
        inset 0 1px 1px rgba(255, 255, 255, .9);
}
.tabs::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1.6px;
    background: linear-gradient(
        155deg,
        var(--primary-strong) 0%,
        rgba(var(--primary-rgb), .55) 42%,
        rgba(var(--primary-rgb), .18) 70%,
        rgba(255, 255, 255, .85) 100%
    );
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
}
.tab {
    flex: 1;
    padding: 12px 8px;
    border-radius: var(--radius-pill);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all .18s;
}
.tab.active {
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    box-shadow: var(--shadow-primary);
}
.tab-manager.active {
    background: linear-gradient(135deg, var(--gold), #ffce5a);
    color: #5a3c00;
}

/* ---- Sub-filtros (chips) ---- */
.category-tabs {
    display: flex;
    gap: 8px;
    padding: 12px 14px 10px;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.category-tabs::-webkit-scrollbar { display: none; }
.category-tab {
    flex-shrink: 0;
    padding: 7px 14px;
    border-radius: var(--radius-pill);
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--text-soft);
    font-size: 12px;
    font-weight: 700;
    transition: all .18s;
}
.category-tab.active {
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    border-color: transparent;
    color: #fff;
    box-shadow: var(--shadow-primary);
}
.category-tab.badge-hot.active { background: var(--danger); }

/* Filtro da home — mesmo visual das abas (container com borda luminosa) */
#mercadosFilters {
    position: relative;
    gap: 4px;
    margin: 10px 14px 0;
    padding: 4px;
    background: #ffffff;
    border-radius: var(--radius-pill);
    overflow: visible;
    box-shadow:
        0 8px 22px rgba(var(--primary-rgb), .16),
        inset 0 1px 1px rgba(255, 255, 255, .9);
}
#mercadosFilters::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1.6px;
    background: linear-gradient(
        155deg,
        var(--primary-strong) 0%,
        rgba(var(--primary-rgb), .55) 42%,
        rgba(var(--primary-rgb), .18) 70%,
        rgba(255, 255, 255, .85) 100%
    );
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
}
#mercadosFilters .category-tab {
    flex: 1;
    padding: 8px 6px;
    text-align: center;
    background: transparent;
    border: none;
    box-shadow: none;
    color: var(--text-muted);
}
#mercadosFilters .category-tab.active {
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    box-shadow: var(--shadow-primary);
}
#mercadosFilters .category-tab.badge-hot.active {
    background: var(--danger);
    box-shadow: 0 8px 20px rgba(239, 71, 87, .4);
}

/* =====================================================================
   Navegação inferior
   ===================================================================== */
.bottom-nav {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: var(--app-max);
    height: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    display: flex;
    align-items: stretch;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(14px);
    border-top: 1px solid var(--border);
    box-shadow: 0 -6px 24px rgba(46, 124, 173, .10);
    z-index: 90;
}
.nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--text-faint);
    font-size: 10.5px;
    font-weight: 600;
    transition: color .15s;
    cursor: pointer;
}
.nav-item i { font-size: 21px; }
.nav-item .nav-ico { width: 25px; height: 25px; transition: transform .15s, filter .15s; }
.nav-item.active { color: var(--primary-deep); }
.nav-item.active i,
.nav-item.active .nav-ico {
    transform: translateY(-1px);
    filter: drop-shadow(0 4px 8px rgba(var(--primary-rgb), .5));
}

/* =====================================================================
   Footer redes sociais
   ===================================================================== */
.site-footer-social {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 26px 16px 30px;
    margin-top: 18px;
}
.footer-social-label {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-faint);
    font-weight: 700;
}
.footer-social-links { display: flex; gap: 14px; }
.footer-social {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--primary-deep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: var(--shadow-sm);
    transition: all .18s;
}
.footer-social:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
    transform: translateY(-2px);
}

/* =====================================================================
   Home — lista de traders / investimentos
   ===================================================================== */
.traders-list,
.receita-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
}

.trader-card {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 16px;
    box-shadow: var(--shadow-sm);
    transition: transform .15s, box-shadow .15s;
}
.trader-card:active { transform: scale(.99); }
.trader-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
}
.trader-card-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--primary-soft);
    flex-shrink: 0;
}
.trader-name {
    flex: 1;
    min-width: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.trader-limited-badge {
    font-size: 10px;
    font-weight: 700;
    background: var(--warning-soft);
    color: var(--warning);
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}
.trader-card-head-end {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.trader-prazo { text-align: center; line-height: 1.1; }
.trader-prazo-days { display: block; font-size: 15px; font-weight: 800; color: var(--primary-deep); }
.trader-prazo-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .5px; }

.subscribe-btn,
.buy-btn.subscribe-btn {
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-weight: 700;
    font-size: 12.5px;
    padding: 9px 14px;
    border-radius: var(--radius-pill);
    box-shadow: var(--shadow-primary);
    white-space: nowrap;
    transition: transform .1s, opacity .15s;
}
.subscribe-btn:active { transform: scale(.95); }

.trader-card-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed var(--border);
}
.trader-stat-col { text-align: center; }
.trader-stat-val { display: block; font-size: 16px; font-weight: 800; color: var(--text); }
.trader-stat-val--green { color: var(--success); }
.trader-stat-lbl { font-size: 10.5px; color: var(--text-muted); margin-top: 2px; display: block; }

/* =====================================================================
   Minha Receita — contratos do usuário
   ===================================================================== */
.my-sub-card {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 16px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.my-sub-top { display: flex; gap: 12px; align-items: flex-start; }
.my-sub-avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 2px solid var(--primary-soft); flex-shrink: 0; }
.my-sub-info { flex: 1; min-width: 0; }
.my-sub-name { font-size: 15px; font-weight: 700; }
.my-sub-meta { font-size: 12px; color: var(--text-soft); margin-top: 2px; }
.my-sub-status { font-size: 11.5px; color: var(--text-muted); margin-top: 4px; }

.my-sub-profit {
    background: var(--success-soft);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2px 10px;
}
.my-sub-profit-label { font-size: 12px; color: var(--text-soft); }
.my-sub-profit-val { font-size: 18px; font-weight: 800; color: var(--success); text-align: right; }
.my-sub-profit-avail { grid-column: 1 / -1; font-size: 11.5px; color: var(--text-muted); }

.my-sub-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.sub-btn {
    flex: 1;
    min-width: 90px;
    padding: 10px 8px;
    border-radius: var(--radius-sm);
    font-size: 12.5px;
    font-weight: 700;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: opacity .15s, transform .1s;
}
.sub-btn:active { transform: scale(.97); }
.sub-btn-operation { background: var(--surface-3); color: var(--primary-deep); }
.sub-btn-redeem { background: linear-gradient(135deg, var(--primary-strong), var(--primary)); color: #fff; }
.sub-btn-cancel { background: var(--danger-soft); color: var(--danger); }
.sub-btn:disabled { opacity: .45; cursor: not-allowed; }

/* =====================================================================
   Manager VIP panel
   ===================================================================== */
.manager-panel { padding: 16px 14px 0; }
.manager-vip-card {
    background: linear-gradient(135deg, #fff7e0, #fffdf5);
    border: 1px solid #f3dca0;
    border-radius: var(--radius-lg);
    padding: 20px;
    text-align: center;
    box-shadow: var(--shadow);
}
.manager-vip-icon {
    width: 56px; height: 56px;
    margin: 0 auto 12px;
    border-radius: 50%;
    display: grid; place-items: center;
    font-size: 26px; color: #fff;
    background: linear-gradient(135deg, var(--gold), #ffce5a);
    box-shadow: 0 8px 20px rgba(244, 183, 64, .4);
}
.manager-vip-kicker { font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: #c08a16; }
.manager-vip-copy h2 { font-size: 18px; margin: 4px 0 6px; color: var(--text); }
.manager-vip-copy p { font-size: 13px; color: var(--text-soft); }
.manager-contact-btn {
    margin-top: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-weight: 700;
    padding: 12px 20px;
    border-radius: var(--radius-pill);
    box-shadow: var(--shadow-primary);
}

/* =====================================================================
   FAQs
   ===================================================================== */
.faq-list { display: flex; flex-direction: column; gap: 10px; padding: 16px 14px; }
.faq-item {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}
.faq-q {
    padding: 15px 16px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    color: var(--text);
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after {
    content: "\F282";
    font-family: "bootstrap-icons";
    color: var(--primary);
    transition: transform .2s;
}
.faq-item[open] .faq-q::after { transform: rotate(180deg); }
.faq-a {
    padding: 0 16px 16px;
    font-size: 13px;
    color: var(--text-soft);
    line-height: 1.6;
}

/* =====================================================================
   Bottom sheet (investimento)
   ===================================================================== */
.sheet {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: none;
}
.sheet.is-open,
.sheet.show { display: block; }
.sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 40, 60, .5);
    backdrop-filter: blur(2px);
    animation: fade-in .2s ease;
}
.sheet-panel {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    max-width: var(--app-max);
    max-height: 92vh;
    overflow-y: auto;
    background: var(--surface);
    border-radius: 24px 24px 0 0;
    padding: 8px 18px calc(24px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -10px 40px rgba(15, 40, 60, .25);
    animation: sheet-up .28s cubic-bezier(.22, 1, .36, 1);
}
@keyframes sheet-up { from { transform: translate(-50%, 100%); } to { transform: translate(-50%, 0); } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }

.sheet-handle-wrap { display: flex; justify-content: center; padding: 8px 0 6px; }
.sheet-handle { width: 42px; height: 5px; border-radius: 99px; background: var(--border); }

.sub-sheet-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.sub-sheet-title { font-size: 20px; font-weight: 800; }
.sub-sheet-subtitle { font-size: 13px; color: var(--text-muted); margin-top: 2px; }
.sub-sheet-head-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.sub-sheet-deposit {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--primary-deep);
    background: var(--primary-soft);
    padding: 7px 12px;
    border-radius: var(--radius-pill);
}
.sub-sheet-close {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: var(--surface-3);
    color: var(--text-soft);
    display: grid; place-items: center;
    font-size: 15px;
}

.sub-sheet-balance {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
    margin-bottom: 14px;
}
.sub-sheet-balance-label { font-size: 12.5px; color: var(--text-muted); }
.sub-sheet-balance-val { font-size: 17px; font-weight: 800; color: var(--text); }

.sub-sheet-term { margin-bottom: 14px; }
.sub-sheet-term-label,
.sub-sheet-field-label { font-size: 13px; font-weight: 600; color: var(--text-soft); }
.sub-sheet-term-tabs {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    background: var(--surface-3);
    padding: 4px;
    border-radius: var(--radius-sm);
}
.sub-sheet-term-tab {
    flex: 1;
    padding: 10px;
    border-radius: var(--radius-xs);
    font-size: 13px;
    font-weight: 700;
    color: var(--text-muted);
    transition: all .15s;
}
.sub-sheet-term-tab.active { background: #fff; color: var(--primary-deep); box-shadow: var(--shadow-sm); }
.sub-sheet-term-hint,
.sub-sheet-term-reinvest-note { font-size: 11.5px; color: var(--text-muted); margin-top: 8px; }

.sub-sheet-field { margin-bottom: 14px; }
.sub-sheet-field-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.sub-sheet-rules { font-size: 12px; font-weight: 700; color: var(--primary-deep); }
.sub-sheet-input-wrap { position: relative; display: flex; align-items: center; }
.sub-sheet-input {
    width: 100%;
    padding: 14px 56px 14px 16px;
    background: var(--surface-2);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: 18px;
    font-weight: 700;
    transition: border-color .15s;
}
.sub-sheet-input:focus { outline: none; border-color: var(--primary); }
.sub-sheet-input-suffix { position: absolute; right: 14px; }
.sub-sheet-limits { font-size: 11.5px; color: var(--text-muted); margin-top: 8px; }

.sub-sheet-summary {
    background: var(--surface-2);
    border-radius: var(--radius-sm);
    padding: 6px 14px;
    margin-bottom: 16px;
    border: 1px solid var(--border-soft);
}
.sub-sheet-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
}
.sub-sheet-summary-row + .sub-sheet-summary-row { border-top: 1px solid var(--border-soft); }
.sub-sheet-summary dt { font-size: 13px; color: var(--text-soft); }
.sub-sheet-summary dd { font-size: 14px; font-weight: 700; }
.sub-sheet-return-preview { display: inline-flex; align-items: center; gap: 6px; color: var(--success); }
.sub-sheet-summary-total dt { font-weight: 700; color: var(--text); }
.sub-sheet-summary-total dd { font-size: 16px; color: var(--primary-deep); }

.sub-sheet-ok {
    width: 100%;
    padding: 15px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    box-shadow: var(--shadow-primary);
    transition: transform .1s, opacity .15s;
}
.sub-sheet-ok:active { transform: scale(.98); }
.sub-sheet-cancel {
    width: 100%;
    padding: 13px;
    margin-top: 8px;
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    font-weight: 600;
    font-size: 14px;
}
.sheet-error {
    color: var(--danger);
    font-size: 13px;
    font-weight: 600;
}
.sheet-error-link { color: var(--primary-deep); text-decoration: underline; }

/* =====================================================================
   Modal de compra de investimento — redesign (ss2)
   ===================================================================== */
.ss2 { padding: 8px 14px calc(20px + env(safe-area-inset-bottom, 0px)); }
.ss2 .ss2-label { font-size: 13px; font-weight: 700; color: #cfe9dc; letter-spacing: .2px; }
.ss2 .hidden { display: none; }

/* Hero */
.ss2-hero {
    position: relative;
    border-radius: 18px;
    padding: 16px 16px 14px;
    margin-bottom: 14px;
    background:
        radial-gradient(120% 120% at 0% 0%, rgba(217, 119, 6, .18), transparent 55%),
        linear-gradient(180deg, #181b24, #0c0d12);
    border: 1px solid rgba(217, 119, 6, .28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 10px 30px rgba(0, 0, 0, .4);
    overflow: hidden;
}
.ss2-hero-top { display: flex; align-items: center; gap: 12px; }
.ss2-hero-avatar {
    width: 58px; height: 58px; border-radius: 14px; flex-shrink: 0; padding: 2px;
    background: linear-gradient(135deg, rgba(245, 158, 11, .8), rgba(217, 119, 6, .4));
    box-shadow: 0 0 22px rgba(217, 119, 6, .35);
}
.ss2-hero-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; background: #06110b; }
.ss2-hero-id { flex: 1; min-width: 0; }
.ss2-hero-title { font-size: 22px; font-weight: 900; color: #f2fff8; line-height: 1.1; letter-spacing: .3px; }
.ss2-accent--mid { color: #f59e0b; }
.ss2-accent--long { color: #ffcf6d; }
.ss2-hero-sub { font-size: 11px; font-weight: 800; letter-spacing: 1px; color: #d97706; margin-top: 4px; }
.ss2-hero-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.ss2-deposit {
    font-size: 12px; font-weight: 800; color: #f59e0b;
    border: 1px solid rgba(217, 119, 6, .4); border-radius: 999px; padding: 7px 12px;
    background: rgba(217, 119, 6, .10);
}
.ss2-close {
    width: 34px; height: 34px; border-radius: 50%;
    background: rgba(255, 255, 255, .06); color: #d7e7de;
    display: grid; place-items: center; font-size: 15px;
}
.ss2-hero-stats {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
    margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .07);
}
.ss2-stat { display: flex; align-items: center; gap: 7px; }
.ss2-stat > i {
    font-size: 14px; color: #f59e0b; width: 26px; height: 26px; flex-shrink: 0;
    display: grid; place-items: center; border-radius: 8px; background: rgba(217, 119, 6, .12);
}
.ss2-stat span { display: block; font-size: 9px; font-weight: 700; letter-spacing: .5px; color: #8fae9f; text-transform: uppercase; }
.ss2-stat strong { display: block; font-size: 12.5px; font-weight: 800; color: #eafff4; }

/* Saldo */
.ss2-balance {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px; margin-bottom: 14px; border-radius: 14px;
    background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .06);
}
.ss2-balance > span { font-size: 13px; color: #9fbcad; }
.ss2-balance > strong { font-size: 18px; font-weight: 900; color: #f2fff8; }

/* Planos */
.ss2-plans-block { margin-bottom: 16px; }
.ss2-plans {
    display: grid; grid-template-columns: 1fr 1fr; margin-top: 10px;
    border-radius: 16px; overflow: hidden;
    border: 1px solid rgba(217, 119, 6, .28);
    background: linear-gradient(180deg, rgba(24, 27, 36, .9), rgba(12, 13, 18, .9));
    box-shadow: 0 0 24px rgba(217, 119, 6, .12);
}
.ss2-plans--single { grid-template-columns: 1fr; }
.ss2-plan {
    position: relative; text-align: left; padding: 16px 14px;
    display: flex; flex-direction: column; gap: 4px;
    background: transparent; transition: background .15s;
}
.ss2-plan + .ss2-plan { border-left: 1px solid rgba(255, 255, 255, .06); }
.ss2-plan-name { font-size: 17px; font-weight: 900; letter-spacing: .3px; }
.ss2-plan--mid .ss2-plan-name { color: #f59e0b; }
.ss2-plan--long .ss2-plan-name { color: #ffcf6d; }
.ss2-plan-meta { font-size: 10px; font-weight: 700; letter-spacing: .4px; color: #8fae9f; text-transform: uppercase; }
.ss2-plan-check {
    position: absolute; top: 12px; right: 12px;
    width: 22px; height: 22px; border-radius: 50%;
    display: grid; place-items: center; font-size: 13px; color: #0c0d12;
    background: #f59e0b; opacity: 0; transform: scale(.6); transition: .15s;
}
.ss2-plan.is-active { background: rgba(217, 119, 6, .12); }
.ss2-plan.is-active .ss2-plan-check { opacity: 1; transform: scale(1); }
.ss2-plan--long.is-active { background: rgba(255, 207, 109, .08); }
.ss2-plan--long.is-active .ss2-plan-check { background: #ffcf6d; }

/* Valor do investimento */
.ss2-amount-block { margin-bottom: 14px; }
.ss2-amount-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.ss2-rules { font-size: 13px; font-weight: 800; color: #f59e0b; }
.ss2-input-wrap {
    position: relative; display: flex; align-items: center; gap: 10px;
    padding: 13px 13px; border-radius: 14px;
    background: rgba(18, 20, 28, .95); border: 1.5px solid rgba(217, 119, 6, .3);
}
.ss2-input-wrap:focus-within { border-color: #d97706; }
.ss2-input-prefix { font-size: 16px; font-weight: 800; color: #8fae9f; }
.ss2-input {
    flex: 1; min-width: 0; background: transparent; border: none; outline: none;
    font-size: 22px; font-weight: 900; color: #f2fff8;
}
.ss2-input-edit {
    width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
    display: grid; place-items: center; font-size: 15px; color: #f59e0b;
    border: 1px solid rgba(217, 119, 6, .4); background: rgba(217, 119, 6, .10);
}
.ss2-chips { display: flex; gap: 8px; margin-top: 10px; }
.ss2-chip {
    flex: 1; padding: 9px 4px; border-radius: 10px; font-size: 12.5px; font-weight: 800;
    color: #b8d3c6; border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .03);
    transition: .15s;
}
.ss2-chip.is-active { color: #f59e0b; border-color: rgba(217, 119, 6, .5); background: rgba(217, 119, 6, .14); }

/* Mínimo / Máximo */
.ss2-range {
    position: relative; display: flex; align-items: center; justify-content: space-between;
    gap: 8px; padding: 16px; margin-bottom: 12px; border-radius: 16px;
    background:
        radial-gradient(90% 140% at 50% 0%, rgba(217, 119, 6, .14), transparent 60%),
        linear-gradient(180deg, #181b24, #0c0d12);
    border: 1px solid rgba(217, 119, 6, .35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.ss2-range-side { display: flex; flex-direction: column; gap: 5px; }
.ss2-range-max { text-align: right; align-items: flex-end; }
.ss2-range-side > span { font-size: 9px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.ss2-range-min > span { color: #f59e0b; }
.ss2-range-max > span { color: #ffcf6d; }
.ss2-range-side > strong { display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 900; color: #f2fff8; }
.ss2-range-min i { color: #f59e0b; }
.ss2-range-max i { color: #ffcf6d; }
.ss2-range-hex {
    width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center;
    color: #0c0d12; font-size: 20px; font-weight: 900;
    background: linear-gradient(135deg, #fae28e, #d89f33);
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    box-shadow: 0 0 22px rgba(217, 119, 6, .5);
}

.ss2-range-hint { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; color: #8fae9f; text-align: center; margin-bottom: 10px; }
.ss2-error:empty { display: none; }
.ss2-error {
    display: flex; align-items: center; gap: 6px; justify-content: center; flex-wrap: wrap;
    font-size: 13px; font-weight: 700; color: #ff8296; margin-bottom: 12px;
}
.ss2-error .ss2-error-txt { color: #ff8296; }
.ss2-error .sheet-error-link { color: #f59e0b; text-decoration: underline; font-weight: 800; }

/* Resumo */
.ss2-summary { margin-bottom: 16px; }
.ss2-summary-row { display: flex; align-items: center; justify-content: space-between; padding: 14px 2px; }
.ss2-summary-row + .ss2-summary-row { border-top: 1px solid rgba(255, 255, 255, .07); }
.ss2-summary dt { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #cfe4d8; }
.ss2-summary dd { font-size: 15px; font-weight: 800; color: #eafff4; }
.ss2-summary-ico {
    width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center;
    font-size: 14px; color: #9fbcad; background: rgba(255, 255, 255, .06); flex-shrink: 0;
}
.ss2-summary-ico--profit { color: #f59e0b; background: rgba(217, 119, 6, .14); }
.ss2-summary-profit { color: #f59e0b !important; }
.ss2-summary-total dt { font-weight: 800; color: #f2fff8; }
.ss2-summary-total dd { font-size: 17px; color: #f2fff8; }

/* CTA */
.ss2-confirm {
    position: relative; width: 100%;
    display: flex; align-items: center; justify-content: center;
    padding: 17px; border-radius: 16px;
    font-size: 15px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase;
    color: #231102;
    background: linear-gradient(135deg, #ffe08a 0%, #f4b740 45%, #e0982f 100%);
    box-shadow: 0 14px 30px rgba(244, 183, 64, .3);
    transition: transform .1s, opacity .15s;
}
.ss2-confirm-lock { position: absolute; left: 18px; font-size: 15px; }
.ss2-confirm-arrow { position: absolute; right: 18px; font-size: 16px; }
.ss2-confirm:active { transform: scale(.98); }
.ss2-confirm:disabled { opacity: .5; box-shadow: none; }

/* moeda inline */
.amount-with-usdt { display: inline-flex; align-items: baseline; gap: 4px; }

/* =====================================================================
   Páginas de autenticação (login / cadastro)
   ===================================================================== */
.auth-page { background: linear-gradient(180deg, var(--surface-3) 0%, var(--bg) 30%, #f3f9fd 100%); }
.auth-hero {
    border-radius: 0 0 30px 30px;
    padding-bottom: 30px;
}
.auth-header-link {
    color: #fff;
    font-weight: 700;
    font-size: 13.5px;
    background: rgba(255, 255, 255, .18);
    padding: 8px 16px;
    border-radius: var(--radius-pill);
}
.auth-hero-copy { margin-top: 22px; color: #fff; }
.auth-hero-kicker {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: .9;
}
.auth-hero-copy h1 { font-size: 28px; font-weight: 900; margin: 8px 0 8px; }
.auth-hero-copy p { font-size: 13.5px; opacity: .92; line-height: 1.55; }

.auth-main { padding: 22px 18px 10px; }
.auth-title { font-weight: 800; color: var(--text); }
.auth-form { display: flex; flex-direction: column; gap: 16px; }
.auth-field { display: flex; flex-direction: column; gap: 8px; }
.auth-page .auth-field label { display: none; }
.auth-form--signup .auth-field--country { display: none; }
.auth-page input::placeholder,
.auth-page select { color: var(--text-muted); }
.auth-page .auth-input-wrap input::placeholder { color: #9bb2c2; }
.auth-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--surface);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 0 14px;
    transition: border-color .15s, box-shadow .15s;
}
.auth-input-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .18);
}
.auth-input-wrap i { color: var(--text-faint); font-size: 17px; flex-shrink: 0; }
.auth-input-wrap .auth-ico {
    width: 21px;
    height: 21px;
    color: var(--text-faint);
    flex-shrink: 0;
    transition: color .15s;
}
.auth-prefix {
    color: var(--text-soft);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .2px;
    padding: 0 8px 0 2px;
    flex-shrink: 0;
}
.auth-input-wrap:focus-within .auth-ico { color: var(--primary-strong); }
.auth-input-wrap input,
.auth-input-wrap select {
    flex: 1;
    border: none;
    background: none;
    padding: 14px 10px;
    outline: none;
    width: 100%;
}
.auth-input-wrap select { appearance: none; }

.auth-submit {
    position: relative;
    margin-top: 12px;
    width: 100%;
    padding: 16px;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, var(--primary-deep) 0%, var(--primary-strong) 50%, var(--primary) 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .3px;
    box-shadow:
        0 12px 26px rgba(var(--primary-rgb), .45),
        inset 0 1px 1px rgba(255, 255, 255, .45);
    overflow: hidden;
    transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}
.auth-submit::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, .28), transparent);
    pointer-events: none;
}
.auth-submit:hover { filter: brightness(1.04); box-shadow: 0 16px 32px rgba(var(--primary-rgb), .55), inset 0 1px 1px rgba(255, 255, 255, .45); }
.auth-submit:active { transform: scale(.98); }

.auth-link-button {
    display: block;
    margin: 16px auto 0;
    color: var(--primary-deep);
    font-weight: 700;
    font-size: 13.5px;
}
.auth-switch { text-align: center; margin-top: 20px; font-size: 14px; color: var(--text-soft); }
.auth-switch a { font-weight: 700; }

/* Recuperação de conta */
.auth-recovery {
    margin-top: 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px;
    box-shadow: var(--shadow-sm);
}
.auth-recovery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.auth-recovery-head strong { font-size: 16px; }
.auth-recovery-head button { font-size: 16px; color: var(--text-muted); }
.auth-recovery-text { font-size: 13px; color: var(--text-soft); margin-bottom: 14px; }
.auth-recovery .auth-field { margin-bottom: 12px; }
.auth-recovery-btn,
.auth-recovery-confirm {
    width: 100%;
    padding: 13px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-weight: 700;
}
.auth-recovery-code { margin-top: 14px; }
.auth-recovery-ok { color: var(--success); font-weight: 600; font-size: 13px; margin-top: 10px; }

/* Botão mostrar/ocultar senha */
.auth-eye {
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 0 4px;
    font-size: 18px;
    line-height: 1;
    color: var(--text-faint);
    cursor: pointer;
    transition: color .15s;
}
.auth-eye:hover { color: var(--primary-strong); }

/* Código de acesso (captcha) exibido no campo */
.auth-captcha-code {
    flex-shrink: 0;
    background: none;
    border: none;
    padding: 4px 6px;
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 4px;
    color: var(--primary-strong);
    font-family: "Courier New", monospace;
    cursor: pointer;
    user-select: none;
    text-transform: uppercase;
    transition: color .15s, transform .1s;
}
.auth-captcha-code:hover { color: var(--primary-deep); }
.auth-captcha-code:active { transform: scale(.96); }
.auth-captcha-wrap input { text-transform: uppercase; letter-spacing: 1px; }

/* =====================================================================
   Páginas simples (extrato)
   ===================================================================== */
.page-wrap { padding: 20px 18px; }
.page-title { font-size: 24px; font-weight: 900; }
.page-lead { font-size: 14px; color: var(--text-muted); margin-top: 4px; }
.movement-item,
.position-item {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    margin-bottom: 10px;
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.m-label { font-size: 13.5px; font-weight: 600; color: var(--text); }
.m-date { font-size: 11.5px; color: var(--text-muted); margin-top: 2px; }
.m-amt { font-size: 15px; font-weight: 800; }
.m-amt.positive { color: var(--success); }
.positive { color: var(--success); }

/* =====================================================================
   Carteira
   ===================================================================== */
.carteira-main { padding: 16px 14px 0; }

.wallet-tier-strip {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 14px 16px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 4px;
}
.wallet-tier-row { display: flex; align-items: center; gap: 8px; }
.wallet-tier-name { font-weight: 800; font-size: 14px; color: var(--primary-deep); }
.wallet-tier-meta { flex: 1; font-size: 12px; color: var(--text-muted); text-align: right; }
.wallet-tier-help {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--surface-3);
    color: var(--text-soft);
    font-size: 12px; font-weight: 700;
    flex-shrink: 0;
}
.wallet-tier-progress {
    margin-top: 10px;
    height: 7px;
    border-radius: 99px;
    background: var(--surface-3);
    overflow: hidden;
}
.wallet-tier-progress span {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--primary-strong), var(--primary));
}

.carteira-wallet-tabs { padding: 16px 0 4px; }

.carteira-panel {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 16px;
    margin-top: 12px;
    box-shadow: var(--shadow-sm);
}
.carteira-form { display: flex; flex-direction: column; gap: 14px; }
.carteira-field { display: flex; flex-direction: column; gap: 6px; }
.carteira-field label { font-size: 13px; font-weight: 600; color: var(--text-soft); }
.carteira-input {
    width: 100%;
    padding: 13px 14px;
    background: var(--surface-2);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    outline: none;
    transition: border-color .15s;
}
.carteira-input:focus { border-color: var(--primary); }
.carteira-btn {
    width: 100%;
    padding: 14px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-weight: 800;
    font-size: 15px;
    box-shadow: var(--shadow-primary);
    transition: transform .1s;
}
.carteira-btn:active { transform: scale(.98); }
.carteira-btn--ghost {
    background: var(--surface-3);
    color: var(--primary-deep);
    box-shadow: none;
}
.carteira-link-btn {
    display: block;
    margin: 14px auto 0;
    color: var(--primary-deep);
    font-weight: 700;
    font-size: 13.5px;
}
.carteira-hint {
    font-size: 13px;
    color: var(--text-soft);
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
    line-height: 1.55;
}
.carteira-hint--sm { font-size: 12px; padding: 9px 12px; }
.carteira-saved { font-size: 12.5px; color: var(--text-muted); margin-bottom: 8px; }
.carteira-gate-actions { display: flex; gap: 8px; margin-top: 12px; }
.carteira-subtabs { padding: 4px 0 12px; }
.deposit-amount-hint { font-size: 12px; color: var(--primary-deep); font-weight: 600; }

.pix-inline-box {
    background: var(--surface-2);
    border: 1px dashed var(--primary);
    border-radius: var(--radius-sm);
    padding: 14px;
    margin-top: 12px;
    word-break: break-all;
}

/* Extrato dentro da carteira */
.carteira-extrato { margin-top: 22px; }
.carteira-extrato-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.carteira-extrato-title { font-size: 17px; font-weight: 800; }
.carteira-extrato-refresh {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--primary-deep);
    display: grid; place-items: center;
    box-shadow: var(--shadow-sm);
}
.carteira-extrato-list { display: flex; flex-direction: column; gap: 10px; }

/* =====================================================================
   Perfil
   ===================================================================== */
.perfil-identity {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    background: rgba(255, 255, 255, .14);
    border-radius: var(--radius);
    padding: 14px;
}
.perfil-avatar-wrap { flex-shrink: 0; }
.perfil-avatar {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .25);
    border: 2px solid rgba(255, 255, 255, .6);
    display: grid; place-items: center;
    font-size: 24px; font-weight: 800;
    color: #fff;
    text-transform: uppercase;
}
.perfil-identity-body { color: #fff; min-width: 0; }
.perfil-id-row { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.perfil-copy-btn { color: rgba(255, 255, 255, .9); font-size: 14px; }
.perfil-plan,
.perfil-since { display: flex; align-items: center; gap: 6px; font-size: 12px; opacity: .9; margin-top: 4px; }

.perfil-main { padding: 16px 14px 0; }
.perfil-panel {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 8px 8px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 16px;
}
.perfil-panel-title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--text-muted);
    padding: 10px 12px 6px;
}
.perfil-menu-list { display: flex; flex-direction: column; }
.perfil-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 13px 12px;
    border-radius: var(--radius-sm);
    font-size: 14.5px;
    font-weight: 600;
    color: var(--text);
    text-align: left;
    transition: background .15s;
}
.perfil-menu-item:hover { background: var(--surface-2); }
.perfil-menu-ico {
    width: 38px; height: 38px;
    border-radius: 11px;
    background: var(--primary-soft);
    color: var(--primary-deep);
    display: grid; place-items: center;
    font-size: 17px;
    flex-shrink: 0;
}
.perfil-menu-item > span:nth-child(2) { flex: 1; }
.perfil-menu-chevron { color: var(--text-faint); font-size: 14px; }
.perfil-menu-danger { color: var(--danger); }
.perfil-menu-danger .perfil-menu-ico { background: var(--danger-soft); color: var(--danger); }

.perfil-referral-card {
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    border-radius: var(--radius-lg);
    padding: 20px;
    color: #fff;
    box-shadow: var(--shadow-primary);
}
.perfil-referral-inner { display: flex; align-items: flex-start; gap: 12px; }
.perfil-referral-title { font-size: 18px; font-weight: 800; }
.perfil-referral-desc { font-size: 13px; opacity: .92; margin: 6px 0 12px; }
.perfil-referral-field {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, .2);
    border-radius: var(--radius-sm);
    padding: 4px 4px 4px 12px;
    gap: 8px;
}
.perfil-referral-field input {
    flex: 1;
    background: none;
    border: none;
    color: #fff;
    font-size: 12.5px;
    outline: none;
    min-width: 0;
}
.perfil-referral-copy {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .25);
    color: #fff;
    display: grid; place-items: center;
    flex-shrink: 0;
}
.perfil-referral-btn {
    margin-top: 12px;
    width: 100%;
    padding: 12px;
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--primary-deep);
    font-weight: 800;
}
.perfil-referral-gift { font-size: 40px; opacity: .85; flex-shrink: 0; }
.perfil-input {
    width: 100%;
    padding: 13px 14px;
    background: var(--surface-2);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    outline: none;
}
.perfil-input:focus { border-color: var(--primary); }

/* =====================================================================
   Full sheet (alterar senha / carreira)
   ===================================================================== */
.iaturbo-full-sheet {
    position: fixed;
    inset: 0;
    z-index: 250;
    background: var(--bg);
    transform: translateY(100%);
    transition: transform .3s cubic-bezier(.22, 1, .36, 1);
    overflow-y: auto;
    visibility: hidden;
}
.iaturbo-full-sheet.is-open { transform: translateY(0); visibility: visible; }
.iaturbo-sheet-open { overflow: hidden; }
.iaturbo-full-sheet-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: calc(env(safe-area-inset-top, 0px) + 16px) 16px 16px;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 2;
}
.iaturbo-full-sheet-back { font-size: 20px; color: var(--text); width: 34px; }
.iaturbo-full-sheet-title { font-size: 17px; font-weight: 800; flex: 1; }
.iaturbo-full-sheet-spacer { width: 34px; }
.iaturbo-full-sheet-body { padding: 20px 16px 40px; display: flex; flex-direction: column; gap: 12px; }
.iaturbo-full-sheet-body label { font-size: 13px; font-weight: 600; color: var(--text-soft); }

/* =====================================================================
   Voucher
   ===================================================================== */
.voucher-topbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: calc(env(safe-area-inset-top, 0px) + 16px) 16px 16px;
    background: linear-gradient(135deg, var(--header-grad-1), var(--header-grad-2));
    color: #fff;
}
.voucher-back { color: #fff; font-size: 20px; width: 34px; }
.voucher-topbar-title { font-size: 17px; font-weight: 800; flex: 1; }
.voucher-topbar .header-icons .icon-btn { background: rgba(255, 255, 255, .2); }

.voucher-main { padding: 18px 16px 0; }
.voucher-hero { text-align: center; padding: 14px 0 22px; position: relative; }
.voucher-hero-glow {
    position: absolute;
    top: -10px; left: 50%;
    transform: translateX(-50%);
    width: 180px; height: 180px;
    background: radial-gradient(circle, rgba(var(--primary-rgb), .35), transparent 70%);
    z-index: 0;
}
.voucher-hero-icon {
    position: relative;
    width: 70px; height: 70px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    display: grid; place-items: center;
    font-size: 32px;
    box-shadow: var(--shadow-primary);
}
.voucher-hero-title { font-size: 22px; font-weight: 800; position: relative; }
.voucher-hero-lead { font-size: 13.5px; color: var(--text-soft); margin-top: 8px; position: relative; }

.voucher-card {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 18px;
    box-shadow: var(--shadow-sm);
}
.voucher-label { font-size: 13px; font-weight: 600; color: var(--text-soft); display: block; margin-bottom: 8px; }
.voucher-redeem-row { display: flex; gap: 10px; }
.voucher-input-wrap {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    background: var(--surface-2);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 0 8px 0 14px;
}
.voucher-input-wrap:focus-within { border-color: var(--primary); }
.voucher-input {
    flex: 1;
    border: none;
    background: none;
    padding: 14px 0;
    outline: none;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    min-width: 0;
}
.voucher-paste { color: var(--primary-deep); font-size: 17px; padding: 8px; }
.voucher-submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 18px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-weight: 800;
    box-shadow: var(--shadow-primary);
    white-space: nowrap;
}
.voucher-submit--ghost { background: var(--surface-3); color: var(--primary-deep); box-shadow: none; }

.voucher-tips {
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.voucher-tips li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: var(--text-soft);
}
.voucher-tips li i { color: var(--success); margin-top: 2px; }

.voucher-success {
    text-align: center;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 28px 20px;
    margin-top: 18px;
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}
.voucher-success-icon { font-size: 52px; color: var(--success); margin-bottom: 10px; }
.voucher-success h3 { font-size: 20px; }
.voucher-success-amount { font-size: 28px; font-weight: 900; color: var(--success); margin: 8px 0; }
.voucher-success-bal { font-size: 13px; }
.voucher-link-wallet { display: block; margin-top: 14px; font-weight: 700; }
.voucher-burst { position: absolute; inset: 0; pointer-events: none; }
.voucher-burst span {
    position: absolute;
    top: 20px; left: 50%;
    width: 8px; height: 8px;
    border-radius: 2px;
    background: var(--primary);
    opacity: 0;
    animation: voucher-burst 1s ease-out;
}
.voucher-burst span:nth-child(2) { background: var(--gold); }
.voucher-burst span:nth-child(3) { background: var(--success); }
.voucher-burst span:nth-child(4) { background: var(--primary-strong); }
.voucher-burst span:nth-child(5) { background: var(--danger); }
@keyframes voucher-burst {
    0% { opacity: 1; transform: translate(0, 0) scale(1); }
    100% { opacity: 0; transform: translate(var(--bx, 40px), var(--by, 60px)) scale(.3); }
}


.chart-container {
    position: relative;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 14px;
    box-shadow: var(--shadow-sm);
}
.chart-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.market-title { display: flex; align-items: center; gap: 8px; }
.market-pulse {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 0 rgba(22, 199, 132, .5);
    animation: pulse-dot 1.6s infinite;
}
.market-pulse.up { background: var(--success); }
.market-pulse.down { background: var(--danger); animation: none; }
@keyframes pulse-dot {
    0% { box-shadow: 0 0 0 0 rgba(22, 199, 132, .5); }
    70% { box-shadow: 0 0 0 8px rgba(22, 199, 132, 0); }
    100% { box-shadow: 0 0 0 0 rgba(22, 199, 132, 0); }
}
.chart-asset-select {
    border: 1px solid var(--border);
    background: var(--surface-2);
    border-radius: var(--radius-xs);
    padding: 6px 10px;
    font-weight: 800;
    font-size: 15px;
    outline: none;
}
.current-price { text-align: center; line-height: 1.2; }
.current-price > span { font-size: 10.5px; color: var(--text-muted); display: block; }
.price { font-size: 17px; font-weight: 800; }
.price-change { font-size: 12px; font-weight: 700; font-style: normal; }
.price-change.positive, .price-change.up { color: var(--success); }
.price-change.down, .price-change.negative { color: var(--danger); }
.market-spread { text-align: right; line-height: 1.2; }
.market-spread > span { font-size: 10.5px; color: var(--text-muted); display: block; }
.market-spread strong { font-size: 13px; }

#tradingChart {
    width: 100%;
    height: 360px;
    border-radius: var(--radius-sm);
    overflow: hidden;
}
#loteOperationChart {
    width: 100%;
    height: 260px;
    border-radius: var(--radius-sm);
    overflow: hidden;
}
.chart-markers { position: relative; }
.chart-marker {
    position: absolute;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 6px;
    background: var(--primary-soft);
    color: var(--primary-deep);
}

/* Ferramentas e timeframe (flutuantes no chart) */
.chart-tools, .chart-timeframe { position: absolute; top: 76px; }
.chart-tools { right: 12px; }
.chart-timeframe { right: 56px; left: auto; }
.chart-tools-toggle, .chart-timeframe-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-soft);
    box-shadow: var(--shadow-sm);
}
.chart-tools-menu, .chart-timeframe-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow);
    padding: 10px;
    min-width: 140px;
    z-index: 20;
}
.chart-tools-menu { right: 0; }
.chart-timeframe-menu { right: 0; left: auto; display: none; }
.chart-tools-menu.show, .chart-tools-menu.is-open,
.chart-timeframe-menu.show, .chart-timeframe-menu.is-open { display: block; }
.chart-tools-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--text-muted); display: block; margin-bottom: 8px; }
.chart-tools-menu label { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 6px 0; }
.chart-timeframe-option {
    display: block;
    width: 100%;
    text-align: left;
    padding: 8px 10px;
    border-radius: var(--radius-xs);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-soft);
}
.chart-timeframe-option.active { background: var(--primary-soft); color: var(--primary-deep); }

/* ---- Posições abertas ---- */
.active-positions {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 14px;
    box-shadow: var(--shadow-sm);
}
.active-positions.is-empty { display: none; }
.position-item {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.position-info { display: flex; align-items: center; justify-content: space-between; }
.position-type {
    font-size: 11px;
    font-weight: 800;
    padding: 3px 9px;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
}
.position-type.buy, .position-type.up { background: var(--success-soft); color: var(--success); }
.position-type.sell, .position-type.down { background: var(--danger-soft); color: var(--danger); }
.position-live { font-weight: 800; font-size: 14px; }
.position-progress {
    height: 6px;
    border-radius: 99px;
    background: var(--surface-3);
    overflow: hidden;
}
.position-progress > span { display: block; height: 100%; background: var(--primary); }
.position-details, .position-details-full { font-size: 11.5px; color: var(--text-muted); }
}
.expiration-selector { flex: 1; min-width: 0; }
.amount-selector { flex: 1.25; min-width: 0; }
.expiration-menu-wrap { position: relative; }

/* Campos "cartão" (Alavancagem / Capital alocado) */
.op-field {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--surface-2);
    border: 1.5px solid var(--border);
    border-radius: 14px;
    padding: 11px 12px;
    text-align: left;
    min-height: 64px;
}
.op-field-ico {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 17px;
    color: var(--primary-deep);
    background: var(--primary-soft);
    border: 1px solid rgba(34, 229, 122, .25);
}
.op-field-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.op-field-label {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.op-field-value {
    font-size: 18px;
    font-weight: 800;
    color: var(--text);
    line-height: 1.1;
}
.op-field-caret { flex-shrink: 0; color: var(--text-muted); font-size: 14px; }
.expiration-toggle { cursor: pointer; }
.expiration-menu {
    display: none;
    position: absolute;
    bottom: calc(100% + 6px);
    left: 0; right: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow);
    padding: 6px;
    z-index: 20;
    max-height: 220px;
    overflow-y: auto;
}
.expiration-menu.show, .expiration-menu.is-open { display: block; }
.expiration-menu button {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 12px;
    border-radius: var(--radius-xs);
    font-weight: 600;
    color: var(--text-soft);
}
.expiration-menu button.active, .expiration-menu button:hover { background: var(--primary-soft); color: var(--primary-deep); }

/* Campo de capital: valor editável + botões +/- */
.op-field--amount {
    gap: 8px;
    padding: 10px 9px;
    background: rgba(14, 22, 17, .92);
    border-color: rgba(22, 224, 122, .18);
}
.op-field--amount .op-field-ico { width: 30px; height: 30px; font-size: 15px; }
.amount-value-wrap { display: flex; align-items: baseline; gap: 3px; min-width: 0; }
.amount-value-wrap .amount-cur { color: var(--text); font-weight: 800; font-size: 15px; flex-shrink: 0; }
.amount-value-wrap input {
    flex: 1;
    width: 100%;
    min-width: 0;
    text-align: left;
    border: none;
    background: none;
    outline: none;
    font-size: 16px;
    font-weight: 800;
    color: var(--text);
    padding: 0;
}
.amount-steppers { display: flex; gap: 5px; flex-shrink: 0; }
.amount-step-btn {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-deep);
    font-size: 15px;
    border-radius: 9px;
    background: var(--primary-soft);
    border: 1px solid rgba(34, 229, 122, .25);
    flex-shrink: 0;
}
.amount-step-btn:active { transform: scale(.94); }


    font-weight: 600;
    color: var(--text);
}
.trader-status-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--primary-soft);
    color: var(--primary-deep);
    font-size: 12.5px;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: var(--radius-pill);
    flex-shrink: 0;
}

/* .lot-summary-top -- removed */
/* removed lot-* and trade-* rules */
    font-weight: 800;
    font-size: 12px;
    color: var(--primary-deep);
    background: var(--primary-soft);
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}


    padding: 12px;
    font-size: 12.5px;
}
.ranking-intro {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: grid;
    place-items: center;
    background: rgba(15, 40, 60, .6);
}
.ranking-intro[aria-hidden="true"] { display: none; }
.ranking-intro-badge {
    position: relative;
    text-align: center;
    background: linear-gradient(135deg, var(--gold), #ffce5a);
    color: #5a3c00;
    border-radius: var(--radius-lg);
    padding: 28px 36px;
    box-shadow: 0 16px 50px rgba(244, 183, 64, .5);
    animation: pop-in .4s cubic-bezier(.22, 1.4, .5, 1);
}
.ranking-intro-badge i { font-size: 44px; display: block; }
.ranking-intro-badge span { font-weight: 900; letter-spacing: 2px; display: block; margin: 6px 0; }
.ranking-intro-badge strong { font-size: 22px; }
@keyframes pop-in { from { transform: scale(.5); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.ranking-intro-fire, .ranking-intro-sparks { position: absolute; inset: 0; pointer-events: none; }

/* =====================================================================
   Afiliados / Indicados
   ===================================================================== */
.aff-page-body { background: var(--bg); }
.aff-hero {
    background: linear-gradient(150deg, var(--header-grad-1), var(--header-grad-2));
    color: #fff;
    padding: calc(env(safe-area-inset-top, 0px) + 18px) 16px 22px;
    border-radius: 0 0 26px 26px;
    box-shadow: var(--shadow);
}
.aff-hero-top { display: flex; align-items: center; justify-content: space-between; }
.aff-level-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, .2);
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    font-weight: 800;
    font-size: 13px;
}
.aff-level-badge i { color: var(--gold); }
.aff-rules-btn {
    background: rgba(255, 255, 255, .2);
    color: #fff;
    font-weight: 700;
    font-size: 12.5px;
    padding: 7px 14px;
    border-radius: var(--radius-pill);
}
.aff-tier-bar { display: flex; gap: 6px; margin: 16px 0; flex-wrap: wrap; }
.aff-tier-item {
    flex: 1;
    min-width: 60px;
    background: rgba(255, 255, 255, .15);
    border-radius: var(--radius-xs);
    padding: 8px;
    text-align: center;
}
.aff-tier-label { font-size: 10px; opacity: .85; display: block; }
.aff-tier-pct { font-size: 15px; font-weight: 800; }
.aff-hero-promo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, .15);
    border-radius: var(--radius);
    padding: 14px 16px;
}
.aff-hero-promo-text strong { display: block; font-size: 26px; font-weight: 900; }
.aff-hero-promo-text span { font-size: 12px; opacity: .9; }
.aff-hero-promo-art { font-size: 34px; opacity: .85; }

.aff-main { padding: 16px 14px 0; display: flex; flex-direction: column; gap: 14px; }
.aff-stats-card,
.aff-table-card {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    padding: 16px;
    box-shadow: var(--shadow-sm);
}
.aff-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aff-stat, .aff-stat-full {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 12px;
}
.aff-stat-full { margin-top: 12px; }
.aff-stat-label { font-size: 11.5px; color: var(--text-muted); display: block; line-height: 1.35; }
.aff-stat-val { font-size: 20px; font-weight: 800; color: var(--text); display: block; margin-top: 4px; }
.aff-stat-link, .aff-stat-link-btn {
    font-size: 12px;
    font-weight: 700;
    color: var(--primary-deep);
    margin-top: 4px;
    display: inline-block;
}
.aff-info { color: var(--text-faint); font-size: 12px; cursor: help; }

.aff-actions { display: flex; gap: 10px; }
.aff-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px;
    border-radius: var(--radius-sm);
    font-weight: 700;
    font-size: 14px;
}
.aff-btn-copy { background: linear-gradient(135deg, var(--primary-strong), var(--primary)); color: #fff; box-shadow: var(--shadow-primary); }
.aff-btn-share { background: var(--surface); border: 1px solid var(--border); color: var(--primary-deep); }
.aff-link-hidden { display: none; }

.aff-table-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.aff-period-tabs { display: flex; gap: 4px; background: var(--surface-3); border-radius: var(--radius-sm); padding: 3px; }
.aff-period-tab { padding: 7px 16px; border-radius: var(--radius-xs); font-size: 13px; font-weight: 700; color: var(--text-muted); }
.aff-period-tab.active { background: #fff; color: var(--primary-deep); box-shadow: var(--shadow-sm); }
.aff-details-link { font-size: 12.5px; font-weight: 700; color: var(--primary-deep); }
.aff-table-wrap { overflow-x: auto; }
.aff-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.aff-table th, .aff-table td { padding: 10px 8px; text-align: center; border-bottom: 1px solid var(--border-soft); }
.aff-table th { color: var(--text-muted); font-weight: 700; font-size: 12px; }
.aff-table td:first-child, .aff-table th:first-child { text-align: left; }
.aff-table tbody tr:last-child td { border-bottom: none; }

.aff-referrals-section { margin-top: 4px; }
.aff-referrals-title { font-size: 16px; font-weight: 800; margin-bottom: 12px; }
.aff-referrals-list { display: flex; flex-direction: column; gap: 8px; }

/* ---- Modal de saque de comissão ---- */
.comm-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 280;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(12, 13, 18, .75);
    backdrop-filter: blur(4px);
}
.comm-modal-overlay.is-open,
.comm-modal-overlay.show { display: flex; }
.comm-modal-panel {
    position: relative;
    width: 100%;
    max-width: 400px;
    background: #ffffff;
    border-radius: var(--radius-lg);
    padding: 24px 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
    border: 1px solid rgba(217, 119, 6, .18);
    max-height: 90vh;
    overflow-y: auto;
    animation: pop-in .25s cubic-bezier(.22, 1.2, .5, 1);
}
.comm-modal-close {
    position: absolute;
    top: 14px; right: 14px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--surface-3);
    color: var(--text-soft);
    display: grid; place-items: center;
}
.comm-modal-title { font-size: 19px; font-weight: 800; }
.comm-modal-balance { font-size: 13.5px; color: var(--text-soft); margin: 6px 0 16px; }
.comm-modal-hint { font-size: 13px; color: var(--text-soft); margin-bottom: 12px; line-height: 1.5; }
.comm-hint-sm { font-size: 12px; }
.comm-modal-method { font-size: 13px; color: var(--text-soft); margin-bottom: 12px; }
.comm-register-tabs { display: flex; gap: 6px; background: var(--surface-3); border-radius: var(--radius-sm); padding: 3px; margin-bottom: 14px; }
.comm-tab { flex: 1; padding: 9px; border-radius: var(--radius-xs); font-size: 13px; font-weight: 700; color: var(--text-muted); }
.comm-tab.active { background: #fff; color: #d97706; box-shadow: var(--shadow-sm); }
.comm-form { display: flex; flex-direction: column; gap: 12px; }
.comm-field { display: flex; flex-direction: column; gap: 6px; }
.comm-field label { font-size: 13px; font-weight: 600; color: var(--text-soft); }
.comm-input {
    padding: 12px 14px;
    background: #ffffff;
    border: 1.5px solid rgba(217, 119, 6, .24);
    border-radius: var(--radius-sm);
    outline: none;
}
.comm-input:focus { border-color: #d97706; }
.comm-btn {
    width: 100%;
    padding: 13px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%);
    color: #0c0d12;
    font-weight: 800;
}
.comm-edit-btn { display: block; margin: 12px auto 0; color: #d97706; font-weight: 700; font-size: 13px; }
.comm-modal-error { color: var(--danger); font-size: 13px; font-weight: 600; margin-top: 10px; }
.comm-method-type { font-weight: 700; }

/* =====================================================================
   Modal genérico (confirm / alert)
   ===================================================================== */
.iaturbo-modal {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
}
.iaturbo-modal.is-open,
.iaturbo-modal.iaturbo-modal-open,
.iaturbo-modal.show { display: flex; }
.iaturbo-modal-backdrop { position: absolute; inset: 0; background: rgba(12, 13, 18, .75); backdrop-filter: blur(4px); }
.iaturbo-modal-panel {
    position: relative;
    width: 100%;
    max-width: 360px;
    background: #ffffff;
    border-radius: var(--radius-lg);
    padding: 26px 22px 20px;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
    border: 1px solid rgba(217, 119, 6, .18);
    animation: pop-in .25s cubic-bezier(.22, 1.2, .5, 1);
}
.iaturbo-modal-icon {
    width: 58px; height: 58px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #fef3c7;
    color: #d97706;
    display: grid; place-items: center;
    font-size: 28px;
}
.iaturbo-modal.is-error .iaturbo-modal-icon { background: #fef2f2; color: #ef4444; }
.iaturbo-modal-title { font-size: 18px; font-weight: 800; margin-bottom: 8px; }
.iaturbo-modal-msg, .iaturbo-modal-msg-text { font-size: 14px; color: var(--text-soft); line-height: 1.5; }
.iaturbo-modal-check { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; text-align: left; }
.iaturbo-modal-actions { display: flex; gap: 10px; margin-top: 20px; }
.iaturbo-modal-btn {
    flex: 1;
    padding: 13px;
    border-radius: var(--radius-sm);
    font-weight: 700;
    font-size: 14.5px;
}
.iaturbo-modal-btn--primary { background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%); color: #0c0d12; box-shadow: 0 10px 24px rgba(212, 160, 55, .35); }
.iaturbo-modal-btn--ghost { background: var(--surface-3); color: var(--text-soft); }
.iaturbo-modal-btn--full { flex: 1 1 100%; }

/* =====================================================================
   Modal de saldo insuficiente (dedicado)
   ===================================================================== */
.iaturbo-bal {
    position: fixed;
    inset: 0;
    z-index: 460;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
}
.iaturbo-bal.is-open { display: flex; }
.iaturbo-bal-backdrop { position: absolute; inset: 0; background: rgba(1, 5, 3, .8); backdrop-filter: blur(3px); }
.iaturbo-bal-frame {
    position: relative;
    width: 100%;
    max-width: 380px;
    margin-top: 34px;
    padding: 3px;
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(34, 229, 122, .55), rgba(22, 224, 122, .12) 40%, rgba(22, 224, 122, .12) 60%, rgba(34, 229, 122, .40));
    box-shadow: 0 0 42px rgba(22, 224, 122, .30), 0 24px 60px rgba(0, 0, 0, .55);
    animation: pop-in .28s cubic-bezier(.22, 1.2, .5, 1);
}
/* moldura com "cantos" neon */
.iaturbo-bal-frame::before,
.iaturbo-bal-frame::after {
    content: "";
    position: absolute;
    width: 30px; height: 30px;
    border: 2px solid #2ce783;
    filter: drop-shadow(0 0 6px rgba(44, 231, 131, .8));
    pointer-events: none;
}
.iaturbo-bal-frame::before { top: 8px; left: 8px; border-right: 0; border-bottom: 0; border-top-left-radius: 16px; }
.iaturbo-bal-frame::after { bottom: 8px; right: 8px; border-left: 0; border-top: 0; border-bottom-right-radius: 16px; }

.iaturbo-bal-avatar {
    position: absolute;
    top: -34px;
    left: 50%;
    transform: translateX(-50%);
    width: 92px; height: 92px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 42%, rgba(10, 20, 14, .95) 44%, rgba(22, 224, 122, .25) 62%, transparent 72%);
    z-index: 3;
}
.iaturbo-bal-avatar::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    border: 2px solid rgba(34, 229, 122, .7);
    box-shadow: 0 0 24px rgba(34, 229, 122, .55), inset 0 0 18px rgba(34, 229, 122, .35);
}
.iaturbo-bal-avatar img {
    width: 62px; height: 62px;
    border-radius: 50%;
    object-fit: cover;
    background: #06110b;
    z-index: 2;
}
.iaturbo-bal-badge {
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    width: 34px; height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 16px;
    color: #fff;
    background: linear-gradient(135deg, #ff5468, #d5263b);
    border: 3px solid #0a140e;
    box-shadow: 0 6px 16px rgba(213, 38, 59, .5);
    z-index: 4;
}

.iaturbo-bal-panel {
    position: relative;
    border-radius: 23px;
    padding: 64px 22px 22px;
    text-align: center;
    background: linear-gradient(180deg, rgba(16, 26, 20, .98), rgba(7, 13, 10, .99));
    overflow: hidden;
}
.iaturbo-bal-title { font-size: 26px; font-weight: 900; color: #f4fff9; letter-spacing: .3px; }
.iaturbo-bal-msg {
    font-size: 15px;
    color: #b6d2c5;
    line-height: 1.5;
    margin: 10px auto 20px;
    max-width: 300px;
}
.iaturbo-bal-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 16px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(34, 229, 122, .22);
    margin-bottom: 18px;
}
.iaturbo-bal-card-ico {
    width: 40px; height: 40px;
    flex-shrink: 0;
    border-radius: 11px;
    display: grid; place-items: center;
    font-size: 18px;
    color: #3ff595;
    border: 1px solid rgba(34, 229, 122, .3);
    background: rgba(34, 229, 122, .1);
}
.iaturbo-bal-card-label { flex: 1; text-align: left; font-size: 15px; color: #cfe4d8; }
.iaturbo-bal-card-val { font-size: 18px; font-weight: 900; color: #3ff595; }

.iaturbo-bal-hint {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    margin-bottom: 22px;
    padding: 0 2px;
}
.iaturbo-bal-hint-ico {
    width: 38px; height: 38px;
    flex-shrink: 0;
    border-radius: 50%;
    display: grid; place-items: center;
    font-size: 16px;
    color: #3ff595;
    border: 1.5px solid rgba(34, 229, 122, .55);
    background: rgba(34, 229, 122, .08);
}
.iaturbo-bal-hint p { font-size: 14px; color: #b6d2c5; line-height: 1.45; }
.iaturbo-bal-hint strong { color: #eafff4; font-weight: 800; }

.iaturbo-bal-actions { display: flex; gap: 12px; }
.iaturbo-bal-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 12px;
    border-radius: 14px;
    font-size: 14.5px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
    transition: transform .1s;
}
.iaturbo-bal-btn:active { transform: scale(.97); }
.iaturbo-bal-btn--ghost {
    color: #55f3a0;
    border: 1.5px solid rgba(34, 229, 122, .4);
    background: transparent;
}
.iaturbo-bal-btn--primary {
    color: #03140b;
    background: linear-gradient(135deg, #4dffa0 0%, #22e57a 50%, #0fbf67 100%);
    box-shadow: 0 12px 26px rgba(22, 224, 122, .35);
}

/* =====================================================================
   Modal de pagamento + loading
   ===================================================================== */
.iaturbo-pay-loading,
.iaturbo-pay-modal {
    position: fixed;
    inset: 0;
    z-index: 420;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.iaturbo-pay-loading.is-open,
.iaturbo-pay-loading.iaturbo-pay-open,
.iaturbo-pay-modal.is-open,
.iaturbo-pay-modal.iaturbo-pay-open { display: flex; }
.iaturbo-pay-loading-backdrop,
.iaturbo-pay-modal-backdrop { position: absolute; inset: 0; background: rgba(12, 13, 18, .75); backdrop-filter: blur(4px); }
.iaturbo-pay-loading-card {
    position: relative;
    background: #ffffff;
    border-radius: var(--radius-lg);
    padding: 30px 26px;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
    border: 1px solid rgba(217, 119, 6, .18);
}
.iaturbo-pay-spinner {
    width: 46px; height: 46px;
    margin: 0 auto 16px;
    border: 4px solid #fef3c7;
    border-top-color: #d97706;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.iaturbo-pay-loading-title { font-weight: 800; font-size: 16px; }
.iaturbo-pay-loading-sub { font-size: 13px; color: var(--text-muted); margin-top: 4px; }

.iaturbo-pay-modal-panel {
    position: relative;
    width: 100%;
    max-width: 380px;
    background: #ffffff;
    border-radius: var(--radius-lg);
    padding: 26px 22px;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
    border: 1px solid rgba(217, 119, 6, .18);
    max-height: 92vh;
    overflow-y: auto;
    animation: pop-in .25s cubic-bezier(.22, 1.2, .5, 1);
}
.iaturbo-pay-close {
    position: absolute;
    top: 14px; right: 14px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--surface-3);
    color: var(--text-soft);
    display: grid; place-items: center;
}
.iaturbo-pay-title { font-size: 18px; font-weight: 800; }
.iaturbo-pay-amount { font-size: 26px; font-weight: 900; color: #d97706; margin: 6px 0 16px; }
.iaturbo-pay-qr-wrap {
    display: inline-block;
    padding: 14px;
    background: #fff;
    border: 1px solid rgba(217, 119, 6, .18);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.iaturbo-pay-qr-mount { width: 200px; height: 200px; display: grid; place-items: center; }
.iaturbo-pay-qr-mount img, .iaturbo-pay-qr-mount canvas { max-width: 100%; }
.iaturbo-pay-hint { font-size: 12.5px; color: var(--text-muted); margin: 14px 0; }
.iaturbo-pay-copy-row {
    display: flex;
    gap: 8px;
    align-items: center;
    background: var(--surface-2);
    border: 1px solid rgba(217, 119, 6, .18);
    border-radius: var(--radius-sm);
    padding: 4px 4px 4px 12px;
}
.iaturbo-pay-copy-input { flex: 1; border: none; background: none; outline: none; font-size: 12px; min-width: 0; }
.iaturbo-pay-copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%);
    color: #0c0d12;
    font-weight: 700;
    font-size: 12.5px;
    padding: 9px 12px;
    border-radius: var(--radius-xs);
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(212, 160, 55, .3);
}
.iaturbo-pay-status { font-size: 12px; color: var(--text-muted); margin: 14px 0; }
.iaturbo-pay-done-btn {
    width: 100%;
    padding: 13px;
    border-radius: var(--radius-sm);
    background: var(--surface-3);
    color: var(--text-soft);
    font-weight: 700;
}

/* =====================================================================
   Notificações de trade
   ===================================================================== */
.notification-icon { font-size: 22px; }
.notification-text { display: flex; flex-direction: column; }
.notification-text strong { font-size: 13px; }
.notification-text span { font-size: 12px; color: var(--text-muted); }


/* =====================================================================
   Seletor de idioma
   ===================================================================== */
.language-switch { position: relative; }
.has-lang-switch .header-top { gap: 8px; }
.language-switch-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    border-radius: var(--radius-pill);
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 700;
}
.language-switch-flag { font-size: 15px; }
.language-switch-code { text-transform: uppercase; }
.language-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow);
    padding: 6px;
    min-width: 170px;
    z-index: 120;
}
.language-menu.show, .language-menu.is-open,
.language-switch.is-open .language-menu { display: block; }
.language-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--radius-xs);
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    text-align: left;
}
.language-option:hover, .language-option.active { background: var(--primary-soft); color: var(--primary-deep); }
.language-option-flag { font-size: 18px; }

/* =====================================================================
   Barra de instalação PWA
   ===================================================================== */
.pwa-install-bar {
    position: fixed !important;
    left: 50% !important;
    bottom: calc(var(--nav-h, 76px) + 14px) !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 28px) !important;
    max-width: calc(var(--app-max, 520px) - 28px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #f2f6f2 !important;
    border: 1px solid rgba(15,81,50,.16) !important;
    border-radius: 20px !important;
    padding: 12px 14px !important;
    box-shadow: 0 12px 32px rgba(15,61,37,.14), 0 2px 8px rgba(15,61,37,.08) !important;
    z-index: 150 !important;
    animation: sheet-up .3s ease !important;
    color: #17382b !important;
}
.pwa-install-bar__icon { width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0; }
.pwa-install-bar__text { flex: 1; min-width: 0; line-height: 1.25; }
.pwa-install-bar__text strong { font-size: 13.5px !important; display: block !important; color: #17382b !important; font-weight: 800 !important; }
.pwa-install-bar__text span { font-size: 11.5px !important; color: #5c7262 !important; }
.pwa-install-bar__btn {
    background: linear-gradient(135deg, #1a7044, #0f5132) !important;
    color: #fff !important;
    font-weight: 750 !important;
    font-size: 13px !important;
    padding: 9px 18px !important;
    border-radius: 999px !important;
    flex-shrink: 0 !important;
    border: none !important;
    box-shadow: 0 6px 16px rgba(15,81,50,.32) !important;
    transition: filter .15s ease, box-shadow .15s ease !important;
}
.pwa-install-bar__btn:hover { filter: brightness(1.08) !important; }
.pwa-install-bar__close {
    width: 28px !important; height: 28px !important;
    color: #8aa090 !important; font-size: 13px !important; flex-shrink: 0 !important;
    border-radius: 50% !important;
    background: rgba(15,81,50,.08) !important;
    border: 1px solid rgba(15,81,50,.12) !important;
    display: grid !important; place-items: center !important;
    transition: background .15s, color .15s !important;
}
.pwa-install-bar__close:hover { background: rgba(15,81,50,.15) !important; color: #0f5132 !important; }

/* =====================================================================
   Toast / Check-in (loading e estados auxiliares)
   ===================================================================== */
.ci-toast {
    position: fixed;
    bottom: calc(var(--nav-h) + 16px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--surface);
    border: 1px solid var(--success);
    color: var(--success);
    border-radius: var(--radius-sm);
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-lg);
    z-index: 320;
}
.ci-loading { text-align: center; padding: 50px 20px; color: var(--text-muted); }
.ci-loading i { font-size: 30px; display: block; margin-bottom: 10px; animation: spin 1s linear infinite; }

/* estados utilitários genéricos */
.is-loading { opacity: .6; pointer-events: none; }
.is-error { color: var(--danger); }

/* =====================================================================
   Responsividade
   ===================================================================== */

/* Telas pequenas (≤360px) */
@media (max-width: 360px) {
    .balance-amount { font-size: 32px; }
    .tab { font-size: 12.5px; padding: 10px 4px; }
    .trader-stat-val, .aff-stat-val { font-size: 15px; }
    .auth-hero-copy h1 { font-size: 24px; }
    .iaturbo-pay-qr-mount { width: 170px; height: 170px; }
}

/* Tablets e desktop: app centralizado com moldura */
@media (min-width: 600px) {
    body {
        background: linear-gradient(160deg, #dcecf8, var(--bg));
        background: radial-gradient(circle at 50% 0%, #d4ecf9, var(--bg));
    }
    .app {
        margin: 0 auto;
        min-height: 100vh;
        box-shadow: 0 0 60px rgba(46, 124, 173, .15);
    }
    /* elementos fixos acompanham a largura do app */
    .bottom-nav,
    .pwa-install-bar { max-width: var(--app-max); }
}

/* Telas largas: aproveita espaço em grades */
@media (min-width: 760px) {
    .traders-list,
    .receita-list,
    .carteira-extrato-list {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Acessibilidade: respeita preferências de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
    .ticker-track { animation: none; }
}

/* Foco visível para navegação por teclado */
:focus-visible {
    outline: 2px solid var(--primary-strong);
    outline-offset: 2px;
}

/* =====================================================================
   Login / Cadastro — campos com borda luminosa (pill glow)
   ===================================================================== */
.auth-page .auth-input-wrap {
    position: relative;
    border: none;
    border-radius: var(--radius-pill);
    padding: 2px 18px;
    background: #ffffff;
    box-shadow:
        0 8px 22px rgba(var(--primary-rgb), .20),
        0 2px 6px rgba(46, 124, 173, .10),
        inset 0 1px 1px rgba(255, 255, 255, .9);
    transition: box-shadow .2s ease, transform .12s ease;
    overflow: visible;
}

/* Anel de borda em gradiente (claro no topo, suave embaixo) */
.auth-page .auth-input-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1.8px;
    background: linear-gradient(
        155deg,
        var(--primary-strong) 0%,
        rgba(var(--primary-rgb), .85) 30%,
        rgba(var(--primary-rgb), .35) 62%,
        rgba(255, 255, 255, .9) 100%
    );
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    transition: background .2s ease, opacity .2s ease;
}

/* Remove o brilho interno no topo dos campos */
.auth-page .auth-input-wrap::after {
    content: none;
}

.auth-page .auth-input-wrap input,
.auth-page .auth-input-wrap select {
    padding: 15px 10px;
    background: transparent;
}
.auth-page .auth-input-wrap .auth-ico { color: var(--primary-strong); }

/* Estado de foco — intensifica o glow e a borda */
.auth-page .auth-input-wrap:focus-within {
    transform: translateY(-1px);
    box-shadow:
        0 0 0 4px rgba(var(--primary-rgb), .20),
        0 10px 26px rgba(var(--primary-rgb), .28);
}
.auth-page .auth-input-wrap:focus-within::before {
    background: linear-gradient(
        160deg,
        var(--primary-strong) 0%,
        rgba(var(--primary-rgb), .65) 45%,
        rgba(var(--primary-rgb), .25) 100%
    );
}
.auth-page .auth-input-wrap:focus-within .auth-ico { color: var(--primary-deep); }

/* =====================================================================
   Card de investimento — duas colunas (Médio / Longo prazo)
   ===================================================================== */
.inv-card { display: flex; flex-direction: row; align-items: stretch; gap: 12px; padding: 12px; }
.inv-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    width: 100px;
    flex-shrink: 0;
}
.inv-avatar-wrap { position: relative; flex-shrink: 0; }
.inv-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--primary-soft);
    background: var(--surface-3);
}
.inv-avatar-badge {
    position: absolute;
    right: -3px;
    bottom: -3px;
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .3px;
    padding: 2px 6px;
    border-radius: var(--radius-pill);
    border: 2px solid var(--surface);
}
.inv-head-text { min-width: 0; display: flex; flex-direction: column; flex: 1; width: 100%; }
.inv-name { font-size: 13.5px; font-weight: 800; color: var(--text); line-height: 1.15; }
.inv-subtitle { font-size: 10.5px; color: var(--text-muted); margin-top: 1px; }
.inv-details {
    margin-top: auto;
    margin-bottom: 6px;
    font-size: 11.5px;
    font-weight: 800;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 9px 14px;
    border-radius: var(--radius-xs);
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    box-shadow: var(--shadow-primary);
    transition: transform .1s, filter .15s;
}
.inv-details:active { transform: scale(.97); }

.inv-plans {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    flex: 1;
    min-width: 0;
    border-left: 1px dashed var(--border);
    padding-left: 12px;
}
.inv-card--single .inv-plans { grid-template-columns: 1fr; }

.inv-plan {
    background: var(--surface-2);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 10px 9px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.inv-plan--long { background: linear-gradient(180deg, #fffaf0, var(--surface-2)); border-color: #f0dca6; }
.inv-plan-kicker {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--primary-deep);
}
.inv-plan--long .inv-plan-kicker { color: #c08a16; }
.inv-plan-days {
    font-size: 12.5px;
    font-weight: 800;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.inv-plan-days i { color: var(--text-muted); font-size: 12px; }
.inv-plan-rate { font-size: 18px; font-weight: 900; color: var(--success); line-height: 1; margin-top: 2px; }
.inv-plan-rate-lbl { font-size: 10px; color: var(--text-muted); }
.inv-plan-price {
    margin-top: 6px;
    text-align: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xs);
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.inv-plan-price-lbl {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
    color: var(--text-muted);
}
.inv-plan-price-val { font-weight: 800; color: var(--text); font-size: 14px; }
.inv-plan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 6px;
    padding: 9px;
    border-radius: var(--radius-xs);
    font-weight: 800;
    font-size: 11.5px;
    color: #fff;
    transition: transform .1s, filter .15s;
}
.inv-plan-btn:active { transform: scale(.97); }
.inv-plan-btn--mid {
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    box-shadow: var(--shadow-primary);
}
.inv-plan-btn--long {
    background: linear-gradient(135deg, #e0a420, #f4b740);
    color: #5a3c00;
    box-shadow: 0 8px 18px rgba(244, 183, 64, .42);
}
.inv-plan-btn--long i { color: #5a3c00; }

@media (max-width: 400px) {
    .inv-card { gap: 8px; padding: 10px; }
    .inv-head { width: 74px; gap: 4px; }
    .inv-avatar { width: 44px; height: 44px; }
    .inv-avatar-badge { font-size: 8px; padding: 1px 5px; }
    .inv-name { font-size: 12px; }
    .inv-subtitle { font-size: 9px; }
    .inv-details { font-size: 9.5px; }
    .inv-plans { padding-left: 8px; gap: 6px; }
    .inv-plan { padding: 8px 6px; gap: 2px; }
    .inv-plan-kicker { font-size: 8.5px; }
    .inv-plan-days { font-size: 10.5px; gap: 4px; }
    .inv-plan-days i { font-size: 10px; }
    .inv-plan-rate { font-size: 15px; }
    .inv-plan-rate-lbl { font-size: 8px; }
    .inv-plan-price { padding: 5px 4px; margin-top: 5px; }
    .inv-plan-price-lbl { font-size: 7.5px; }
    .inv-plan-price-val { font-size: 12px; }
    .inv-plan-btn { font-size: 9.5px; padding: 8px 4px; gap: 3px; margin-top: 5px; white-space: nowrap; }
}

/* =====================================================================
   Perfil — dashboard
   ===================================================================== */
.perfil-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
}
.perfil-hero-stat { text-align: center; position: relative; }
.perfil-hero-stat + .perfil-hero-stat::before {
    content: "";
    position: absolute;
    left: -6px; top: 10%;
    height: 80%;
    border-left: 1px solid rgba(255, 255, 255, .25);
}
.perfil-hero-val { display: block; font-size: 26px; font-weight: 900; color: #fff; line-height: 1.1; }
.perfil-hero-lbl { font-size: 12px; color: rgba(255, 255, 255, .85); }

.dash-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}
.dash-stat { padding: 14px 12px; text-align: center; border-bottom: 1px solid var(--border-soft); }
.dash-stat:nth-child(odd) { border-right: 1px solid var(--border-soft); }
.dash-stat:nth-child(n+3) { border-bottom: none; }
.dash-stat strong { display: block; font-size: 18px; font-weight: 800; color: var(--text); }
.dash-stat span { font-size: 11.5px; color: var(--text-muted); }

.dash-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 14px;
}
.dash-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 12px 6px;
    box-shadow: var(--shadow-sm);
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-soft);
    line-height: 1.2;
}
.dash-action:active { transform: scale(.97); }
.dash-action-ico {
    width: 38px; height: 38px;
    border-radius: 11px;
    background: var(--primary-soft);
    color: var(--primary-deep);
    display: grid; place-items: center;
    font-size: 18px;
}

.dash-gift {
    margin-top: 16px;
    background: linear-gradient(135deg, var(--primary-strong), var(--primary));
    border-radius: var(--radius);
    padding: 16px;
    color: #fff;
    box-shadow: var(--shadow-primary);
}
.dash-gift-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.dash-gift-ico {
    width: 42px; height: 42px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .2);
    display: grid; place-items: center;
    font-size: 20px;
    flex-shrink: 0;
}
.dash-gift-text h3 { font-size: 15px; font-weight: 800; }
.dash-gift-text p { font-size: 12px; opacity: .9; }
.dash-gift-form {
    display: flex;
    gap: 6px;
    background: rgba(255, 255, 255, .15);
    border-radius: var(--radius-pill);
    padding: 4px 4px 4px 14px;
}
.dash-gift-form input {
    flex: 1;
    background: none;
    border: none;
    color: #fff;
    outline: none;
    font-size: 12.5px;
    letter-spacing: .5px;
    min-width: 0;
}
.dash-gift-form input::placeholder { color: rgba(255, 255, 255, .7); }
.dash-gift-form button {
    background: #fff;
    color: var(--primary-deep);
    font-weight: 800;
    font-size: 13px;
    padding: 9px 16px;
    border-radius: var(--radius-pill);
    white-space: nowrap;
}
.dash-gift .sheet-error:not(:empty) { color: #fff; font-weight: 600; margin-top: 8px; }

.dash-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 18px;
}
.dash-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    padding: 14px 6px;
    box-shadow: var(--shadow-sm);
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-soft);
    line-height: 1.2;
}
.dash-item:active { transform: scale(.97); }
.dash-item-ico {
    width: 42px; height: 42px;
    border-radius: 12px;
    background: var(--primary-soft);
    color: var(--primary-deep);
    display: grid; place-items: center;
    font-size: 20px;
}
.dash-item--danger { color: var(--danger); }
.dash-item--danger .dash-item-ico { background: var(--danger-soft); color: var(--danger); }

@media (max-width: 360px) {
    .dash-actions, .dash-grid { gap: 7px; }
    .dash-action, .dash-item { font-size: 10px; padding: 11px 4px; }
    .dash-action-ico, .dash-item-ico { width: 36px; height: 36px; font-size: 17px; }
}

/* =====================================================================
   PERRIER THEME OVERRIDE — água mineral · verde-esmeralda + dourado
   Alinha todo o app à identidade das telas de login/cadastro.
   ===================================================================== */
:root {
    --primary:          #2e8b57;
    --primary-rgb:      46, 139, 87;
    --primary-soft:     rgba(46, 139, 87, .14);
    --primary-softer:   rgba(46, 139, 87, .07);
    --primary-strong:   #1a6b42;
    --primary-deep:     #0f5132;
    --primary-contrast: #f5fff7;
    --header-grad-1:    #0f5132;
    --header-grad-2:    #1a6b42;
    --bg:               #050806;
    --bg2:              #0b120d;
    --surface:          rgba(15, 22, 18, .90);
    --surface-2:        rgba(19, 27, 22, .92);
    --surface-3:        rgba(26, 36, 29, .94);
    --text:             #f3f7ef;
    --text-soft:        #c9d6c5;
    --text-muted:       #8aa090;
    --text-faint:       #6f8475;
    --success:          #2e8b57;
    --success-soft:     rgba(46, 139, 87, .14);
    --danger:           #e8745a;
    --danger-soft:      rgba(232, 116, 90, .12);
    --warning:          #e3c98a;
    --warning-soft:     rgba(227, 201, 138, .14);
    --gold:             #b89b5e;
    --gold-bright:      #e3c98a;
    --border:           rgba(184, 155, 94, .22);
    --border-soft:      rgba(184, 155, 94, .14);
    --shadow-sm:        0 14px 32px rgba(0, 0, 0, .28);
    --shadow:           0 22px 50px rgba(0, 0, 0, .40);
    --shadow-lg:        0 28px 70px rgba(0, 0, 0, .52);
    --shadow-primary:   0 18px 40px rgba(46, 139, 87, .22);
}

html {
    background:
        radial-gradient(circle at 20% 0%, rgba(46, 139, 87, .10), transparent 30%),
        radial-gradient(circle at 80% 10%, rgba(184, 155, 94, .10), transparent 34%),
        #050806;
}

body {
    background:
        radial-gradient(circle at 10% 0%, rgba(46, 139, 87, .09), transparent 24%),
        radial-gradient(circle at 100% 0%, rgba(184, 155, 94, .10), transparent 30%),
        linear-gradient(180deg, #050b07 0%, #04080606 100%);
    color: var(--text);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .20;
    background-image:
        linear-gradient(rgba(120, 170, 140, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 170, 140, .06) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .92), transparent 90%);
}

a { color: var(--gold-bright, #e3c98a); }
.muted, .empty-msg, .page-lead { color: var(--text-muted); }

.app {
    background:
        linear-gradient(180deg, rgba(10, 22, 14, .96), rgba(6, 10, 8, .96)),
        var(--bg);
}

.app::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at top, rgba(46, 139, 87, .10), transparent 26%),
        radial-gradient(circle at bottom right, rgba(184, 155, 94, .08), transparent 28%);
}

.header,
.memecoin-header,
.auth-hero,
.voucher-topbar,
.aff-hero,
.ci-head,
.rl-head {
    background:
        linear-gradient(135deg, rgba(7, 20, 12, .96) 0%, rgba(15, 50, 30, .96) 48%, rgba(20, 60, 36, .96) 100%);
    border-bottom: 1px solid rgba(184, 155, 94, .22);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .45);
}

.header::before,
.memecoin-header::before,
.auth-hero::before,
.voucher-topbar::before,
.aff-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at top left, rgba(46, 139, 87, .16), transparent 30%),
        radial-gradient(circle at top right, rgba(184, 155, 94, .14), transparent 34%);
}

.banner-image { opacity: .32; }
.banner-image img {
    filter: saturate(.85) contrast(1.05) brightness(.6) hue-rotate(95deg);
    transform: scale(1.04);
}
.banner-image::after {
    background:
        linear-gradient(140deg, rgba(4, 12, 8, .84) 0%, rgba(7, 22, 14, .78) 42%, rgba(10, 30, 20, .86) 100%);
}

/* Carteira: banner sem o tint verde por cima */
.carteira-app .header,
.carteira-app .memecoin-header {
    background: linear-gradient(135deg, #0a0f0c 0%, #0c1310 48%, #0e1612 95%);
    border-bottom-color: rgba(184, 155, 94, .18);
}
.carteira-app .header::before,
.carteira-app .memecoin-header::before {
    background: none;
}
.carteira-app .banner-image img {
    filter: saturate(1) contrast(1.02) brightness(1);
}
.carteira-app .banner-image::after {
    background:
        linear-gradient(180deg, rgba(6, 9, 12, .10) 0%, rgba(8, 11, 14, .05) 45%, rgba(10, 13, 16, .35) 100%);
}

.tabs,
#mercadosFilters,
.wallet-tier-strip,
.carteira-panel,
.trader-card,
.my-sub-card,
.manager-vip-card,
.faq-item,
.voucher-card,
.voucher-success,
.chart-container,
.active-positions,
.aff-stats-card,
.aff-table-card,
.aff-stat,
.aff-stat-full,
.comm-modal-panel,
.iaturbo-modal-panel,
.iaturbo-pay-modal-panel,
.sheet-panel,
.auth-recovery,
.dash-stats,
.dash-action,
.dash-item,
.dash-gift,
.perfil-panel,
.perfil-referral-card,
.rl-card,
.rl-rules,
.rl-win,
.ci-balance,
.ci-task,
.movement-item,
.position-item {
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .16);
    box-shadow:
        0 18px 40px rgba(0, 0, 0, .34),
        inset 0 1px 0 rgba(255, 255, 255, .03);
}

.tabs::before,
#mercadosFilters::before {
    background: linear-gradient(135deg, rgba(46, 139, 87, .80), rgba(26, 107, 66, .60), rgba(184, 155, 94, .18));
}

.tab,
.category-tab,
.auth-field label,
.carteira-field label,
/* .trade-risk-grid removed */
.voucher-label,
.page-title,
.auth-title,
.perfil-panel-title,
.carteira-extrato-title,
/* .trading-header-title, -- removed */
.voucher-topbar-title,
.aff-referrals-title {
    color: var(--text);
}

.tab,
.category-tab,
.auth-link-button,
.carteira-link-btn,
.sub-sheet-rules,
.aff-details-link,
.aff-stat-link,
.voucher-link-wallet {
    color: var(--text-soft);
}

.tab.active,
.category-tab.active,
#mercadosFilters .category-tab.active,
.sub-sheet-ok,
.auth-submit,
.carteira-btn,
.manager-contact-btn,
.voucher-submit,
.aff-btn-copy,
.comm-btn,
.iaturbo-modal-btn--primary,
/* .trading-intro button, -- removed */
.inv-plan-btn--mid,
.subscribe-btn,
.buy-btn.subscribe-btn {
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%);
    color: #0c0d12;
    box-shadow: 0 18px 36px rgba(212, 160, 55, .30);
}

.buy-btn {
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%);
    color: #0c0d12;
}

.sell-btn {
    background: linear-gradient(135deg, #e8745a 0%, #c8543a 100%);
    color: #fff5f2;
}

.inv-plan-btn--long,
.tab-manager.active,
.manager-vip-icon,
.ranking-intro-badge {
    background: linear-gradient(135deg, #e3c98a 0%, #b89b5e 100%);
    color: #1c2b22;
}

.bottom-nav {
    background: rgba(7, 12, 9, .90);
    border-top: 1px solid rgba(184, 155, 94, .22);
    box-shadow: 0 -18px 44px rgba(0, 0, 0, .48);
}

.nav-item {
    color: rgba(178, 198, 186, .58);
}

.nav-item.active {
    color: #e3c98a;
}

.nav-item.active i,
.nav-item.active .nav-ico {
    filter: drop-shadow(0 0 16px rgba(46, 139, 87, .50));
}

.balance-label,
.voucher-success-bal,
/* .trade-cost-preview removed */
.market-spread > span,
.current-price > span,
.profit-detail,
.aff-stat-label,
.m-date,
.my-sub-meta,
.my-sub-status,
.carteira-hint,
.carteira-saved,
.sheet-error:empty {
    color: var(--text-muted);
}

.balance-amount,
.price,
.perfil-hero-val,
.aff-stat-val,
.voucher-success-amount,
.rl-win-amt,
.ci-balance-val {
    color: #f6fff0;
    text-shadow: 0 0 24px rgba(46, 139, 87, .25);
}

.usdt-label,
.trader-limited-badge,
.wallet-tier-help,
.sub-sheet-deposit,
.trader-status-btn,
.aff-level-badge,
/* .live-traders-pulse, -- removed */
.market-pulse,
.position-type.buy,
.position-type.up {
    background: rgba(217, 119, 6, .12);
    color: #d97706;
    border: 1px solid rgba(217, 119, 6, .28);
}

.position-type.sell,
.position-type.down,
.category-tab.badge-hot.active {
    background: rgba(232, 116, 90, .16);
    color: #f0a896;
    border-color: rgba(232, 116, 90, .28);
    box-shadow: none;
}

.ticker-row,
.perfil-identity,
.dash-gift,
.aff-hero-promo,
/* .live-traders-campaign-rule, -- removed */
.rl-invite {
    background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .03));
    border: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(10px);
}

.auth-page {
    background: linear-gradient(180deg, rgba(7, 13, 9, .92) 0%, rgba(5, 8, 6, .98) 100%);
}

.auth-page .auth-input-wrap,
.voucher-input-wrap,
.carteira-input,
.perfil-input,
.comm-input,
.sub-sheet-input,
.expiration-toggle,
.amount-stepper,
.chart-asset-select,
.auth-page select {
    background: rgba(14, 22, 17, .92);
    border-color: rgba(184, 155, 94, .22);
    color: var(--text);
    box-shadow: none;
}

.auth-page .auth-input-wrap::before {
    background: linear-gradient(135deg, rgba(46, 139, 87, .60), rgba(26, 107, 66, .42), rgba(184, 155, 94, .18));
}

.auth-page .auth-input-wrap::after {
    content: none;
    opacity: 0;
}

.auth-page .auth-input-wrap .auth-ico,
.voucher-paste,
.comm-modal-close,
.iaturbo-pay-close,
/* .trading-header-back, -- removed */
.voucher-back,
.iaturbo-full-sheet-back,
.ci-back,
.rl-back {
    color: #e3c98a;
}

.auth-page input::placeholder,
.auth-page select,
.voucher-input::placeholder,
.carteira-input::placeholder,
.perfil-input::placeholder,
.sub-sheet-input::placeholder {
    color: #66806f;
}

.sheet-backdrop,
.trader-status-backdrop,
/* .trading-intro-backdrop, -- removed */
.iaturbo-modal-backdrop,
.iaturbo-pay-modal-backdrop,
.comm-modal-overlay,
.rl-win-overlay {
    background: rgba(1, 5, 3, .74);
}

.sheet-panel,
.trader-status-panel,
/* .trading-intro-panel, -- removed */
.iaturbo-full-sheet,
.iaturbo-pay-modal-panel,
.iaturbo-modal-panel,
.comm-modal-panel {
    background: linear-gradient(180deg, rgba(16, 24, 19, .98), rgba(7, 12, 9, .98));
}

.iaturbo-full-sheet-head {
    background: rgba(7, 13, 10, .94);
    border-bottom-color: rgba(184, 155, 94, .18);
}

/* .trade-risk-preview removed */
.sub-sheet-summary,
.sub-sheet-balance,
.my-sub-profit,
.pix-inline-box,
.carteira-hint,
.voucher-tips li,
/* removed .live-trader-card, .trade-transaction-card, .lot-* */
    background: rgba(255, 255, 255, .04);
    border-color: rgba(255, 255, 255, .06);
}

/* .trade-risk-grid input removed */
.amount-value-wrap input,
.iaturbo-pay-copy-input,
.dash-gift-form input,
.perfil-referral-field input,
.voucher-input,
.comm-input,
.auth-page .auth-input-wrap input,
.auth-page .auth-input-wrap select {
    color: var(--text);
}

.dash-stat strong,
.trader-stat-val,
.sub-sheet-summary-total dd,
.wallet-tier-name,
.position-live {
    color: #f6fff0;
}

.dash-stat,
.dash-action,
.dash-item {
    background: linear-gradient(180deg, rgba(17, 25, 20, .93), rgba(9, 15, 11, .93));
}

.dash-action-ico,
.dash-item-ico,
.perfil-menu-ico {
    background: linear-gradient(135deg, rgba(46, 139, 87, .16), rgba(26, 107, 66, .18));
    color: #e3c98a;
}

.dash-item--danger,
.perfil-menu-danger {
    color: #f0a896;
}

.dash-item--danger .dash-item-ico,
.perfil-menu-danger .perfil-menu-ico {
    background: rgba(232, 116, 90, .16);
    color: #f0a896;
}

/* Ícones do dashboard em círculo, no mesmo estilo do "Recarregar" do perfil */
.dash-item:not(.dash-item--danger) .dash-item-ico {
    width: 48px; height: 48px;
    border-radius: 50%;
    color: #e3c98a;
    background:
        radial-gradient(circle at 50% 40%, rgba(46, 139, 87, .18), transparent 62%),
        linear-gradient(180deg, rgba(18, 26, 21, .92), rgba(9, 15, 11, .92));
    border: 1.5px solid rgba(184, 155, 94, .55);
    box-shadow:
        0 0 0 4px rgba(184, 155, 94, .06),
        0 8px 20px rgba(0, 0, 0, .45),
        inset 0 0 14px rgba(184, 155, 94, .14);
}
.dash-item--danger .dash-item-ico {
    width: 48px; height: 48px;
    border-radius: 50%;
    color: #f0a896;
    background:
        radial-gradient(circle at 50% 40%, rgba(232, 116, 90, .18), transparent 62%),
        linear-gradient(180deg, rgba(18, 26, 21, .92), rgba(9, 15, 11, .92));
    border: 1.5px solid rgba(232, 116, 90, .55);
    box-shadow:
        0 0 0 4px rgba(232, 116, 90, .06),
        0 8px 20px rgba(0, 0, 0, .45),
        inset 0 0 14px rgba(232, 116, 90, .14);
}

.inv-plan--long {
    background:
        linear-gradient(180deg, rgba(227, 201, 138, .16) 0%, rgba(184, 155, 94, .10) 55%, rgba(26, 36, 29, .92) 100%);
    border-color: rgba(184, 155, 94, .34);
    box-shadow:
        0 14px 30px rgba(184, 155, 94, .10),
        inset 0 1px 0 rgba(244, 232, 200, .10);
}

.inv-plan--long .inv-plan-days,
.inv-plan--long .inv-plan-price-val {
    color: #f4e8c8;
}

.inv-plan--long .inv-plan-rate-lbl,
.inv-plan--long .inv-plan-days i {
    color: rgba(227, 201, 138, .72);
}

.inv-plan--long .inv-plan-price {
    background: rgba(244, 232, 200, .06);
    border-color: rgba(184, 155, 94, .20);
}

.voucher-topbar .icon-btn,
.icon-btn,
.language-switch-btn {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
}

.ci-page,
.rl-page,
.aff-page-body {
    background:
        radial-gradient(circle at top, rgba(46, 139, 87, .06), transparent 22%),
        linear-gradient(180deg, #070d09, #050806);
}

.rl-frame {
    filter: drop-shadow(0 0 24px rgba(46, 139, 87, .20));
}

.rl-card,
.rl-rules,
.ci-balance,
.ci-task {
    backdrop-filter: blur(14px);
}

.pwa-install-bar,
.ci-toast,
.rl-toast,
.trade-notification {
    background: rgba(9, 15, 11, .95);
    border-color: rgba(184, 155, 94, .24);
    color: var(--text);
}

.iaturbo-pay-qr-wrap {
    border-color: rgba(184, 155, 94, .20);
}

@media (min-width: 600px) {
    body {
        background:
            radial-gradient(circle at 50% 0%, rgba(46, 139, 87, .10), transparent 20%),
            radial-gradient(circle at 90% 0%, rgba(184, 155, 94, .12), transparent 24%),
            #050806;
    }

    .app {
        border-left: 1px solid rgba(255, 255, 255, .06);
        border-right: 1px solid rgba(255, 255, 255, .06);
        box-shadow: 0 0 0 1px rgba(184, 155, 94, .10), 0 30px 90px rgba(0, 0, 0, .52);
    }
}

.voucher-hero.hidden {
    display: block !important;
}

.auth-header-link {
    background: rgba(255, 255, 255, .06);
    color: #e3c98a;
    border: 1px solid rgba(184, 155, 94, .22);
}

.page-wrap {
    padding: 24px 18px 8px;
}

.carreira-nivel {
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(184, 155, 94, .20);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .34);
}

.carreira-nivel--top {
    background: linear-gradient(135deg, rgba(227, 201, 138, .16), rgba(184, 155, 94, .12));
    border-color: rgba(227, 201, 138, .34);
    box-shadow: 0 18px 40px rgba(184, 155, 94, .14);
}

.carreira-status.reached {
    background: rgba(46, 139, 87, .14);
    color: #6fbf8e;
}

.carreira-status.locked {
    background: rgba(120, 146, 130, .12);
    color: #9cc0aa;
}

.carreira-status.claimed {
    background: rgba(184, 155, 94, .14);
    color: #e3c98a;
}

/* =====================================================================
   Botão central "IA" na navegação inferior  → Afiliados (/parceiros)
   ===================================================================== */
.bottom-nav { overflow: visible; }

.nav-item[data-page="network"] {
    position: relative;
    flex: 1 1 0;
    width: auto;
    justify-content: center;
    gap: 3px;
}
.nav-item[data-page="network"] .nav-ico { display: block; }
.nav-item[data-page="network"] > span { display: block; }
.nav-item[data-page="network"]::before { content: none; display: none; }

/* =====================================================================
   Home — grade de atalhos rápidos
   ===================================================================== */
.home-quick {
    padding: 16px 14px 4px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.home-quick-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}
.home-quick-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    text-align: center;
    color: var(--text-soft);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .2px;
    line-height: 1.15;
    transition: transform .1s ease;
}
.home-quick-item:active { transform: scale(.95); }
.home-quick-ico {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-size: 22px;
    color: #e3c98a;
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(184, 155, 94, .30);
    box-shadow:
        0 10px 24px rgba(0, 0, 0, .40),
        inset 0 0 12px rgba(184, 155, 94, .10);
}
.home-quick-item:nth-child(1) .home-quick-ico,
.home-quick-item:nth-child(2) .home-quick-ico { color: #6fbf8e; }

@media (max-width: 360px) {
    .home-quick-row { gap: 7px; }
    .home-quick-ico { width: 46px; height: 46px; font-size: 19px; border-radius: 14px; }
    .home-quick-item { font-size: 9px; }
}

/* =====================================================================
   Home — cabeçalho redesenhado (IA TURBO)
   ===================================================================== */
.hm-header { padding: calc(env(safe-area-inset-top, 0px) + 16px) 16px 20px; }
.hm-header .banner-image { opacity: .6; }
.hm-header .banner-image img {
    object-fit: cover;
    object-position: right center;
    filter: saturate(.9) contrast(1.06) brightness(.72) hue-rotate(85deg);
    transform: scale(1.02);
}
.hm-header .banner-image::after {
    background: linear-gradient(90deg,
        #050806 0%, rgba(5, 8, 6, .74) 40%, rgba(5, 8, 6, .18) 76%, rgba(5, 8, 6, .45) 100%);
}

/* Barra superior: marca + ícones */
.hm-topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.hm-brand { display: flex; align-items: center; }
.hm-logo-img {
    height: 42px;
    width: auto;
    max-width: 190px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 0 14px rgba(34, 229, 122, .35));
}
.hm-icons { display: flex; gap: 10px; flex-shrink: 0; }
.hm-bell { position: relative; }
.hm-bell::after {
    content: "";
    position: absolute;
    top: 9px; right: 10px;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #22e57a;
    box-shadow: 0 0 8px #22e57a;
}

/* Hero: capital gerenciado + saldo + tagline */
.hm-hero { position: relative; z-index: 1; margin-top: 20px; max-width: 66%; }
.hm-cap-label {
    text-align: left;
    letter-spacing: 3px;
    margin: 0 0 6px;
    color: var(--text-muted);
    opacity: 1;
}
.hm-hero .balance { justify-content: flex-start; align-items: center; gap: 12px; }
.hm-hero .balance-amount { font-size: 44px; color: #f4fff8; text-shadow: 0 0 26px rgba(34, 229, 122, .2); }
.hm-badge {
    width: 46px; height: 46px;
    border-radius: 50%;
    display: grid; place-items: center;
    background: rgba(34, 229, 122, .10);
    border: 1.6px solid rgba(34, 229, 122, .6);
    color: #3ff595;
    font-size: 14px;
    font-weight: 800;
    padding: 0;
}
.hm-tagline {
    margin-top: 14px;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.28;
    color: #dceee5;
    letter-spacing: .4px;
}
.hm-tagline span { color: #22e57a; }



/* Linha da conta + Ver extrato */
.hm-account {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .92), rgba(10, 16, 12, .92));
    border: 1px solid rgba(120, 160, 135, .16);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .35);
    flex-wrap: wrap;
}
.hm-account-wallet {
    width: 40px; height: 40px;
    border-radius: 12px;
    display: grid; place-items: center;
    background: rgba(34, 229, 122, .12);
    border: 1px solid rgba(34, 229, 122, .28);
    color: #3ff595;
    font-size: 18px;
    flex-shrink: 0;
}
.hm-account-id { flex-shrink: 0; }
.hm-account-id strong { display: block; font-size: 15px; font-weight: 800; color: #fff; }
.hm-account-id span { font-size: 11px; color: var(--text-muted); }
.hm-account-bal { flex: 1; min-width: 90px; text-align: center; }
.hm-account-bal strong {
    font-size: 15px; font-weight: 800; color: #fff;
    display: inline-flex; align-items: center; gap: 6px; justify-content: center;
}
.hm-account-bal strong i { color: var(--text-muted); font-size: 13px; }
.hm-account-bal > span { display: block; font-size: 11px; color: var(--text-muted); }
.hm-account .profit-detail { display: none; }
.hm-badge-xs { font-size: 11px; color: #3ff595; font-weight: 800; }
.hm-extrato-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 15px;
    border-radius: 12px;
    font-size: 12.5px;
    font-weight: 800;
    color: #3ff595;
    background: rgba(34, 229, 122, .10);
    border: 1px solid rgba(34, 229, 122, .45);
    box-shadow: 0 8px 20px rgba(22, 224, 122, .18);
}
.hm-extrato-btn:active { transform: scale(.97); }

@media (max-width: 420px) {
    .hm-hero { max-width: 74%; }
    .hm-hero .balance-amount { font-size: 38px; }
    .hm-badge { width: 40px; height: 40px; }
    .hm-account-bal { flex-basis: 100%; order: 5; text-align: left; margin-top: 2px; }
    .hm-account-bal strong { justify-content: flex-start; }
    .hm-extrato-btn { margin-left: auto; }
}

/* =====================================================================
   Afiliados — redesign (verde/preto/cinza)
   ===================================================================== */
.aff-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: calc(env(safe-area-inset-top, 0px) + 16px) 16px 14px;
    background: none;
    border: none;
    box-shadow: none;
}
.aff-top::before { content: none; }
.aff-level-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .18);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .32);
}
.aff-level-badge > i { color: #ffcf6d; font-size: 19px; }
.aff-level-badge-text { display: flex; flex-direction: column; line-height: 1.1; }
.aff-level-kicker {
    font-size: 8.5px; letter-spacing: 1.5px; text-transform: uppercase;
    color: var(--text-muted); font-weight: 800;
}
.aff-level-badge-text #affLevelText { font-size: 15px; font-weight: 900; color: #fff; }
.aff-rules-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .18);
    color: var(--text-soft);
    font-size: 12.5px;
    font-weight: 700;
}
.aff-rules-btn i:first-child { color: var(--text-muted); }
.aff-rules-btn i:last-child { color: var(--text-muted); font-size: 12px; }

.aff-section-title {
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #2fe08a;
    margin: 6px 2px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.aff-section-title i { font-size: 15px; }

/* Comissão por indicação */
.aff-comm-card {
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .16);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .34);
}
.aff-comm-row { display: flex; align-items: center; gap: 10px; padding: 14px; }
.aff-comm-row + .aff-comm-row { border-top: 1px solid rgba(120, 160, 135, .12); }
.aff-comm-head { display: flex; align-items: center; gap: 10px; width: 44%; min-width: 0; }
.aff-comm-ico {
    width: 38px; height: 38px;
    border-radius: 11px;
    display: grid; place-items: center;
    flex-shrink: 0;
    background: rgba(217, 119, 6, .12);
    border: 1px solid rgba(217, 119, 6, .24);
    color: #d97706;
    font-size: 16px;
}
.aff-comm-head-text strong {
    display: block; font-size: 11.5px; font-weight: 800; color: #e9f6ee;
    text-transform: uppercase; letter-spacing: .3px; line-height: 1.2;
}
.aff-comm-head-text span { font-size: 10px; color: var(--text-muted); }
.aff-comm-levels { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.aff-comm-lvl,
.aff-comm-levels .aff-tier-item {
    display: flex;
    align-items: center;
    gap: 2px;
    text-align: center;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 4px 2px;
    min-width: 0;
    flex-direction: column;
}
.aff-comm-levels .aff-tier-item { flex-direction: column-reverse; }
.aff-comm-lvl span,
.aff-comm-levels .aff-tier-label {
    font-size: 8.5px; letter-spacing: .6px; text-transform: uppercase;
    color: var(--text-muted); font-weight: 700; opacity: 1;
}
.aff-comm-lvl strong,
.aff-comm-levels .aff-tier-pct {
    font-size: 19px; font-weight: 900; color: #d97706; line-height: 1;
}

/* Promo destaque */
.aff-promo-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border-radius: 18px;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 50%, rgba(34, 229, 122, .16), transparent 46%),
        linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(34, 229, 122, .22);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .34);
}
.aff-promo-ico { font-size: 40px; color: #22e57a; flex-shrink: 0; filter: drop-shadow(0 0 14px rgba(34, 229, 122, .5)); }
.aff-promo-pct { font-size: 40px; font-weight: 900; color: #fff; flex-shrink: 0; line-height: 1; }
.aff-promo-text { min-width: 0; }
.aff-promo-text > strong { display: block; font-size: 13px; font-weight: 800; color: #e9f6ee; line-height: 1.3; }
.aff-promo-text > strong em { color: #22e57a; font-style: normal; }
.aff-promo-text > span { display: block; margin-top: 4px; font-size: 11px; color: var(--text-muted); }

/* Seus ganhos */
.aff-earn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aff-earn {
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .16);
    border-radius: 16px;
    padding: 14px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .3);
}
.aff-earn--full { grid-column: 1 / -1; }
.aff-earn-label { display: block; font-size: 11px; color: var(--text-muted); font-weight: 600; line-height: 1.35; }
.aff-earn-val { display: block; font-size: 22px; font-weight: 900; color: #fff; margin-top: 8px; }
.aff-earn-val--icon { display: flex; align-items: center; gap: 8px; }
.aff-earn-val--icon i { color: #3ff595; font-size: 20px; }
.aff-earn-link { display: inline-block; margin-top: 6px; font-size: 12px; font-weight: 700; color: #22e57a; }
.aff-earn-sub { display: block; margin-top: 6px; font-size: 10.5px; color: var(--text-muted); }

/* CTAs */
.aff-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aff-cta { display: flex; align-items: center; gap: 11px; padding: 15px 14px; border-radius: 16px; text-align: left; }
.aff-cta i { font-size: 22px; flex-shrink: 0; }
.aff-cta-text strong { display: block; font-size: 13px; font-weight: 800; line-height: 1.2; }
.aff-cta-text span { display: block; font-size: 10.5px; margin-top: 2px; opacity: .85; }
.aff-cta--primary { background: linear-gradient(135deg, #22e57a, #0fbf67); color: #03140b; box-shadow: 0 16px 32px rgba(22, 224, 122, .3); }
.aff-cta--primary i { color: #03140b; }
.aff-cta--ghost {
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .18);
    color: #e9f6ee;
}
.aff-cta--ghost i { color: #3ff595; }
.aff-cta:active { transform: scale(.98); }

/* Como funciona a rede */
.aff-how {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4px;
    padding: 14px 6px 6px;
}
.aff-how-step { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; min-width: 0; }
.aff-how-ico {
    width: 44px; height: 44px;
    border-radius: 50%;
    display: grid; place-items: center;
    background: rgba(34, 229, 122, .10);
    border: 1px solid rgba(34, 229, 122, .3);
    color: #3ff595;
    font-size: 19px;
}
.aff-how-step strong { font-size: 10.5px; font-weight: 800; color: #e9f6ee; line-height: 1.2; }
.aff-how-step span { font-size: 9px; color: var(--text-muted); line-height: 1.3; }
.aff-how-arrow { color: #2fe08a; font-size: 13px; margin-top: 16px; flex-shrink: 0; }

@media (max-width: 360px) {
    .aff-comm-head-text strong { font-size: 10.5px; }
    .aff-comm-levels .aff-tier-pct, .aff-comm-lvl strong { font-size: 16px; }
    .aff-earn-val { font-size: 19px; }
    .aff-cta-text strong { font-size: 12px; }
}

/* =====================================================================
   Carteira — redesign (depósito / retirada / extrato)
   ===================================================================== */
.wl-balance-section { padding: 10px 0 6px; }
.wl-balance-label {
    order: -1;
    font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--text-muted); font-weight: 700; margin-bottom: 6px;
}
.wl-balance-section { display: flex; flex-direction: column; align-items: center; }
.wl-balance-section #carteiraBalance { font-size: 40px; line-height: 1.05; justify-content: center; }
.wl-balance-section .balance-amount { font-size: 40px; }
.wl-balance-usdt { margin-top: 6px; font-size: 13px; font-weight: 800; color: #45f39a; }

/* Tier / status */
.wl-tier { padding: 14px 16px; }
.wl-tier-top { display: flex; align-items: center; gap: 12px; }
.wl-tier-plan { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.wl-tier-diamond {
    width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0;
    display: grid; place-items: center; font-size: 18px; color: #3ff595;
    background: rgba(34, 229, 122, .12); border: 1px solid rgba(34, 229, 122, .3);
}
.wl-tier-plan-text .wallet-tier-name { display: block; font-size: 15px; font-weight: 800; color: #fff; }
.wl-tier-level { font-size: 10px; letter-spacing: .8px; text-transform: uppercase; color: #22e57a; font-weight: 800; }
.wl-tier-col { text-align: right; min-width: 0; }
.wl-tier-lbl { display: block; font-size: 9px; letter-spacing: .6px; text-transform: uppercase; color: var(--text-muted); font-weight: 700; }
.wl-tier-limit, .wl-tier-used { display: block; font-size: 13px; font-weight: 800; margin-top: 3px; }
.wl-tier-limit { color: #22e57a; }
.wl-tier-used { color: #e9f6ee; }
.wl-tier-track { height: 7px; border-radius: 99px; background: rgba(255, 255, 255, .07); overflow: hidden; margin-top: 12px; }
.wl-tier-track > span { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #0fbf67, #22e57a); box-shadow: 0 0 12px rgba(34, 229, 122, .5); }
.wl-tier-scale { display: flex; justify-content: space-between; margin-top: 5px; font-size: 10px; color: var(--text-muted); font-weight: 700; }

/* Tabs principais */
.wl-tabs { display: flex; gap: 10px; padding: 0; margin: 16px 0 0; overflow: visible; }
.wl-tabs .wl-tab {
    flex: 1;
    display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 8px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .18);
    color: var(--text-soft);
    font-size: 13px; font-weight: 700;
    box-shadow: none;
}
.wl-tabs .wl-tab i { font-size: 16px; color: var(--text-muted); }
.wl-tabs .wl-tab.active {
    background: rgba(34, 229, 122, .10);
    border-color: rgba(34, 229, 122, .55);
    color: #45f39a;
    box-shadow: 0 0 0 1px rgba(34, 229, 122, .25), 0 10px 26px rgba(22, 224, 122, .18);
}
.wl-tabs .wl-tab.active i { color: #45f39a; }

/* Painéis */
.wl-panel { padding: 16px; }
.wl-panel-head { margin-bottom: 14px; }
.wl-panel-title { font-size: 17px; font-weight: 900; color: #fff; letter-spacing: .3px; }
.wl-panel-title .wl-accent, .wl-accent { color: #22e57a; }
.wl-panel-sub { font-size: 12px; color: var(--text-muted); margin-top: 3px; }
.wl-form { gap: 12px; }
.wl-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wl-field-row .carteira-field { gap: 8px; }
.wl-secure-hint { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--text-soft); }
.wl-secure-hint i { color: #22e57a; }
.wl-btn-primary {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    background: linear-gradient(135deg, #22e57a, #0fbf67) !important;
    color: #03140b !important;
    box-shadow: 0 16px 32px rgba(22, 224, 122, .3) !important;
    font-size: 15px;
}
.wl-btn-primary i { font-size: 18px; }
.wl-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 16px; }
.wl-trust-item {
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px;
    padding: 12px 6px; border-radius: 12px;
    background: rgba(255, 255, 255, .03); border: 1px solid rgba(120, 160, 135, .12);
}
.wl-trust-item i { color: #22e57a; font-size: 18px; }
.wl-trust-item strong { font-size: 10.5px; font-weight: 800; color: #e9f6ee; }
.wl-trust-item span { font-size: 9px; color: var(--text-muted); line-height: 1.25; }

/* Retirada — cadastro de chave */
.wl-reg-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.wl-protect { display: inline-flex; align-items: center; gap: 5px; font-size: 9.5px; color: var(--text-muted); font-weight: 700; text-align: right; line-height: 1.3; max-width: 130px; }
.wl-protect i { color: #22e57a; font-size: 13px; flex-shrink: 0; }
.wl-info-hint { display: flex; align-items: flex-start; gap: 8px; }
.wl-info-hint i { color: #45f39a; margin-top: 1px; }
.wl-method-tabs { padding: 0; margin: 12px 0; gap: 10px; }
.wl-method-tabs .category-tab {
    flex: 1;
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 13px 8px; border-radius: 12px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .18);
    color: var(--text-soft); font-weight: 700; font-size: 13px;
}
.wl-method-tabs .category-tab.active {
    background: rgba(34, 229, 122, .10);
    border-color: rgba(34, 229, 122, .55);
    color: #45f39a;
    box-shadow: 0 0 0 1px rgba(34, 229, 122, .25);
}
.wl-important {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 12px 14px; border-radius: 12px; margin: 2px 0 4px;
    background: rgba(34, 229, 122, .07); border: 1px solid rgba(34, 229, 122, .22);
}
.wl-important i { color: #22e57a; font-size: 18px; margin-top: 1px; flex-shrink: 0; }
.wl-important strong { display: block; font-size: 11px; font-weight: 800; color: #45f39a; text-transform: uppercase; letter-spacing: .5px; }
.wl-important span { display: block; font-size: 11px; color: var(--text-soft); line-height: 1.4; margin-top: 2px; }

/* Extrato geral */
.wl-statement { margin-top: 22px; }
.wl-statement-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.wl-statement-title { font-size: 17px; font-weight: 900; color: #fff; }
.wl-statement-sub { font-size: 11.5px; color: var(--text-muted); margin-top: 3px; }
.wl-statement-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.wl-filter {
    background: rgba(18, 26, 21, .95); border: 1px solid rgba(120, 160, 135, .2);
    color: var(--text-soft); border-radius: 10px; padding: 8px 10px; font-size: 12.5px; font-weight: 700; outline: none;
}
.wl-sum-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 14px; }
.wl-sum {
    background: linear-gradient(180deg, rgba(18, 26, 21, .95), rgba(10, 16, 12, .95));
    border: 1px solid rgba(120, 160, 135, .16); border-radius: 12px; padding: 10px 8px;
    display: flex; flex-direction: column; gap: 4px;
}
.wl-sum-lbl { font-size: 8.5px; color: var(--text-muted); font-weight: 700; letter-spacing: .3px; line-height: 1.25; }
.wl-sum-val { font-size: 13px; font-weight: 900; color: #e9f6ee; }
.wl-sum-credit { color: #22e57a; }
.wl-sum-debit { color: #ff5468; }
.wl-sum-ico { font-size: 14px; color: var(--text-muted); }
.wl-ico-credit { color: #22e57a; }
.wl-ico-debit { color: #ff5468; }

.wl-ext-list { display: block; }
.wl-ext-head,
.wl-ext-row {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 82px 66px;
    gap: 8px;
    align-items: center;
}
.wl-ext-head {
    padding: 4px 2px 10px;
    font-size: 9px; letter-spacing: .4px; text-transform: uppercase;
    color: var(--text-muted); font-weight: 800;
    border-bottom: 1px solid rgba(120, 160, 135, .14);
}
.wl-ext-head .wl-col-val { text-align: right; }
.wl-ext-head .wl-col-status { text-align: center; }
.wl-ext-row {
    padding: 12px 2px;
    border-bottom: 1px solid rgba(120, 160, 135, .1);
}
.wl-ext-date { display: flex; align-items: flex-start; gap: 4px; min-width: 0; overflow: hidden; font-size: 9.5px; color: var(--text-muted); line-height: 1.3; }
.wl-ext-date i { color: #45f39a; font-size: 11px; margin-top: 1px; flex-shrink: 0; }
.wl-ext-date > span { min-width: 0; white-space: nowrap; }
.wl-ext-date em { display: block; font-style: normal; font-size: 9px; opacity: .8; }
.wl-ext-desc { min-width: 0; overflow: hidden; }
.wl-ext-desc strong { display: block; font-size: 12px; font-weight: 700; color: #e9f6ee; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wl-ext-tag {
    display: inline-block; margin-top: 5px; font-size: 8px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .3px; padding: 2px 7px; border-radius: 99px;
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.wl-ext-tag.is-credit { background: rgba(34, 229, 122, .14); color: #45f39a; }
.wl-ext-tag.is-debit { background: rgba(255, 84, 104, .16); color: #ff8296; }
.wl-ext-val {
    display: inline-flex; align-items: center; justify-content: flex-end; gap: 2px;
    font-size: 12px; font-weight: 800; white-space: nowrap;
}
.wl-ext-val i { font-size: 16px; }
.wl-ext-val.is-credit { color: #22e57a; }
.wl-ext-val.is-debit { color: #ff5468; }
.wl-ext-status-wrap { text-align: center; }
.wl-ext-status {
    display: inline-block;
    font-size: 8.5px; font-weight: 800; text-align: center;
    color: #45f39a; background: rgba(34, 229, 122, .12);
    border: 1px solid rgba(34, 229, 122, .2);
    border-radius: 99px; padding: 4px 8px;
    white-space: nowrap;
}

@media (max-width: 420px) {
    .wl-sum-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 400px) {
    .wl-tier-top { flex-wrap: wrap; }
    .wl-tier-col { text-align: left; }
    .wl-ext-head, .wl-ext-row { grid-template-columns: 66px minmax(0, 1fr) 68px 56px; gap: 6px; }
    .wl-ext-status { padding: 4px 5px; font-size: 8px; }
    .wl-ext-val { font-size: 11px; }
    .wl-trust-item strong { font-size: 9.5px; }
}

/* =====================================================================
   Perfil — atalhos com ícone redondo (estilo "target" verde)
   ===================================================================== */
.dash-actions .dash-action {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 6px 2px;
    gap: 8px;
}
.dash-action-ico {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 23px;
    color: #3ff595;
    background:
        radial-gradient(circle at 50% 40%, rgba(34, 229, 122, .18), transparent 62%),
        linear-gradient(180deg, rgba(18, 26, 21, .92), rgba(9, 15, 11, .92));
    border: 1.5px solid rgba(34, 229, 122, .55);
    box-shadow:
        0 0 0 4px rgba(34, 229, 122, .06),
        0 8px 20px rgba(0, 0, 0, .45),
        inset 0 0 14px rgba(34, 229, 122, .14);
    transition: transform .1s ease, box-shadow .2s ease;
}
.dash-action:active .dash-action-ico { transform: scale(.94); }

@media (max-width: 360px) {
    .dash-action-ico { width: 50px; height: 50px; font-size: 20px; }
}

/* =====================================================================
   Home — cards de planos de investimento (BIG AI)
   ===================================================================== */
/* Cartão externo que agrupa os planos de um investimento */
.iv3-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    margin-bottom: 14px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(13, 19, 15, .7), rgba(7, 11, 8, .8));
    border: 1px solid rgba(120, 160, 135, .22);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .35);
}

.iv3-card {
    display: flex;
    gap: 11px;
    padding: 10px;
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(16, 23, 18, .6), rgba(9, 13, 10, .6));
    border: 1.5px solid rgba(120, 160, 135, .2);
}
.iv3-card--mid {
    border-color: rgba(34, 229, 122, .55);
    box-shadow: 0 0 18px rgba(34, 229, 122, .12);
}
.iv3-card--long {
    border-color: rgba(255, 207, 109, .55);
    box-shadow: 0 0 18px rgba(255, 186, 84, .12);
}

/* Coluna esquerda: imagem + duração */
.iv3-media { flex-shrink: 0; width: 84px; display: flex; flex-direction: column; }
.iv3-avatar {
    width: 84px; height: 84px;
    border-radius: 12px;
    overflow: hidden;
    border: 1.5px solid rgba(120, 160, 135, .3);
}
.iv3-card--mid .iv3-avatar { border-color: rgba(34, 229, 122, .55); box-shadow: 0 0 16px rgba(34, 229, 122, .3); }
.iv3-card--long .iv3-avatar { border-color: rgba(255, 207, 109, .55); box-shadow: 0 0 16px rgba(255, 186, 84, .3); }
.iv3-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iv3-dur {
    display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap;
    margin-top: 8px; padding-left: 2px;
}
.iv3-dur-num { font-size: 30px; font-weight: 900; line-height: .85; }
.iv3-dur-label { font-size: 12px; font-weight: 800; letter-spacing: 1px; }
.iv3-dur i { font-size: 14px; margin-left: 2px; opacity: .85; align-self: center; }
.iv3-card--mid .iv3-dur-num,
.iv3-card--mid .iv3-dur-label,
.iv3-card--mid .iv3-dur i { color: #22e57a; }
.iv3-card--long .iv3-dur-num,
.iv3-card--long .iv3-dur-label,
.iv3-card--long .iv3-dur i { color: #ffcf6d; }

/* Corpo direito */
.iv3-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.iv3-badge {
    align-self: flex-start;
    font-size: 9.5px; font-weight: 800; letter-spacing: 1.3px;
    padding: 3px 10px; border-radius: 8px;
    background: transparent; border: 1.5px solid transparent;
}
.iv3-card--mid .iv3-badge { color: #22e57a; border-color: rgba(34, 229, 122, .6); }
.iv3-card--long .iv3-badge { color: #ffcf6d; border-color: rgba(255, 207, 109, .6); }
.iv3-title { font-size: 18px; font-weight: 800; color: #fff; letter-spacing: .3px; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; }

.iv3-metrics { display: flex; gap: 12px; }
.iv3-metric { flex: 1; min-width: 0; }
.iv3-metric > span { display: block; font-size: 8.5px; letter-spacing: .4px; text-transform: uppercase; color: var(--text-muted); font-weight: 700; margin-bottom: 2px; }
.iv3-metric > strong { font-size: 14px; font-weight: 900; white-space: nowrap; }
.iv3-card--mid .iv3-metric > strong { color: #22e57a; }
.iv3-card--long .iv3-metric > strong { color: #ffcf6d; }

.iv3-divider { height: 1px; background: rgba(255, 255, 255, .08); }

/* Card único combinando curto/longo (30/60 dias, taxas 3/3,33) */
.iv3-metric-tag {
    display: block;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.iv3-metric-tag b { color: #22e57a; font-weight: 800; }
.iv3-metric-tag i { color: #ffcf6d; font-style: normal; font-weight: 800; }
.iv3-card--combo .iv3-dur-num { font-size: 22px; }
.iv3-card--combo .iv3-metric > strong { font-size: 12.5px; }
@media (max-width: 380px) {
    .iv3-card--combo .iv3-dur-num { font-size: 19px; }
    .iv3-card--combo .iv3-metric > strong { font-size: 11.5px; }
}

.iv3-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.iv3-min { min-width: 0; }
.iv3-min > span { display: block; font-size: 8.5px; letter-spacing: .4px; text-transform: uppercase; color: var(--text-muted); font-weight: 700; margin-bottom: 1px; }
.iv3-min > strong { font-size: 15px; font-weight: 900; color: #fff; white-space: nowrap; }
.iv3-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 10px 8px 14px; border-radius: 11px;
    font-size: 12.5px; font-weight: 800; white-space: nowrap;
    transition: transform .1s ease; flex-shrink: 0;
}
.iv3-btn i { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; font-size: 11px; }
.iv3-btn--mid { background: linear-gradient(135deg, #22e57a, #0fbf67); color: #03140b; box-shadow: 0 10px 22px rgba(22, 224, 122, .3); }
.iv3-btn--mid i { background: rgba(0, 0, 0, .16); }
.iv3-btn--long { background: linear-gradient(135deg, #ffcf6d, #e0a420); color: #231102; box-shadow: 0 10px 22px rgba(255, 186, 84, .3); }
.iv3-btn--long i { background: rgba(0, 0, 0, .12); }
.iv3-btn:active { transform: scale(.97); }

@media (max-width: 380px) {
    .iv3-media { width: 72px; }
    .iv3-avatar { width: 72px; height: 72px; }
    .iv3-dur-num { font-size: 26px; }
    .iv3-title { font-size: 16px; }
    .iv3-metrics { gap: 9px; }
    .iv3-metric > strong { font-size: 13px; }
    .iv3-min > strong { font-size: 14px; }
    .iv3-btn { padding: 8px 10px 8px 12px; font-size: 12px; }
}

/* =====================================================================
   Home — filtros de categoria em caixas (estilo abas)
   ===================================================================== */
#mercadosFilters {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 20px 14px 0;
    padding: 8px 0 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}
#mercadosFilters::before { content: none; }
#mercadosFilters .category-tab {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    padding: 12px 8px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .92), rgba(10, 16, 12, .92));
    border: 1px solid rgba(120, 160, 135, .2);
    color: var(--text-soft);
    font-size: 12.5px;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    overflow: visible;
    box-shadow: none;
}
#mercadosFilters .category-tab.active,
#mercadosFilters .category-tab.badge-hot.active,
#mercadosFilters .category-tab.badge-new.active {
    background: rgba(34, 229, 122, .09);
    border-color: rgba(34, 229, 122, .6);
    color: #45f39a;
    box-shadow: 0 0 0 1px rgba(34, 229, 122, .22), 0 10px 24px rgba(22, 224, 122, .16);
}
#mercadosFilters .category-tab.badge-hot::after,
#mercadosFilters .category-tab.badge-new::after {
    position: absolute;
    top: -7px;
    left: 10px;
    z-index: 3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .6px;
    padding: 2px 7px;
    border-radius: 7px;
    line-height: 1.2;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .4);
}
#mercadosFilters .category-tab.badge-hot::after {
    content: "HOT";
    background: #ff5468;
    color: #fff;
}
#mercadosFilters .category-tab.badge-new::after {
    content: "NEW";
    background: #22e57a;
    color: #03140b;
}

/* =====================================================================
   Extrato / Movimentações — redesign (filtros + ícones)
   ===================================================================== */
.ext-page { padding-bottom: 24px; }

/* ---- Cards de resumo ---- */
.ext-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 16px 0 18px;
}
.ext-sum-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 12px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}
.ext-sum-ico {
    width: 40px; height: 40px;
    border-radius: 50%;
    display: grid; place-items: center;
    font-size: 18px;
    border: 1px solid transparent;
}
.ext-sum-ico.in    { color: var(--success); background: var(--success-soft); border-color: rgba(34, 229, 122, .35); }
.ext-sum-ico.out   { color: var(--danger);  background: var(--danger-soft);  border-color: rgba(255, 84, 104, .35); }
.ext-sum-ico.total { color: var(--gold);    background: rgba(255, 214, 111, .12); border-color: rgba(255, 214, 111, .35); }
.ext-sum-info { display: flex; flex-direction: column; gap: 2px; }
.ext-sum-lbl { font-size: 11.5px; color: var(--text-muted); font-weight: 700; }
.ext-sum-val { font-size: 14px; font-weight: 900; color: var(--text); line-height: 1.1; }
.ext-sum-val.pos { color: var(--success); }
.ext-sum-val.neg { color: var(--danger); }

/* ---- Filtros por tipo (chips) ---- */
.ext-filters {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    margin-bottom: 8px;
    scrollbar-width: none;
}
.ext-filters::-webkit-scrollbar { display: none; }
.ext-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, .04);
    color: var(--text-soft);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s, color .15s, border-color .15s, transform .1s;
}
.ext-chip i { font-size: 14px; }
.ext-chip:active { transform: scale(.96); }
.ext-chip.is-active {
    background: linear-gradient(135deg, var(--success), #12b768);
    color: #04150c;
    border-color: transparent;
    box-shadow: 0 6px 16px rgba(34, 229, 122, .28);
}

/* ---- Cabeçalho de seção ---- */
.ext-section-head { margin: 20px 0 10px; }
.ext-section-head h2 {
    font-size: 15px;
    font-weight: 800;
    color: var(--text);
}

/* ---- Lista de movimentos ---- */
.ext-list { display: flex; flex-direction: column; gap: 10px; }
.ext-list .mv-row {
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015));
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 12px 14px;
}
.mv-ico {
    width: 42px; height: 42px;
    flex-shrink: 0;
    border-radius: 50%;
    display: grid; place-items: center;
    font-size: 19px;
    border: 1px solid transparent;
}
.mv-ico[data-cat="deposito"]   { color: var(--success); background: var(--success-soft); border-color: rgba(34, 229, 122, .32); }
.mv-ico[data-cat="saque"]      { color: var(--danger);  background: var(--danger-soft);  border-color: rgba(255, 84, 104, .32); }
.mv-ico[data-cat="rendimento"] { color: #4aa8ff; background: rgba(74, 168, 255, .14); border-color: rgba(74, 168, 255, .32); }
.mv-ico[data-cat="recompensa"] { color: var(--gold); background: rgba(255, 214, 111, .14); border-color: rgba(255, 214, 111, .32); }

.mv-body { flex: 1; min-width: 0; }
.mv-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mv-date { font-size: 12px; color: var(--text-muted); margin-top: 3px; }

.mv-right { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex-shrink: 0; }
.mv-amt { font-size: 15px; font-weight: 900; }
.mv-amt.pos { color: var(--success); }
.mv-amt.neg { color: var(--danger); }
.mv-tag {
    font-size: 10.5px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
    color: var(--text-muted);
    background: rgba(255, 255, 255, .06);
}
.mv-tag.deposito   { color: var(--success); background: var(--success-soft); }
.mv-tag.saque      { color: var(--danger);  background: var(--danger-soft); }
.mv-tag.rendimento { color: #4aa8ff; background: rgba(74, 168, 255, .14); }
.mv-tag.recompensa { color: var(--gold); background: rgba(255, 214, 111, .14); }

/* =====================================================================
   Home — seção institucional / história da empresa
   ===================================================================== */
.home-about { padding: 18px 16px 8px; display: flex; flex-direction: column; gap: 16px; }

.about-hero-card {
    position: relative;
    overflow: hidden;
    padding: 22px 20px;
    border-radius: 20px;
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(34, 229, 122, .16), transparent 55%),
        linear-gradient(180deg, rgba(18, 26, 21, .96), rgba(9, 15, 11, .96));
    border: 1px solid rgba(34, 229, 122, .22);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
}
.about-badge {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 12px; border-radius: 999px;
    background: rgba(34, 229, 122, .1); border: 1px solid rgba(34, 229, 122, .22);
    color: #3ff595; font-size: 10.5px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase;
}
.about-title { margin-top: 14px; font-size: 23px; font-weight: 900; line-height: 1.18; letter-spacing: -.5px; color: #eef6f0; }
.about-title span { color: #2fe98a; }
.about-lead { margin-top: 10px; font-size: 13px; line-height: 1.6; color: #b6c9bd; }

.about-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.about-stat {
    padding: 15px 14px; border-radius: 16px; text-align: center;
    background: linear-gradient(180deg, rgba(18, 26, 21, .94), rgba(10, 16, 12, .94));
    border: 1px solid rgba(120, 160, 135, .18); box-shadow: 0 14px 30px rgba(0, 0, 0, .2);
}
.about-stat strong { display: block; font-size: 22px; font-weight: 900; color: #2fe98a; line-height: 1; }
.about-stat span { display: block; margin-top: 6px; font-size: 11px; font-weight: 700; color: #9fb3a6; }

.about-story {
    padding: 18px; border-radius: 18px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .94), rgba(10, 16, 12, .94));
    border: 1px solid rgba(120, 160, 135, .18);
}
.about-story h3 { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 800; color: #eef6f0; margin-bottom: 12px; }
.about-story h3 i { color: #2fe98a; }
.about-story p { font-size: 12.5px; line-height: 1.65; color: #a7bbb0; }
.about-story p + p { margin-top: 10px; }

.about-features { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.about-features li {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 14px; border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 26, 21, .92), rgba(10, 16, 12, .92));
    border: 1px solid rgba(120, 160, 135, .16);
}
.af-ico {
    width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px; display: grid; place-items: center; font-size: 19px;
    color: #3ff595; background: rgba(34, 229, 122, .12); border: 1px solid rgba(34, 229, 122, .24);
}
.about-features li div strong { display: block; font-size: 13.5px; font-weight: 800; color: #eef6f0; }
.about-features li div span { display: block; margin-top: 3px; font-size: 11.5px; line-height: 1.5; color: #9fb3a6; }

.about-trust {
    display: flex; align-items: center; gap: 12px;
    padding: 15px 16px; border-radius: 16px;
    background: rgba(34, 229, 122, .06); border: 1px dashed rgba(34, 229, 122, .3);
}
.about-trust i { font-size: 24px; color: #2fe98a; flex-shrink: 0; }
.about-trust p { font-size: 11.5px; line-height: 1.55; color: #b6c9bd; }

@media (max-width: 360px) {
    .about-title { font-size: 20px; }
    .about-stat strong { font-size: 19px; }
}

/* =====================================================================
   AUTH v2 — Login / Cadastro  (TEMA PERRIER · verde Perrier + dourado)
   Paleta inspirada na garrafa Perrier: verde-esmeralda profundo,
   verde Perrier clássico, dourado/bronze e fundo preto-premium.
   ===================================================================== */
.auth2 {
    /* --- Paleta Perrier --- */
    --a2-green:        #1f7a35;            /* verde Perrier principal       */
    --a2-green-bright: #2fa64a;            /* destaque (botões, brilhos)    */
    --a2-green-deep:   #134a22;            /* sombra/esmeralda              */
    --a2-gold:         #c8a85a;            /* dourado discreto              */
    --a2-gold-bright:  #e6c87f;            /* dourado claro (reflexos)      */
    --a2-green-soft:   rgba(31, 122, 53, .16);
    --a2-green-line:   rgba(200, 168, 90, .30);   /* bordas dourado translúcido */
    --a2-ink:          #f2f7f1;            /* texto claro                   */
    --a2-muted:        #9bb0a1;            /* texto secundário              */
    --a2-faint:        #6f8475;            /* texto discreto                */
    --a2-card:         rgba(8, 18, 11, .78);
    --a2-card-edge:    rgba(200, 168, 90, .22);

    background:
        radial-gradient(120% 70% at 50% -12%, #12351f 0%, rgba(8, 18, 11, 0) 55%),
        radial-gradient(90% 50% at 100% 0%, rgba(200, 168, 90, .10) 0%, rgba(8, 18, 11, 0) 50%),
        linear-gradient(180deg, #050907 0%, #04070506 100%),
        #050806;
    min-height: 100vh;
    font-family: "Helvetica Neue", "Helvetica", "Segoe UI", Arial, sans-serif;
}
.auth2 .auth2-wrap {
    position: relative;
    max-width: 460px;
    margin: 0 auto;
    padding: calc(env(safe-area-inset-top, 0px) + 16px) 20px 34px;
}
/* Reflexo dourado sutil no topo do container */
.auth2 .auth2-wrap::before {
    content: "";
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 70%; height: 1px;
    background: linear-gradient(90deg, transparent, var(--a2-gold), transparent);
    opacity: .5;
}

/* ---- Abas (Cadastrar / Entrar) ---- */
.auth2-tabs {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px;
    padding: 4px;
    border: 1px solid var(--a2-card-edge);
    border-radius: 999px;
    background: rgba(8, 18, 11, .55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.auth2-tab {
    flex: 1;
    text-align: center;
    padding: 11px 24px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--a2-muted);
    text-decoration: none;
    border: 1px solid transparent;
    transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.auth2-tab:hover { color: var(--a2-ink); }
.auth2-tab.is-active {
    color: var(--a2-ink);
    border-color: var(--a2-gold);
    background:
        linear-gradient(180deg, rgba(47, 166, 74, .22), rgba(31, 122, 53, .14));
    box-shadow:
        0 0 0 1px rgba(200, 168, 90, .25),
        0 10px 28px rgba(31, 122, 53, .30),
        inset 0 1px 0 rgba(230, 200, 127, .25);
}

/* ---- Logo ---- */
.auth2-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 6px 0 22px;
}
.auth2-logo img {
    width: min(78%, 300px);
    height: auto;
    display: block;
    filter:
        drop-shadow(0 10px 30px rgba(31, 122, 53, .35))
        drop-shadow(0 0 1px rgba(200, 168, 90, .4));
}
.auth2-logo-tag {
    font-size: 9px;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--a2-gold);
    font-weight: 600;
    opacity: .85;
}

/* ---- Intro ---- */
.auth2-intro { margin-bottom: 22px; text-align: center; }
.auth2-kicker {
    display: inline-block;
    color: var(--a2-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding: 5px 14px;
    border: 1px solid var(--a2-card-edge);
    border-radius: 999px;
    background: rgba(200, 168, 90, .06);
}
.auth2-intro h1 {
    margin: 0 0 12px;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 300;
    letter-spacing: .5px;
    color: var(--a2-ink);
    font-family: "Georgia", "Times New Roman", serif;
}
.auth2-intro h1 span {
    color: var(--a2-green-bright);
    font-weight: 700;
    font-style: italic;
}
.auth2-intro p {
    margin: 0 auto;
    max-width: 360px;
    font-size: 13px;
    line-height: 1.65;
    color: var(--a2-muted);
}

/* ---- Formulário ---- */
.auth2 .auth-form { gap: 13px; }
.auth2 .auth-page .auth-input-wrap,
.auth2 .auth-input-wrap {
    position: relative;
    border-radius: 14px;
    padding: 3px 16px;
    min-height: 56px;
    background: rgba(8, 18, 11, .65);
    border: 1px solid var(--a2-card-edge);
    box-shadow:
        inset 0 1px 0 rgba(230, 200, 127, .06),
        0 6px 18px rgba(0, 0, 0, .35);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.auth2 .auth-input-wrap:focus-within {
    border-color: var(--a2-gold);
    background: rgba(13, 30, 18, .85);
    box-shadow:
        inset 0 1px 0 rgba(230, 200, 127, .12),
        0 8px 24px rgba(31, 122, 53, .25);
}
.auth2 .auth-input-wrap input,
.auth2 .auth-input-wrap select {
    padding: 15px 8px;
    font-size: 14.5px;
    color: var(--a2-ink);
}
.auth2 .auth-input-wrap .auth-ico {
    color: var(--a2-gold);
    width: 19px; height: 19px;
    transition: color .2s ease;
}
.auth2 .auth-input-wrap:focus-within .auth-ico { color: var(--a2-green-bright); }

/* Seletor de código de país (dentro do campo de telefone) */
.auth2-dial {
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: var(--a2-ink);
    font-weight: 700;
    font-size: 14px;
    text-align: right;
    padding: 0 2px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c8a85a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 20px;
    border-right: 1px solid var(--a2-card-edge);
    margin-right: 6px;
}
.auth2-dial option { color: #111; }

/* Campo com rótulo interno (código de acesso / afiliado) */
.auth2 .auth2-stacked { align-items: center; }
.auth2-stacked-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 8px 8px;
}
.auth2-stacked-label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--a2-gold);
    letter-spacing: .6px;
    text-transform: uppercase;
    margin-bottom: 1px;
}
.auth2-stacked-body input {
    padding: 0 !important;
    font-size: 14px;
    min-height: 20px;
    color: var(--a2-ink);
}

/* Botão mostrar/ocultar senha e código do captcha já herdam de .auth-eye / .auth-captcha-code */
.auth2 .auth-captcha-code {
    font-size: 15px;
    letter-spacing: 3px;
    color: var(--a2-gold);
}

/* Botão principal */
.auth2 .auth-submit {
    margin-top: 6px;
    border-radius: 999px;
    padding: 16px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background:
        linear-gradient(135deg, #2fa64a 0%, #1f7a35 55%, #145c27 100%);
    color: #f6fff0;
    border: 1px solid rgba(230, 200, 127, .45);
    box-shadow:
        0 16px 34px rgba(31, 122, 53, .45),
        inset 0 1px 0 rgba(255, 255, 255, .25),
        inset 0 -2px 6px rgba(0, 0, 0, .25);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.auth2 .auth-submit:hover {
    filter: brightness(1.06);
    box-shadow:
        0 18px 40px rgba(31, 122, 53, .55),
        inset 0 1px 0 rgba(230, 200, 127, .35),
        inset 0 -2px 6px rgba(0, 0, 0, .25);
}
.auth2 .auth-submit:active { transform: scale(.98); }

/* ---- Linha lembrar / esqueci ---- */
.auth2-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 6px 2px 2px;
    font-size: 13px;
}
.auth2-check {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--a2-muted);
    cursor: pointer;
    user-select: none;
}
.auth2-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.auth2-check-box {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    border: 1.5px solid var(--a2-green-line);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: transparent;
    transition: .15s;
}
.auth2-check input:checked + .auth2-check-box {
    background: linear-gradient(135deg, var(--a2-green-bright), var(--a2-green));
    border-color: var(--a2-green);
    color: #f6fff0;
}
.auth2-link {
    background: none;
    border: none;
    color: var(--a2-gold);
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    padding: 0;
    letter-spacing: .3px;
    transition: color .15s ease;
}
.auth2-link:hover { color: var(--a2-gold-bright); }

/* ---- Divisor OU ---- */
.auth2-or {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 18px 0;
    color: var(--a2-faint);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.auth2-or::before,
.auth2-or::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--a2-card-edge), transparent);
}

/* ---- Botão secundário (contorno) ---- */
.auth2-secondary {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px;
    border-radius: 999px;
    border: 1px solid var(--a2-card-edge);
    background: rgba(200, 168, 90, .04);
    color: var(--a2-ink);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .5px;
    cursor: pointer;
    transition: .18s ease;
}
.auth2-secondary:hover {
    border-color: var(--a2-gold);
    background: rgba(200, 168, 90, .10);
    color: var(--a2-gold-bright);
}
.auth2-secondary svg { width: 19px; height: 19px; color: var(--a2-gold); }

/* ---- Alternar (Já tem conta / Cadastre-se) ---- */
.auth2-switch {
    text-align: center;
    margin: 18px 0 4px;
    font-size: 13.5px;
    color: var(--a2-muted);
}
.auth2-switch a {
    color: var(--a2-gold);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(200, 168, 90, .4);
    padding-bottom: 1px;
}
.auth2-switch a:hover { color: var(--a2-gold-bright); }

/* ---- Cartão informativo ---- */
.auth2-info {
    position: relative;
    margin-top: 26px;
    border: 1px solid var(--a2-card-edge);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(13, 30, 18, .82), rgba(8, 18, 11, .78));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 22px 18px 16px;
    box-shadow:
        0 22px 54px rgba(0, 0, 0, .55),
        inset 0 1px 0 rgba(230, 200, 127, .10);
}
/* filete dourado no topo do cartão */
.auth2-info::before {
    content: "";
    position: absolute;
    top: 0; left: 18%; right: 18%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--a2-gold), transparent);
    opacity: .55;
}
.auth2-info-head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}
.auth2-info-text { flex: 1; min-width: 0; }
.auth2-info-text strong {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: var(--a2-ink);
    letter-spacing: 1px;
    margin-bottom: 6px;
    font-family: "Georgia", "Times New Roman", serif;
}
.auth2-info-text strong em {
    color: var(--a2-green-bright);
    font-style: italic;
    font-weight: 700;
}
.auth2-info-text p {
    margin: 0;
    font-size: 12px;
    line-height: 1.55;
    color: var(--a2-muted);
}
.auth2-info-badge {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--a2-gold-bright);
    border: 1.5px solid var(--a2-gold);
    background:
        radial-gradient(circle at 50% 35%, rgba(47, 166, 74, .35), transparent 70%),
        rgba(8, 18, 11, .6);
    box-shadow:
        0 0 26px rgba(31, 122, 53, .40),
        inset 0 0 16px rgba(200, 168, 90, .22);
    font-family: "Georgia", "Times New Roman", serif;
}
.auth2-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 14px 0;
    border-top: 1px solid var(--a2-card-edge);
}
.auth2-feat {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 5px;
    text-align: left;
}
.auth2-feat + .auth2-feat { border-left: 1px solid var(--a2-card-edge); }
.auth2-feat i { color: var(--a2-gold); font-size: 15px; }
.auth2-feat strong {
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .4px;
    color: #e6f0e2;
    text-transform: uppercase;
    line-height: 1.2;
}
.auth2-feat span {
    font-size: 8.5px;
    line-height: 1.35;
    color: var(--a2-faint);
}
.auth2-info-foot {
    text-align: center;
    padding-top: 12px;
    border-top: 1px solid var(--a2-card-edge);
    font-size: 9px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--a2-gold);
    font-weight: 600;
    opacity: .8;
}

/* Erro / recuperação dentro do auth2 */
.auth2 .sheet-error { color: #e88a7a; font-size: 13px; text-align: center; }
.auth2 .auth-recovery { margin-top: 16px; }


/* =====================================================================
   PERRIER — TEMA CLARO COMPARTILHADO
   Verde-garrafa, branco mineral e detalhes dourados. Esta camada final
   preserva a estrutura e os comportamentos de cada página da aplicação.
   ===================================================================== */
:root {
    --primary: #d97706;
    --primary-rgb: 217, 119, 6;
    --primary-soft: rgba(217, 119, 6, .10);
    --primary-softer: rgba(217, 119, 6, .055);
    --primary-strong: #b45309;
    --primary-deep: #0c0d12;
    --primary-contrast: #ffffff;
    --header-grad-1: #0c0d12;
    --header-grad-2: #161922;
    --bg: #f4f5f8;
    --bg2: #fcfcfd;
    --surface: #ffffff;
    --surface-2: #fafbfc;
    --surface-3: #f1f5f9;
    --text: #0c0d12;
    --text-soft: #475569;
    --text-muted: #64748b;
    --text-faint: #94a3b8;
    --success: #d97706;
    --success-soft: rgba(217, 119, 6, .11);
    --danger: #ef4444;
    --danger-soft: rgba(239, 68, 68, .10);
    --warning: #f59e0b;
    --warning-soft: rgba(245, 158, 11, .12);
    --gold: #d4a037;
    --gold-bright: #fae28e;
    --border: rgba(217, 119, 6, .18);
    --border-soft: #e2e8f0;
    --shadow-sm: 0 10px 26px rgba(0, 0, 0, .04);
    --shadow: 0 18px 42px rgba(0, 0, 0, .06);
    --shadow-lg: 0 26px 62px rgba(0, 0, 0, .09);
    --shadow-primary: 0 16px 34px rgba(217, 119, 6, .20);
}

html,
body {
    background: #f4f7f1 !important;
    color: var(--text) !important;
}
body {
    background-image:
        radial-gradient(circle at 8% 0%, rgba(46, 139, 87, .12), transparent 28%),
        radial-gradient(circle at 96% 4%, rgba(184, 155, 94, .12), transparent 23%),
        linear-gradient(180deg, #f9fbf7 0%, #eef4ec 100%) !important;
}
body::before {
    opacity: .42;
    background-image:
        linear-gradient(rgba(15, 81, 50, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 81, 50, .045) 1px, transparent 1px);
}
a { color: var(--primary); }

.app,
.auth-page,
.ci-page,
.rl-page,
.aff-page-body {
    background: linear-gradient(180deg, rgba(250, 252, 248, .98), rgba(237, 244, 235, .98)) !important;
    color: var(--text) !important;
}
.app::before {
    background:
        radial-gradient(circle at top, rgba(46, 139, 87, .10), transparent 27%),
        radial-gradient(circle at bottom right, rgba(184, 155, 94, .10), transparent 30%);
}

.header,
.memecoin-header,
.auth-hero,
.voucher-topbar,
.aff-hero,
.ci-head,
.rl-head {
    background:
        radial-gradient(110% 120% at 8% 0%, rgba(76, 166, 104, .60), transparent 48%),
        radial-gradient(70% 100% at 100% 100%, rgba(184, 155, 94, .24), transparent 48%),
        linear-gradient(135deg, #0f5132 0%, #0a4529 54%, #073722 100%) !important;
    border-bottom-color: rgba(184, 155, 94, .42) !important;
    box-shadow: 0 18px 44px rgba(7, 55, 34, .24) !important;
}

.tabs,
#mercadosFilters,
.wallet-tier-strip,
.carteira-panel,
.trader-card,
.my-sub-card,
.manager-vip-card,
.faq-item,
.voucher-card,
.voucher-success,
.chart-container,
.active-positions,
.aff-stats-card,
.aff-table-card,
.aff-stat,
.aff-stat-full,
.comm-modal-panel,
.iaturbo-modal-panel,
.iaturbo-pay-modal-panel,
.sheet-panel,
.auth-recovery,
.dash-stats,
.dash-action,
.dash-item,
.dash-gift,
.perfil-panel,
.perfil-referral-card,
.rl-card,
.rl-rules,
.rl-win,
.ci-balance,
.ci-task,
.movement-item,
.position-item,
.carreira-nivel,
.wl-tabs .wl-tab,
.wl-panel,
.wl-tier,
.wl-sum,
.wl-statement-item,
.aff-comm-card,
.aff-earn,
.aff-cta--ghost {
    background: linear-gradient(180deg, #ffffff 0%, #fbf9f5 100%) !important;
    border-color: rgba(217, 119, 6, .18) !important;
    box-shadow: var(--shadow-sm) !important;
    color: var(--text) !important;
}

.ticker-row,
.perfil-identity,
.dash-gift,
.aff-hero-promo,
.rl-invite,
.hm-account,
.wl-trust-item,
.wl-important,
.wl-filter {
    background: rgba(255, 255, 255, .72) !important;
    border-color: rgba(15, 81, 50, .14) !important;
    color: var(--text) !important;
}

.tab,
.category-tab,
.auth-link-button,
.carteira-link-btn,
.sub-sheet-rules,
.aff-details-link,
.aff-stat-link,
.voucher-link-wallet,
.page-title,
.auth-title,
.perfil-panel-title,
.carteira-extrato-title,
.voucher-topbar-title,
.aff-referrals-title,
.wl-panel-title,
.wl-statement-title,
.wl-tier-plan-text .wallet-tier-name,
.aff-level-badge-text #affLevelText,
.aff-comm-head-text strong,
.aff-promo-text > strong,
.aff-earn-val,
.aff-how-step strong,
.dash-stat strong,
.trader-stat-val,
.sub-sheet-summary-total dd,
.wallet-tier-name,
.position-live {
    color: var(--text) !important;
}

.balance-amount,
.price,
.perfil-hero-val,
.aff-stat-val,
.voucher-success-amount,
.rl-win-amt,
.ci-balance-val,
.wl-balance-usdt,
.wl-tier-limit,
.wl-tier-level,
.aff-section-title,
.aff-earn-link,
.aff-comm-lvl strong,
.aff-comm-levels .aff-tier-pct,
.aff-promo-text > strong em,
.wl-panel-title .wl-accent,
.wl-accent {
    color: var(--primary) !important;
    text-shadow: none !important;
}

.auth-page .auth-input-wrap,
.voucher-input-wrap,
.carteira-input,
.perfil-input,
.comm-input,
.sub-sheet-input,
.expiration-toggle,
.amount-stepper,
.chart-asset-select,
.auth-page select,
.wl-filter {
    background: #ffffff !important;
    border-color: rgba(217, 119, 6, .24) !important;
    color: var(--text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7) !important;
}
.amount-value-wrap input,
.iaturbo-pay-copy-input,
.dash-gift-form input,
.perfil-referral-field input,
.voucher-input,
.comm-input,
.auth-page .auth-input-wrap input,
.auth-page .auth-input-wrap select,
.carteira-input,
.perfil-input,
.sub-sheet-input {
    color: var(--text) !important;
}
.auth-page input::placeholder,
.voucher-input::placeholder,
.carteira-input::placeholder,
.perfil-input::placeholder,
.sub-sheet-input::placeholder { color: #809084 !important; }

.tab.active,
.category-tab.active,
#mercadosFilters .category-tab.active,
.sub-sheet-ok,
.auth-submit,
.carteira-btn,
.manager-contact-btn,
.voucher-submit,
.aff-btn-copy,
.comm-btn,
.iaturbo-modal-btn--primary,
.inv-plan-btn--mid,
.subscribe-btn,
.buy-btn.subscribe-btn,
.wl-btn-primary {
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%) !important;
    color: #0c0d12 !important;
    box-shadow: 0 12px 26px rgba(212, 160, 55, .32) !important;
}
.buy-btn { background: linear-gradient(135deg, #fae28e, #d89f33) !important; color: #0c0d12 !important; }

.bottom-nav {
    background: #0c0d12 !important;
    border-top: 1px solid rgba(227, 201, 138, .25) !important;
    box-shadow: 0 -10px 28px rgba(0, 0, 0, .4) !important;
}
.nav-item { color: rgba(255, 255, 255, .72) !important; }
.nav-item.active { color: #d97706 !important; }
.nav-item.active i,
.nav-item.active .nav-ico { filter: drop-shadow(0 0 8px rgba(216, 159, 51, .35)) !important; }
.nav-item[data-page="network"]::before {
    display: none !important;
    content: none !important;
}

.sheet-backdrop,
.trader-status-backdrop,
.iaturbo-modal-backdrop,
.iaturbo-pay-modal-backdrop,
.comm-modal-overlay,
.rl-win-overlay { background: rgba(12, 13, 18, .75) !important; backdrop-filter: blur(4px); }
.sheet-panel,
.trader-status-panel,
.iaturbo-full-sheet,
.iaturbo-pay-modal-panel,
.iaturbo-modal-panel,
.comm-modal-panel { background: #ffffff !important; color: var(--text) !important; }

@media (min-width: 600px) {
    body {
        background-image:
            radial-gradient(circle at 50% 0%, rgba(46, 139, 87, .13), transparent 24%),
            radial-gradient(circle at 90% 0%, rgba(184, 155, 94, .12), transparent 24%),
            linear-gradient(180deg, #f9fbf7, #edf4eb) !important;
    }
    .app {
        border-left-color: rgba(15, 81, 50, .11) !important;
        border-right-color: rgba(15, 81, 50, .11) !important;
        box-shadow: 0 0 0 1px rgba(15, 81, 50, .08), 0 24px 70px rgba(17, 61, 38, .14) !important;
    }
}


/* =====================================================================
   PERRIER 2.0 — interface clara unificada
   Superfícies brancas, verde-garrafa apenas como identidade e dourado
   reservado a estado/premiação. Esta camada é a referência final da app.
   ===================================================================== */
:root {
    --primary: #d97706;
    --primary-strong: #b45309;
    --primary-deep: #0c0d12;
    --primary-soft: rgba(217, 119, 6, .10);
    --primary-softer: rgba(217, 119, 6, .055);
    --primary-contrast: #ffffff;
    --bg: #f4f5f8;
    --bg2: #fcfcfd;
    --surface: #ffffff;
    --surface-2: #fafbfc;
    --surface-3: #f1f5f9;
    --text: #0c0d12;
    --text-soft: #475569;
    --text-muted: #64748b;
    --border: rgba(217, 119, 6, .17);
    --border-soft: #e2e8f0;
    --success: #d97706;
    --success-soft: rgba(217, 119, 6, .11);
    --danger: #ef4444;
    --danger-soft: rgba(239, 68, 68, .10);
    --warning: #f59e0b;
    --warning-soft: rgba(245, 158, 11, .12);
    --shadow-sm: 0 8px 22px rgba(0, 0, 0, .04);
    --shadow: 0 16px 38px rgba(0, 0, 0, .06);
    --shadow-lg: 0 24px 58px rgba(0, 0, 0, .09);
}

html, body { background: var(--bg) !important; color: var(--text) !important; }
body {
    background-image:
        radial-gradient(circle at 4% 0%, rgba(217, 119, 6, .12), transparent 26%),
        radial-gradient(circle at 100% 0%, rgba(184, 155, 94, .11), transparent 22%),
        linear-gradient(180deg, #fcfcfd, #f4f5f8) !important;
}
body::before { opacity: .30 !important; }
.app, .auth-page, .ci-page, .rl-page, .aff-page-body {
    background: linear-gradient(180deg, #fcfcfd, #f4f5f8) !important;
    color: var(--text) !important;
}

.header, .memecoin-header, .auth-hero, .voucher-topbar, .aff-hero, .ci-head, .rl-head {
    background:
        radial-gradient(100% 120% at 4% 0%, rgba(217, 119, 6, .28), transparent 54%),
        radial-gradient(70% 100% at 100% 100%, rgba(227, 201, 138, .22), transparent 48%),
        linear-gradient(135deg, #0c0d12, #161922 56%, #08090d) !important;
    border-bottom-color: rgba(227, 201, 138, .54) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .25) !important;
}
.header .banner-image { opacity: .16 !important; }
.header .banner-image::after { background: rgba(12, 13, 18, .40) !important; }
.hm-brand { display: flex; align-items: center; min-height: 42px; }
.hm-logo-img { display: none !important; }
.hm-brand::after {
    content: 'NEXOIL';
    color: #ffffff;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 26px;
    font-weight: 950;
    letter-spacing: 2px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
}
.hm-cap-label { color: rgba(255, 255, 255, .78) !important; }
.hm-hero .balance-amount, .hm-tagline, .hm-badge { color: #ffffff !important; text-shadow: none !important; }
.hm-badge { border-color: rgba(227, 201, 138, .74) !important; background: rgba(255, 255, 255, .14) !important; }

.tabs, #mercadosFilters, .category-tabs, .ext-filters {
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
}
.tab, .category-tab, .ext-chip, .rl-tab, .aff-period-tab, .comm-tab {
    background: transparent !important;
    color: var(--text-soft) !important;
    border-color: transparent !important;
}
.tab.active, .category-tab.active, #mercadosFilters .category-tab.active,
.ext-chip.is-active, .rl-tab.active, .aff-period-tab.active, .comm-tab.active {
    background: var(--primary) !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(217, 119, 6, .22) !important;
}

.iv3-card, .my-sub-card, .manager-vip-card, .trader-card,
.carteira-panel, .wl-tier, .wl-sum, .wl-statement, .ext-sum-card,
.mv-row, .position-item, .movement-item, .voucher-card, .voucher-success,
.aff-comm-card, .aff-promo-card, .aff-earn, .aff-table-card,
.comm-modal-panel, .iaturbo-modal-panel, .iaturbo-pay-modal-panel,
.sheet-panel, .sub-sheet-panel, .rl-card, .rl-rules, .rl-win,
.ci-balance, .ci-task, .perfil-panel, .perfil-referral-card {
    background: linear-gradient(180deg, #ffffff, #f8fbf7) !important;
    border-color: var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
    color: var(--text) !important;
}
.iv3-card *, .my-sub-card *, .ext-sum-card *, .mv-row *, .rl-card *,
.rl-rules *, .ci-balance *, .ci-task *, .voucher-card *, .aff-comm-card *,
.aff-promo-card *, .aff-earn *, .comm-modal-panel * { border-color: inherit; }
.iv3-title, .my-sub-name, .page-title, .ext-section-head h2, .rl-rules h3,
.voucher-topbar-title, .voucher-label, .aff-section-title, .aff-referrals-title,
.ci-task-name, .ci-balance-val, .comm-modal-title { color: var(--text) !important; }
.iv3-metric span, .my-sub-meta, .my-sub-status, .page-lead, .mv-date,
.ext-sum-lbl, .ci-balance-lbl, .ci-task-desc, .ci-task-status, .voucher-tips,
.aff-earn-label, .aff-earn-sub, .comm-modal-hint { color: var(--text-muted) !important; }
.iv3-metric strong, .my-sub-profit-val, .ext-sum-val.pos, .mv-amt.pos,
.rl-row-amt, .aff-earn-val, .voucher-success-amount, .ci-task-reward {
    color: var(--primary) !important;
    text-shadow: none !important;
}
.ext-sum-val.neg, .mv-amt.neg { color: var(--danger) !important; }

.iv3-btn, .sub-btn-redeem, .sub-sheet-ok, .ss2-confirm, .voucher-submit,
.carteira-btn:not(.carteira-btn--ghost), .comm-btn, .ci-task-btn--go,
.rl-win button, .aff-cta--primary {
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%) !important;
    color: #0c0d12 !important;
    border: 0 !important;
    box-shadow: 0 10px 22px rgba(212, 160, 55, .32) !important;
}
.iv3-btn *, .ss2-confirm *, .voucher-submit *, .aff-cta--primary * { color: inherit !important; }
.sub-btn-operation, .sub-btn-cancel, .voucher-submit--ghost, .carteira-btn--ghost,
.carteira-link-btn, .aff-cta--ghost, .aff-earn-link, .aff-details-link {
    background: #ffffff !important;
    color: var(--primary) !important;
    border-color: var(--border) !important;
}

input, select, textarea, .carteira-input, .perfil-input, .voucher-input,
.comm-input, .ss2-input, .wl-filter, .auth-page .auth-input-wrap {
    background: #ffffff !important;
    color: var(--text) !important;
    border-color: rgba(217, 119, 6, .24) !important;
    box-shadow: none !important;
}
input::placeholder, textarea::placeholder { color: #94a3b8 !important; }
input:focus, select:focus, textarea:focus {
    outline: none !important;
    border-color: #d97706 !important;
    box-shadow: 0 0 0 3px rgba(217, 119, 6, .18) !important;
}

.bottom-nav {
    background: #0c0d12 !important;
    border-top: 1px solid rgba(227, 201, 138, .25) !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, .4) !important;
}
.nav-item { color: rgba(255, 255, 255, .72) !important; }
.nav-item.active { color: #d97706 !important; }
.nav-item[data-page="network"]::before {
    display: none !important;
    content: none !important;
}

/* Perfil: novo agrupamento de informação e ações essenciais. */
.perfil-header { padding-bottom: 24px !important; }
.perfil-identity { background: rgba(255, 255, 255, .12) !important; border-color: rgba(255, 255, 255, .20) !important; }
.perfil-avatar { background: #ffffff !important; color: var(--primary) !important; }
.perfil-id-row, .perfil-since, .perfil-hero-lbl { color: rgba(255, 255, 255, .78) !important; }
.perfil-plan, .perfil-hero-val { color: #ffffff !important; text-shadow: none !important; }
.perfil-main { padding: 18px 16px 112px !important; }
.perfil-overview { margin-bottom: 14px; }
.perfil-overview-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin: 0 2px 12px; }
.perfil-kicker { display: block; color: var(--primary); font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }
.perfil-overview h1 { margin: 4px 0 0; color: var(--text); font: 400 24px Georgia, 'Times New Roman', serif; }
.perfil-history-link { color: var(--primary); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.dash-stats { background: #ffffff !important; border: 1px solid var(--border) !important; border-radius: 18px !important; box-shadow: var(--shadow-sm) !important; }
.dash-stat { background: transparent !important; box-shadow: none !important; border-color: var(--border-soft) !important; }
.dash-stat strong { color: var(--text) !important; text-shadow: none !important; }
.dash-stat span { color: var(--text-muted) !important; }
.dash-actions { grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; margin: 14px 0 20px !important; }
.dash-action { background: #ffffff !important; color: var(--text) !important; border: 1px solid var(--border) !important; border-radius: 16px !important; box-shadow: var(--shadow-sm) !important; }
.dash-action-ico, .dash-item-ico { background: var(--primary-soft) !important; color: var(--primary) !important; border-color: rgba(15, 81, 50, .14) !important; box-shadow: none !important; }
.dash-gift-link { display: flex !important; align-items: center; gap: 12px; text-decoration: none; background: linear-gradient(135deg, #f1f8f1, #ffffff) !important; color: var(--text) !important; border: 1px solid var(--border) !important; border-radius: 18px !important; box-shadow: var(--shadow-sm) !important; padding: 16px !important; }
.dash-gift-link .dash-gift-ico { background: var(--primary) !important; color: #ffffff !important; }
.dash-gift-link .dash-gift-text { flex: 1; }
.dash-gift-link strong, .dash-gift-link small { display: block; }
.dash-gift-link strong { font-size: 14px; }
.dash-gift-link small { margin-top: 3px; color: var(--text-muted); font-size: 11px; }
.dash-gift-link > .bi { color: var(--primary); }
.perfil-menu-section { margin-top: 24px; }
.perfil-menu-section h2 { margin: 0 2px 10px; color: var(--text); font: 400 19px Georgia, 'Times New Roman', serif; }
.perfil-menu-section .dash-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
.perfil-menu-section .dash-item { width: 100%; min-height: 62px; display: flex !important; align-items: center; gap: 12px; padding: 10px 13px !important; text-align: left; color: var(--text) !important; background: #ffffff !important; border: 1px solid var(--border) !important; border-radius: 14px !important; box-shadow: var(--shadow-sm) !important; }
.perfil-menu-section .dash-item > span:nth-child(2) { flex: 1; font-size: 13px; font-weight: 750; }
.perfil-menu-section .dash-item > .bi { color: #91a195; font-size: 13px; }
.perfil-menu-section .dash-item-ico { width: 39px !important; height: 39px !important; border-radius: 11px !important; }
.perfil-logout { width: 100%; margin-top: 14px; padding: 13px; color: var(--danger); background: transparent; border: 1px solid rgba(190, 80, 60, .25); border-radius: 13px; font-weight: 800; cursor: pointer; }

/* Modais, check-in, roleta e plano de carreira não devem reintroduzir cartões escuros. */
.iaturbo-full-sheet, .iaturbo-full-sheet-head, .cr-hero, .cr-card, .cr-journey,
.cr-geral, .cr-rules, .rl-win, .rl-toast, .ci-toast {
    background: #ffffff !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}
.iaturbo-full-sheet-head { border-bottom: 1px solid var(--border) !important; }
.cr-hero { background: linear-gradient(135deg, #e8f4e9, #ffffff) !important; }
.cr-hero h1, .cr-title, .cr-journey-txt strong, .cr-metric strong, .cr-geral-item strong,
.cr-rules-head strong { color: var(--text) !important; }
.cr-hero h1 span, .cr-chip, .cr-bonus, .cr-journey-ico, .cr-badge-ico,
.cr-rules-head i, .cr-rules li i { color: var(--primary) !important; }
.cr-hero p, .cr-desc, .cr-journey-txt span, .cr-metric span, .cr-prog-head,
.cr-geral-lbl, .cr-geral-item small, .cr-rules li { color: var(--text-muted) !important; }
.cr-metric, .cr-prog, .cr-status.locked { background: #f3f7f1 !important; border-color: var(--border-soft) !important; }
.cr-hex::after { background: #ffffff !important; }
.rl-invite { background: #ffffff !important; border-color: var(--border) !important; color: var(--text) !important; }
.rl-invite span, .rl-spins b { color: var(--primary) !important; }
.rl-row { background: #f8fbf7 !important; border-color: var(--border-soft) !important; }
.rl-win-overlay, .sheet-backdrop, .comm-modal-overlay { background: rgba(12, 13, 18, .75) !important; backdrop-filter: blur(4px); }
.ci-toast, .rl-toast { color: var(--primary) !important; box-shadow: var(--shadow) !important; }

.wa-float { display: none !important; }
@media (max-width: 380px) {
    .dash-actions { gap: 7px !important; }
    .dash-action { font-size: 11px !important; }
    .dash-action-ico { width: 36px !important; height: 36px !important; }
}


/* =====================================================================
   PERRIER — Carteira, Perfil e Plano de Carreira
   Camada final clara: superfícies brancas, verde-garrafa e dourado suave.
   ===================================================================== */
.carteira-app,
.perfil-app {
    background: linear-gradient(180deg, #fcfcfd 0%, #f4f5f8 100%) !important;
    color: #0c0d12;
}
.carteira-app .memecoin-header,
.perfil-app .memecoin-header {
    background: linear-gradient(135deg, #0c0d12 0%, #161922 58%, #08090d 100%) !important;
    border-bottom: 1px solid rgba(227, 201, 138, .58) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .25) !important;
}
.carteira-app .banner-image,
.perfil-app .banner-image { opacity: .12 !important; }
.carteira-app .banner-image::after,
.perfil-app .banner-image::after { background: rgba(12, 13, 18, .54) !important; }

/* Carteira */
.wl-story {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 154px;
    margin: 18px 16px 4px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid rgba(217, 119, 6, .16);
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff, #fbf9f5);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .06);
}
.wl-story-copy { position: relative; z-index: 1; flex: 1 1 54%; min-width: 0; }
.wl-story-kicker,
.perfil-kicker {
    display: inline-block;
    color: #d97706;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}
.wl-story h1 { margin-top: 8px; color: #0c0d12; font: 700 24px/1.08 Inter, system-ui, sans-serif; }
.wl-story h1 em { color: #d97706; }
.wl-story p { margin-top: 8px; color: #64748b; font-size: 12px; line-height: 1.5; }
.wl-story-art { width: 43%; max-width: 188px; margin: -10px -19px -16px 0; flex: 0 0 43%; }
.carteira-main { padding-bottom: 104px; }
.wl-tier,
.wl-panel,
#panelWithdraw,
.wl-statement {
    margin-left: 16px;
    margin-right: 16px;
    border: 1px solid #e2e8f0 !important;
    border-radius: 19px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .06) !important;
}
.wl-tier { margin-top: 16px; padding: 16px !important; }
.wl-tier strong,
.wl-panel-title,
.wl-statement-title { color: #0c0d12 !important; }
.wl-tier-lbl,
.wl-tier-level,
.wl-panel-sub,
.wl-statement-sub,
.wl-sum-lbl { color: #64748b !important; }
.wl-tier-diamond,
.wl-accent,
.wl-sum-val { color: #d97706 !important; }
.wl-tier-track,
.carteira-app .carteira-progress { background: #f1f5f9 !important; }
.wl-tier-track span { background: linear-gradient(90deg, #d97706, #f59e0b) !important; }
.carteira-app .category-tabs { padding: 16px; gap: 8px; }
.carteira-app .category-tab {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #64748b !important;
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .04);
}
.carteira-app .category-tab.active {
    color: #0c0d12 !important;
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%) !important;
    border-color: transparent !important;
}
.carteira-app .carteira-panel,
.carteira-app .wl-statement { padding: 18px !important; }
.carteira-app .carteira-field label,
.carteira-app .wl-secure-hint,
.carteira-app .wl-protect,
.carteira-app .carteira-hint { color: #64748b !important; }
.carteira-app .carteira-input,
.carteira-app .wl-filter {
    color: #0c0d12 !important;
    background: #ffffff !important;
    border: 1px solid rgba(217, 119, 6, .18) !important;
    border-radius: 12px !important;
}
.carteira-app .carteira-input:focus,
.carteira-app .wl-filter:focus { outline: 2px solid rgba(217, 119, 6, .24); border-color: #d97706 !important; }
.carteira-app .carteira-btn,
.carteira-app .wl-btn-primary {
    color: #0c0d12 !important;
    background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%) !important;
    box-shadow: 0 10px 20px rgba(212, 160, 55, .32) !important;
}
.carteira-app .wl-trust-item,
.carteira-app .wl-sum,
.carteira-app .wl-ext-row,
.carteira-app .wl-important { background: #f8fafc !important; border-color: #e2e8f0 !important; }
.carteira-app .wl-ext-row strong,
.carteira-app .wl-ext-val,
.carteira-app .wl-sum-val { color: #0c0d12 !important; }
.carteira-app .wl-ext-date,
.carteira-app .wl-ext-desc span,
.carteira-app .wl-ext-status { color: #64748b !important; }

/* Perfil */
.perfil-main { padding: 18px 16px 108px !important; }
.perfil-app .perfil-overview,
.perfil-app .perfil-menu-section,
.perfil-app .dash-gift {
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .06) !important;
}
.perfil-app .perfil-overview-head h1,
.perfil-app .perfil-menu-section h2,
.perfil-app .dash-gift strong,
.perfil-app .dash-stat strong,
.perfil-app .dash-item { color: #0c0d12 !important; }
.perfil-app .perfil-history-link,
.perfil-app .dash-action-ico,
.perfil-app .dash-item-ico { color: #d97706 !important; }
.perfil-app .dash-stat,
.perfil-app .dash-item { border-color: #e2e8f0 !important; background: #f8fafc !important; }
.perfil-app .dash-stat span,
.perfil-app .dash-gift small { color: #64748b !important; }
.perfil-app .dash-action { color: #0c0d12 !important; background: #ffffff !important; border-color: #e2e8f0 !important; }
.perfil-app .perfil-logout { color: #ef4444 !important; border-color: rgba(239, 68, 68, .25) !important; background: #fff8f6 !important; }

/* Plano de carreira: substitui as superfícies escuras legadas pelo painel Perrier. */
#dialogCarreira,
#dialogSenha { background: #f4f5f8 !important; color: #0c0d12 !important; }
#dialogCarreira .iaturbo-full-sheet-head,
#dialogSenha .iaturbo-full-sheet-head { background: #ffffff !important; border-bottom-color: #e2e8f0 !important; }
#dialogCarreira .iaturbo-full-sheet-title,
#dialogSenha .iaturbo-full-sheet-title { color: #0c0d12 !important; }
#dialogCarreira .cr-hero {
    background-color: #0c0d12 !important;
    background-image: radial-gradient(circle at 85% 35%, rgba(217,119,6,.28) 0%, transparent 60%), linear-gradient(160deg, #0c0d12 0%, #161922 52%, #08090d 100%) !important;
    border-bottom: 1px solid rgba(229,179,72,.22);
}
#dialogCarreira .cr-hero-art { display: none !important; }
#dialogCarreira .cr-hero h1,
#dialogCarreira .cr-title,
#dialogCarreira .cr-journey-txt strong,
#dialogCarreira .cr-geral-item strong,
#dialogCarreira .cr-rules-head strong { color: #0c0d12 !important; }
#dialogCarreira .cr-hero h1 { color: #ffffff !important; }
#dialogCarreira .cr-hero h1 span,
#dialogCarreira .cr-chip,
#dialogCarreira .cr-badge-ico,
#dialogCarreira .cr-claim { color: #d97706 !important; }
#dialogCarreira .cr-hero p { color: rgba(255,255,255,.82) !important; }
#dialogCarreira .cr-desc,
#dialogCarreira .cr-journey-txt span,
#dialogCarreira .cr-metric span,
#dialogCarreira .cr-prog-head,
#dialogCarreira .cr-geral-item small,
#dialogCarreira .cr-rules li { color: #64748b !important; }
#dialogCarreira .cr-card,
#dialogCarreira .cr-journey,
#dialogCarreira .cr-geral,
#dialogCarreira .cr-rules,
#dialogCarreira .cr-metric { background: #ffffff !important; border-color: #e2e8f0 !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .05) !important; }
#dialogCarreira .cr-hex::after { background: #ffffff !important; }
#dialogCarreira .cr-status.locked { color: #64748b !important; background: #f1f5f9 !important; }
#dialogCarreira .cr-status.reached { color: #d97706 !important; background: #fef3c7 !important; }
#dialogCarreira .cr-status.claimed { color: #b45309 !important; background: #fef3c7 !important; }
#dialogCarreira .cr-claim { background: linear-gradient(135deg, #fae28e 0%, #d89f33 100%) !important; color: #0c0d12 !important; border: 0 !important; box-shadow: 0 6px 16px rgba(212,160,55,.32) !important; }

@media (max-width: 390px) {
    .wl-story { min-height: 140px; padding: 17px; }
    .wl-story h1 { font-size: 22px; }
    .wl-story-art { width: 41%; margin-right: -16px; }
    .carteira-app .category-tab { padding-left: 8px; padding-right: 8px; font-size: 11px; }
}
