/* =========================================================
   RAIZE — "OBJETIVO & DINHEIRO" JOURNEYS (Frontoffice, investor)
   Objetivo → Simulador → Sugestão, Investimento Automático (tracker),
   Reforçar saldo, IBAN, Transferir para o banco, Extrato,
   Marketplace (+ detalhe / investir) and Carteira.
   Source: Claude Design "Jornada Objetivo do Investidor" +
   "Jornada de Login com acesso Aprovado" (views iban, saldo).
   All classes are prefixed inv-. Loaded after raize-ds-components.css.
   ========================================================= */

/* ---------- PAGE SHELL ---------- */
.inv-page { width: 100%; margin: 0 auto; animation: raize-step-in var(--dur-enter) var(--ease-out) backwards; }
.inv-w-780  { max-width: 780px; }
.inv-w-960  { max-width: 960px; }
.inv-w-1040 { max-width: 1040px; }
.inv-w-1060 { max-width: 1060px; }
.inv-w-1080 { max-width: 1080px; }
.inv-w-1120 { max-width: 1120px; }
.inv-w-1180 { max-width: 1180px; }
@media (prefers-reduced-motion: reduce) { .inv-page { animation: none; } }

.inv-back {
    display: inline-block;
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 16px;
    font-family: var(--font-ui);
    font-weight: 700;
    font-size: 14px;
    color: var(--blue-600);
    cursor: pointer;
    text-decoration: none;
}
.inv-back:hover { color: var(--blue-700); }

.inv-crumbs { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--grey-600); margin-bottom: 14px; }
.inv-crumbs b { font-weight: 700; color: var(--grey-950); }
.inv-crumbs .sep { color: #B9BDC4; }

.inv-kicker {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--raize-yellow-800);
    margin-bottom: 12px;
}
.inv-kicker.is-green { color: var(--green-700); margin-bottom: 10px; }
.inv-kicker.is-accent { color: var(--raize-yellow); }

.inv-h1 {
    font-family: var(--font-display);
    font-weight: 900;
    font-size: clamp(28px, 3.6vw, 42px);
    letter-spacing: -1px;
    line-height: 1.08;
    color: var(--grey-950);
    margin: 0 0 12px;
}
.inv-h1.is-xl { font-size: clamp(30px, 4vw, 46px); letter-spacing: -1.2px; line-height: 1.05; }
.inv-h1.is-md { font-size: clamp(28px, 3.4vw, 40px); }
.inv-h1.is-sm { font-size: clamp(24px, 2.8vw, 32px); letter-spacing: -.7px; line-height: 1.1; }
.inv-lead { font-size: 17px; line-height: 1.6; color: var(--grey-800); max-width: 680px; margin: 0 0 28px; text-wrap: pretty; }
.inv-lead.is-lg { font-size: 18px; max-width: 640px; margin-bottom: 32px; }
.inv-lead.is-sm { font-size: 16px; color: var(--grey-700); margin: 8px 0 0; }

.inv-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 22px; }

.inv-h2 { font-family: var(--font-display); font-weight: 800; font-size: 20px; color: var(--grey-950); margin: 0 0 16px; }
.inv-h2.is-sm { font-size: 17px; margin-bottom: 12px; }
.inv-h2.is-xs { font-size: 16px; margin-bottom: 12px; }

/* ---------- SURFACES ---------- */
.inv-card {
    background: #fff;
    border: 1px solid var(--border-card);
    border-radius: 20px;
    padding: 28px;
}
.inv-card.is-tight { padding: 22px 24px; border-radius: 18px; }
.inv-card.is-flush { padding: 0; overflow: hidden; border-radius: 18px; }
.inv-card.is-muted { background: var(--grey-60); border-color: transparent; padding: 26px 28px; }
.inv-card.is-dark { background: var(--raize-ink); border-color: transparent; color: #fff; }
.inv-card + .inv-card { margin-top: 0; }

.inv-stack { display: flex; flex-direction: column; gap: 18px; }
.inv-stack.is-lg { gap: 22px; }
.inv-stack.is-sm { gap: 14px; }

.inv-split { display: flex; flex-wrap: wrap; gap: 22px; align-items: flex-start; }
.inv-split.is-reverse { flex-wrap: wrap-reverse; }
.inv-split-main { flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.inv-split-main.is-gap-lg { gap: 22px; }
.inv-split-aside { flex: 1 1 300px; max-width: 100%; display: flex; flex-direction: column; gap: 16px; }
.inv-split-aside.is-wide { flex-basis: 340px; }
.inv-sticky { position: sticky; top: 96px; }

/* ---------- BUTTONS ---------- */
.inv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-ui);
    font-weight: 800;
    font-size: 16.5px;
    padding: 17px 30px;
    border: none;
    border-radius: var(--radius-btn);
    background: var(--raize-yellow);
    color: var(--raize-ink);
    cursor: pointer;
    box-shadow: 0 10px 24px -10px rgba(251, 202, 19, .6);
    text-decoration: none;
    white-space: nowrap;
    transition: transform var(--d-fast) var(--ease), filter var(--d-fast);
}
.inv-btn:hover:not([disabled]):not(.is-disabled) { transform: translateY(-2px); color: var(--raize-ink); filter: brightness(1.03); }
.inv-btn[disabled],
.inv-btn.is-disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.inv-btn.is-md { font-size: 15.5px; padding: 15px 26px; border-radius: 11px; }
.inv-btn.is-sm { font-size: 14.5px; padding: 12px 18px; border-radius: 10px; box-shadow: none; }
.inv-btn.is-block { width: 100%; font-size: 16px; padding: 16px; }
.inv-btn.is-dark { background: var(--raize-ink); color: #fff; box-shadow: none; }
.inv-btn.is-dark:hover:not([disabled]) { color: #fff; }
.inv-btn.is-secondary {
    background: #fff;
    color: var(--raize-ink);
    border: 1.5px solid var(--grey-200);
    box-shadow: none;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 22px;
    border-radius: 11px;
}
.inv-btn.is-secondary.is-sm { font-size: 14px; padding: 10px 16px; border-radius: 10px; }
.inv-btn.is-danger { background: var(--red-150); color: var(--red-800); box-shadow: none; font-size: 15px; padding: 14px 22px; border-radius: 11px; }
.inv-btn.is-danger:hover:not([disabled]) { color: var(--red-800); }

.inv-link-btn {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-ui);
    font-weight: 700;
    font-size: 14px;
    color: var(--blue-600);
    text-decoration: underline;
    cursor: pointer;
}
.inv-link-btn.is-plain { text-decoration: none; }
.inv-link-btn.is-muted { color: var(--grey-600); font-weight: 600; font-size: 13px; }
.inv-link { font-weight: 700; font-size: 14.5px; color: var(--blue-600); text-decoration: none; }
.inv-link:hover { color: var(--blue-700); }

.inv-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 24px; }
.inv-actions.is-end { justify-content: flex-end; }
.inv-actions.is-tight { margin-top: 8px; justify-content: flex-start; gap: 12px; }

/* ---------- CHIPS (filters / shortcuts) ---------- */
.inv-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.inv-chips.is-tight { gap: 6px; }
.inv-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-ui);
    font-weight: 700;
    font-size: 14px;
    padding: 8px 14px;
    border-radius: var(--radius-pill);
    cursor: pointer;
    border: 1.5px solid var(--grey-150);
    background: #fff;
    color: var(--grey-950);
    white-space: nowrap;
}
.inv-chip:hover { border-color: var(--grey-300); }
.inv-chip.is-on { background: var(--raize-ink); border-color: var(--raize-ink); color: #fff; }
.inv-chip.is-soft-on { background: var(--raize-yellow-50); border-color: var(--raize-yellow); color: var(--grey-950); }
.inv-chip.is-lg { font-size: 14.5px; padding: 10px 16px; gap: 8px; }
.inv-chip.is-sm { font-size: 13.5px; }
.inv-chip-count { font-size: 12px; font-weight: 800; opacity: .7; }
.inv-chip-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; }

/* ---------- STATUS PILLS ---------- */
.inv-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    white-space: nowrap;
}
.inv-pill.tone-ok     { color: var(--green-700); background: var(--green-150); }
.inv-pill.tone-proc   { color: var(--raize-yellow-800); background: var(--raize-yellow-100); }
.inv-pill.tone-cancel { color: var(--grey-600); background: var(--grey-60); }
.inv-pill.tone-blue   { color: var(--blue-600); background: var(--blue-100); }
.inv-pill.tone-purple { color: #8A2F6B; background: #F7E4F0; }
.inv-pill.is-tag { font-size: 11.5px; letter-spacing: .3px; text-transform: uppercase; }
.inv-pill.is-lg { font-size: 13.5px; padding: 7px 14px; }
.inv-pill-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }

/* ---------- FORM CONTROLS ---------- */
.inv-label { display: block; font-size: 14.5px; font-weight: 700; color: var(--grey-800); margin-bottom: 10px; }
.inv-help { font-size: 13px; line-height: 1.55; color: var(--grey-600); margin: 8px 0 0; }
.inv-error { font-size: 13.5px; font-weight: 600; color: #A23B2A; margin: 10px 0 0; }

.inv-input-box {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--grey-40);
    border: 1.5px solid var(--grey-150);
    border-radius: 12px;
    padding: 12px 16px;
}
.inv-input-box.is-invalid { border-color: #E3A194; }
.inv-input-box.is-lg { border-radius: 14px; padding: 14px 18px; }
.inv-input-box input,
.inv-input-box select {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    padding: 0;
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 800;
    color: var(--grey-950);
    outline: none;
}
.inv-input-box.is-lg input { font-size: 34px; font-weight: 900; letter-spacing: -.6px; }
.inv-input-box.is-md input { font-size: 26px; font-weight: 900; }
.inv-input-box .unit { flex: none; font-weight: 700; color: var(--grey-600); }
.inv-input-box.is-lg .unit { font-family: var(--font-display); font-weight: 800; font-size: 24px; }

.inv-field {
    display: block;
    background: var(--grey-40);
    border: 1px solid var(--grey-150);
    border-radius: 11px;
    padding: 11px 15px;
}
.inv-field.is-white { background: #fff; border: 1.5px solid var(--grey-200); }
.inv-field.is-gold { background: #fff; border: 1.5px solid var(--raize-yellow-400); }
.inv-field.is-gold .inv-field-label { color: var(--raize-yellow-800); }
.inv-field.is-ok { border-color: #6FC79F; }
.inv-field.is-invalid { border-color: #E3A194; }
.inv-field.is-span2 { grid-column: span 2; }
.inv-field-label { display: block; font-size: 13px; font-weight: 600; color: var(--grey-600); margin-bottom: 2px; }
.inv-field input,
.inv-field select {
    width: 100%;
    border: none;
    background: transparent;
    font-family: var(--font-ui);
    font-size: 16px;
    font-weight: 500;
    padding: 2px 0;
    color: var(--grey-950);
    outline: none;
}
.inv-field input.is-mono { font-family: var(--font-mono); font-size: 17px; font-weight: 600; letter-spacing: .5px; }
.inv-field input[readonly] { color: var(--grey-800); }
.inv-field-row { display: flex; align-items: center; gap: 8px; }
.inv-field-row .unit { flex: none; font-weight: 700; color: var(--grey-600); }
.inv-fields-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
@media (max-width: 560px) {
    .inv-fields-2 { grid-template-columns: minmax(0, 1fr); }
    .inv-field.is-span2 { grid-column: auto; }
}

.inv-search {
    flex: 1;
    min-width: 200px;
    max-width: 360px;
    background: var(--grey-40);
    border: 1px solid var(--grey-150);
    border-radius: 10px;
    padding: 10px 14px;
    font-family: var(--font-ui);
    font-size: 14.5px;
    color: var(--grey-950);
}
.inv-select {
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 600;
    color: var(--grey-950);
    background: #fff;
    border: 1.5px solid var(--grey-150);
    border-radius: 10px;
    padding: 8px 10px;
    cursor: pointer;
}
.inv-date {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--grey-40);
    border: 1px solid var(--grey-150);
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 13.5px;
    color: var(--grey-600);
}
.inv-date input { border: none; background: transparent; font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--grey-950); }

.inv-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    cursor: pointer;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--grey-800);
}
.inv-check input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--raize-yellow); cursor: pointer; }
.inv-check.is-lg { font-size: 15px; gap: 11px; }

/* range slider (DS: yellow thumb with white ring) */
.inv-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 100px;
    background: linear-gradient(90deg, var(--raize-yellow) 0%, var(--raize-yellow) var(--fill, 0%), var(--grey-150) var(--fill, 0%), var(--grey-150) 100%);
    outline: none;
    margin: 0;
}
.inv-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--raize-yellow);
    border: 4px solid #fff;
    box-shadow: 0 2px 8px rgba(24, 26, 31, .35);
    cursor: grab;
}
.inv-range::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--raize-yellow);
    border: 4px solid #fff;
    box-shadow: 0 2px 8px rgba(24, 26, 31, .35);
    cursor: grab;
}
.inv-range:disabled { opacity: .55; }
.inv-range:disabled::-webkit-slider-thumb { cursor: not-allowed; }
.inv-range-ends { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--grey-600); margin-top: 8px; white-space: nowrap; }
.inv-range-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.inv-range-head .k { font-size: 15px; font-weight: 700; color: var(--grey-800); }
.inv-range-head .v { font-family: var(--font-display); font-weight: 900; font-size: 40px; letter-spacing: -1px; color: var(--grey-950); line-height: 1; }
.inv-range-head .v.is-md { font-weight: 800; font-size: 26px; letter-spacing: 0; }
.inv-range-head .v.is-sm { font-size: 30px; letter-spacing: -.6px; }

/* toggle switch */
.inv-switch { position: relative; flex: none; width: 48px; height: 28px; border-radius: 100px; background: var(--grey-200); border: none; cursor: pointer; transition: background .2s; padding: 0; }
.inv-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(24, 26, 31, .3); transition: transform .2s var(--ease-out); }
.inv-switch.is-on { background: var(--green-500); }
.inv-switch.is-on::after { transform: translateX(20px); }

/* ---------- NOTES / NOTICES ---------- */
.inv-note {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: var(--raize-yellow-50);
    border: 1px solid var(--raize-yellow-300);
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--grey-700);
}
.inv-note .mark { flex: none; color: var(--raize-yellow-800); font-weight: 900; }
.inv-note.is-green { background: var(--green-50); border-color: var(--green-250); color: #2C4A3C; }
.inv-note.is-green .mark { color: var(--green-700); }
.inv-note.is-blue { background: var(--blue-100); border-color: #C9D5EC; color: #2B3A58; }
.inv-note.is-blue .mark { color: var(--blue-600); }
.inv-note.is-red { background: #FDF1EE; border-color: #F1C4BA; color: var(--grey-700); }
.inv-note.is-red .mark { color: #A23B2A; }
.inv-note.is-grey { background: var(--grey-40); border-color: transparent; color: var(--grey-600); font-size: 13.5px; }
.inv-note.is-sm { font-size: 13px; padding: 10px 12px; border-radius: 10px; font-weight: 600; color: var(--raize-yellow-800); }
.inv-note-title { font-weight: 700; font-size: 15.5px; color: var(--grey-950); margin-bottom: 4px; }
.inv-note.is-red .inv-note-title { color: #A23B2A; }

.inv-disclaimer { font-size: 12.5px; line-height: 1.6; color: var(--grey-600); margin: 0; }
.inv-disclaimer.is-center { text-align: center; max-width: 860px; margin: 28px auto 0; }
.inv-disclaimer.is-right { text-align: right; margin-top: 16px; }
.inv-scaffold-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: var(--grey-600);
    background: var(--grey-60);
    padding: 4px 10px;
    border-radius: 100px;
    white-space: nowrap;
}

/* ---------- KEY/VALUE LISTS ---------- */
.inv-kv-box { display: flex; flex-direction: column; background: var(--grey-40); border-radius: 14px; padding: 4px 18px; }
.inv-kv-row { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid var(--grey-90); font-size: 14.5px; }
.inv-kv-row:last-child { border-bottom: none; }
.inv-kv-row .k { color: var(--grey-600); }
.inv-kv-row .v { font-weight: 700; color: var(--grey-950); text-align: right; }
.inv-kv-row .v.is-strong { font-weight: 800; }
.inv-kv-row .v.is-mono { font-family: var(--font-mono); }
.inv-kv-box.is-sm .inv-kv-row { font-size: 14px; padding: 11px 0; }

.inv-dark-kv { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .14); }
.inv-dark-kv .row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.inv-dark-kv .k { color: var(--grey-300); }
.inv-dark-kv .v { font-weight: 700; color: #fff; white-space: nowrap; }

.inv-figure { font-family: var(--font-display); font-weight: 900; font-size: 34px; letter-spacing: -.6px; line-height: 1; }
.inv-figure.is-sm { font-size: 24px; letter-spacing: 0; }

/* =========================================================
   OBJETIVO (1 de 3)
   ========================================================= */
.inv-goal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.inv-goal-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 14px;
    background: #fff;
    border: 2px solid var(--border-card);
    border-radius: 20px;
    padding: 26px;
    cursor: pointer;
    font-family: var(--font-ui);
    transition: transform .2s, box-shadow .2s;
}
.inv-goal-card:hover { transform: translateY(-3px); }
.inv-goal-card.is-sel { background: var(--raize-yellow-50); border-color: var(--raize-yellow); box-shadow: 0 16px 36px -22px rgba(251, 202, 19, .8); }
.inv-goal-top { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.inv-goal-icon {
    width: 52px;
    height: 52px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 900;
    font-size: 22px;
}
.inv-goal-icon.tone-yellow { background: var(--raize-yellow-150); color: var(--raize-yellow-700); }
.inv-goal-icon.tone-green  { background: var(--green-50); color: var(--green-700); }
.inv-goal-icon.tone-blue   { background: var(--blue-100); color: var(--blue-600); }
.inv-goal-icon.tone-grey   { background: var(--grey-60); color: var(--grey-800); }
.inv-box-check {
    flex: none;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    border: 2px solid var(--grey-300);
    background: #fff;
    color: var(--raize-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
}
.inv-box-check.is-on { border-color: var(--raize-yellow); background: var(--raize-yellow); }
.inv-box-check.is-sm { width: 20px; height: 20px; border-radius: 6px; font-size: 11px; }
.inv-goal-title { font-family: var(--font-display); font-weight: 800; font-size: 20px; color: var(--grey-950); margin-bottom: 6px; }
.inv-goal-desc { font-size: 15px; line-height: 1.55; color: var(--grey-700); }

.inv-esp-panel { background: #fff; border: 1px solid var(--border-card); border-radius: 18px; padding: 24px 26px; margin-top: 16px; }
.inv-esp-title { font-weight: 700; font-size: 16px; color: var(--grey-950); margin-bottom: 12px; }
.inv-esp-title span { font-weight: 500; color: var(--grey-600); }
.inv-esp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.inv-esp-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
    font-family: var(--font-ui);
    padding: 18px;
    border-radius: 16px;
    cursor: pointer;
    border: 2px solid var(--grey-150);
    background: #fff;
    color: var(--grey-950);
}
.inv-esp-card.is-sel { border-color: var(--raize-yellow); background: var(--raize-yellow-50); }
.inv-esp-top { display: flex; align-items: flex-start; justify-content: space-between; width: 100%; }
.inv-esp-emoji { font-size: 32px; line-height: 1; }
.inv-esp-label { font-weight: 700; font-size: 15.5px; color: var(--grey-950); }
.inv-esp-alvo { font-size: 13.5px; font-weight: 600; color: var(--grey-600); white-space: nowrap; }
.inv-esp-outro { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--grey-80); }

.inv-wizard-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 28px; }
.inv-wizard-count { font-size: 14px; font-weight: 600; color: var(--grey-800); }
.inv-wizard-count span { font-weight: 500; color: var(--grey-600); }

/* =========================================================
   SIMULADOR (2 de 3)
   ========================================================= */
.inv-goal-switch { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.inv-goal-total { font-size: 14.5px; color: var(--grey-800); }
.inv-goal-total b { font-family: var(--font-display); font-weight: 900; font-size: 17px; color: var(--grey-950); }

.inv-sim-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 22px; align-items: stretch; }
.inv-sim-controls { background: #fff; border: 1px solid var(--border-card); border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 28px; }
.inv-sim-result { background: var(--raize-ink); border-radius: 20px; padding: 30px; color: #fff; display: flex; flex-direction: column; gap: 22px; overflow: hidden; }
.inv-sim-eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: var(--raize-yellow); margin-bottom: 10px; }
.inv-sim-headline { font-family: var(--font-display); font-weight: 900; font-size: clamp(30px, 3.6vw, 44px); letter-spacing: -1px; line-height: 1.05; }
.inv-sim-sub { font-size: 16px; color: var(--grey-300); margin-top: 8px; }

.inv-chart { position: relative; height: 190px; display: flex; align-items: flex-end; gap: 3px; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.inv-chart-col { flex: 1; height: 100%; position: relative; }
.inv-chart-cap { position: absolute; left: 0; right: 0; bottom: 0; background: var(--raize-yellow); transition: height .35s var(--ease-out); }
.inv-chart-int { position: absolute; left: 0; right: 0; background: #3FC98A; border-radius: 3px 3px 0 0; transition: height .35s var(--ease-out), bottom .35s var(--ease-out); }
.inv-chart-target { position: absolute; left: 0; right: 0; border-top: 2px dashed var(--raize-yellow); z-index: 2; }
.inv-chart-target-label { position: absolute; right: 0; transform: translateY(-100%); font-size: 11.5px; font-weight: 800; color: var(--raize-yellow); padding-bottom: 4px; z-index: 2; }
.inv-chart-axis { display: flex; justify-content: space-between; font-size: 12px; color: var(--grey-500); margin-top: 6px; }
.inv-legend { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 10px; font-size: 13px; color: var(--grey-300); }
.inv-legend span { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.inv-legend i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }

.inv-sim-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.inv-sim-tile { background: rgba(255, 255, 255, .07); border-radius: 14px; padding: 16px 18px; }
.inv-sim-tile .k { font-size: 13px; color: var(--grey-300); margin-bottom: 6px; }
.inv-sim-tile .v { font-family: var(--font-display); font-weight: 900; font-size: 26px; color: #fff; }
.inv-sim-tile .n { font-size: 12.5px; color: var(--grey-500); margin-top: 4px; }
.inv-sim-tile.is-wait { background: #3A2E12; border: 1px solid #6B5415; }
.inv-sim-tile.is-wait .k { color: #F4D35E; }
.inv-sim-tile.is-wait .v { color: var(--raize-yellow); }
.inv-sim-tile.is-wait .n { color: #D8C58A; }

.inv-sim-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.inv-sim-foot .inv-disclaimer { max-width: 640px; }

@media (max-width: 900px) {
    .inv-sim-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .inv-goal-grid,
    .inv-esp-outro,
    .inv-sim-tiles { grid-template-columns: minmax(0, 1fr); }
    .inv-range-head .v { font-size: 32px; }
}

/* =========================================================
   SUGESTÃO (3 de 3)
   ========================================================= */
.inv-sug-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.inv-sug-card { background: #fff; border: 1.5px solid var(--border-card); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 14px 34px -26px rgba(24, 26, 31, .35); }
.inv-sug-card.is-main { border-color: var(--raize-yellow); }
.inv-sug-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.inv-sug-peso { font-family: var(--font-display); font-weight: 900; font-size: 15px; color: var(--grey-600); }
.inv-sug-title { font-family: var(--font-display); font-weight: 800; font-size: 19px; color: var(--grey-950); margin-bottom: 6px; }
.inv-sug-why { font-size: 14.5px; line-height: 1.55; color: var(--grey-700); }
.inv-sug-specs { display: flex; flex-direction: column; gap: 2px; margin-top: auto; }
.inv-sug-spec { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid var(--grey-80); font-size: 14px; }
.inv-sug-spec .k { color: var(--grey-600); }
.inv-sug-spec .v { font-weight: 700; color: var(--grey-950); }
.inv-auto-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; background: #fff; border: 1px solid var(--border-card); border-radius: 18px; padding: 20px 24px; margin-top: 18px; }
.inv-auto-row.is-on { border-color: var(--green-250); background: var(--green-50); }
.inv-auto-text { flex: 1; min-width: 240px; }
.inv-auto-title { font-weight: 700; font-size: 15.5px; color: var(--grey-950); }
.inv-auto-sub { font-size: 14px; color: var(--grey-700); margin-top: 2px; }
.inv-plain-link { font-weight: 700; font-size: 15.5px; color: var(--grey-800); text-decoration: underline; padding: 10px 4px; }
@media (max-width: 900px) { .inv-sug-grid { grid-template-columns: minmax(0, 1fr); } }

/* =========================================================
   INVESTIMENTO AUTOMÁTICO (tracker)
   ========================================================= */
.inv-steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.inv-step { background: var(--grey-40); border-radius: 16px; padding: 20px; }
.inv-step-n { width: 36px; height: 36px; border-radius: 10px; background: var(--raize-yellow); color: var(--raize-ink); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 900; font-size: 16px; margin-bottom: 14px; }
.inv-step-t { font-weight: 700; font-size: 16px; color: var(--grey-950); margin-bottom: 6px; }
.inv-step-d { font-size: 14.5px; line-height: 1.6; color: var(--grey-700); }
.inv-divider-block { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--grey-80); }

.inv-flow { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.inv-flow-arrow { font-size: 22px; color: var(--grey-500); }
.inv-flow-tile { border-radius: 14px; padding: 14px 18px; }
.inv-flow-tile .k { font-size: 12px; }
.inv-flow-tile .v { font-family: var(--font-display); font-weight: 900; font-size: 22px; color: var(--grey-950); }
.inv-flow-tile.is-dark { background: var(--raize-ink); color: #fff; }
.inv-flow-tile.is-dark .k { color: var(--grey-300); }
.inv-flow-tile.is-dark .v { color: var(--raize-yellow); }
.inv-flow-tile.is-gold { background: var(--raize-yellow-50); border: 1px solid var(--raize-yellow-300); }
.inv-flow-tile.is-gold .k { color: var(--raize-yellow-800); }
.inv-flow-tile.is-green { background: var(--green-50); border: 1px solid var(--green-250); }
.inv-flow-tile.is-green .k { color: var(--green-700); }

.inv-stackbar-title { font-size: 14.5px; font-weight: 700; color: var(--grey-950); margin-bottom: 10px; }
.inv-stackbar { display: flex; height: 40px; border-radius: 10px; overflow: hidden; gap: 2px; }
.inv-stackbar > div { display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: 13px; white-space: nowrap; overflow: hidden; }
.inv-legend-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px 18px; margin-top: 12px; }
.inv-legend-item { display: flex; align-items: center; gap: 9px; min-width: 0; }
.inv-legend-item i { flex: none; width: 12px; height: 12px; border-radius: 3px; }
.inv-legend-item .l { flex: 1; min-width: 0; font-size: 13.5px; line-height: 1.35; color: var(--grey-800); }
.inv-legend-item .v { flex: none; font-size: 13.5px; font-weight: 700; color: var(--grey-950); }

.inv-ticks { display: flex; flex-direction: column; gap: 12px; }
.inv-tick { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.6; color: var(--grey-800); }
.inv-tick-mark { flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--green-150); color: var(--green-700); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; margin-top: 1px; }

.inv-goodtoknow { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.inv-goodtoknow .t { font-weight: 700; font-size: 15px; color: var(--grey-950); margin-bottom: 5px; }
.inv-goodtoknow .d { font-size: 14.5px; line-height: 1.6; color: var(--grey-700); }
.inv-goodtoknow-links { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 1px solid #E1E3E8; }

.inv-panel { background: #fff; border: 1.5px solid var(--raize-yellow); border-radius: 20px; padding: 26px; box-shadow: 0 18px 40px -28px rgba(24, 26, 31, .4); }
.inv-panel.is-active { border-color: var(--green-250); }
.inv-panel.is-error { border-color: #F1C4BA; }
.inv-panel-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.inv-panel-row .k { font-size: 14.5px; font-weight: 700; color: var(--grey-800); }
.inv-terms { max-height: 180px; overflow-y: auto; background: var(--grey-40); border-radius: 12px; padding: 12px 14px; font-size: 12.5px; line-height: 1.55; color: var(--grey-700); white-space: pre-line; margin-bottom: 14px; }

.inv-portfolio-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid #F5F6F7; }
.inv-portfolio-row:last-child { border-bottom: none; }
.inv-row-title { font-size: 14.5px; font-weight: 600; color: var(--grey-950); }
.inv-row-sub { font-size: 13px; color: var(--grey-600); margin-top: 2px; }
.inv-row-end { display: flex; align-items: center; gap: 12px; }
.inv-row-amount { font-weight: 700; font-size: 15px; color: var(--grey-950); white-space: nowrap; }

/* =========================================================
   TRANSFERIR PARA O BANCO (levantar) + EXTRATO
   ========================================================= */
.inv-bank-box { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border: 1.5px solid var(--green-250); background: var(--green-50); border-radius: 14px; padding: 16px 18px; }
.inv-bank-box .who { font-weight: 700; font-size: 15.5px; color: var(--grey-950); }
.inv-bank-box .iban { font-family: var(--font-mono); font-size: 14px; color: var(--grey-800); margin-top: 2px; }
.inv-bank-box .grow { flex: 1; min-width: 200px; }

.inv-timeline { display: flex; flex-direction: column; }
.inv-tl-item { display: flex; gap: 14px; }
.inv-tl-rail { display: flex; flex-direction: column; align-items: center; }
.inv-tl-dot { flex: none; width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--grey-200); background: #fff; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; }
.inv-tl-dot.is-done { background: var(--green-700); border-color: var(--green-700); }
.inv-tl-dot.is-now { background: var(--raize-yellow); border-color: var(--raize-yellow); }
.inv-tl-line { flex: 1; width: 2px; background: var(--grey-150); min-height: 22px; }
.inv-tl-body { padding-bottom: 18px; }
.inv-tl-t { font-weight: 700; font-size: 15px; color: var(--grey-950); }
.inv-tl-t.is-muted { color: var(--grey-600); }
.inv-tl-d { font-size: 13.5px; color: var(--grey-600); margin-top: 2px; }
.inv-done-head { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.inv-done-mark { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--green-150); color: var(--green-700); display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 800; }
.inv-done-mark.is-center { margin: 0 auto 16px; width: 60px; height: 60px; font-size: 26px; }
.inv-done-title { font-family: var(--font-display); font-weight: 900; font-size: 22px; color: var(--grey-950); }
.inv-done-sub { font-size: 14.5px; color: var(--grey-700); margin-top: 3px; }

.inv-info-list { display: flex; flex-direction: column; gap: 14px; }
.inv-info-list .t { font-size: 14px; font-weight: 700; color: var(--grey-950); }
.inv-info-list .d { font-size: 13.5px; line-height: 1.55; color: var(--grey-700); margin-top: 2px; }

.inv-filters { display: flex; flex-direction: column; gap: 16px; }
.inv-filter-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.inv-filter-label { flex: none; width: 80px; font-size: 13.5px; font-weight: 700; color: var(--grey-600); }
.inv-filter-label.is-stacked { width: 64px; }
.inv-filter-label.is-stacked b { display: block; font-size: 14px; font-weight: 800; color: var(--grey-950); }
.inv-filter-label.is-stacked span { display: block; font-size: 12px; font-weight: 400; color: var(--grey-600); }
.inv-filter-indent { padding-left: 94px; }
@media (max-width: 640px) { .inv-filter-indent { padding-left: 0; } }

.inv-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.inv-summary { background: #fff; border: 1px solid var(--border-card); border-radius: 16px; padding: 18px 20px; }
.inv-summary .k { font-size: 13.5px; color: var(--grey-600); margin-bottom: 6px; }
.inv-summary .v { font-family: var(--font-display); font-weight: 900; font-size: 24px; color: var(--grey-950); }

.inv-table { width: 100%; }
.inv-trow { display: grid; gap: 12px; align-items: center; padding: 14px 22px; border-bottom: 1px solid #F5F6F7; font-size: 14.5px; }
.inv-trow.is-head { background: var(--grey-40); border-bottom-color: var(--grey-90); font-size: 12.5px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--grey-600); }
.inv-trow .num { text-align: right; white-space: nowrap; }
.inv-trow .mono { font-family: var(--font-mono); font-size: 13.5px; font-weight: 600; color: var(--grey-950); overflow: hidden; text-overflow: ellipsis; }
.inv-trow .muted { color: var(--grey-600); }
.inv-trow .strong { font-weight: 800; color: var(--grey-950); }
.inv-cols-wd { grid-template-columns: 110px minmax(0, 1.3fr) minmax(0, 1fr) 150px 120px; }
.inv-cols-mv { grid-template-columns: 110px minmax(0, 2fr) minmax(0, 1fr) 120px 120px; }
.inv-cols-port { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) 90px 110px 120px; }
@media (max-width: 860px) {
    .inv-table-scroll { overflow-x: auto; }
    .inv-table-scroll .inv-trow { min-width: 720px; }
}
.inv-empty { padding: 40px 22px; text-align: center; }
.inv-empty-t { font-weight: 700; font-size: 16px; color: var(--grey-950); margin-bottom: 6px; }
.inv-empty-d { font-size: 14px; color: var(--grey-600); margin-bottom: 14px; }
.inv-empty.is-dashed { grid-column: 1 / -1; background: #fff; border: 1px dashed var(--grey-200); border-radius: 18px; padding: 36px 24px; }

.inv-tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid var(--border-card); margin-bottom: 20px; }
.inv-tab {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 16px;
    padding: 14px 18px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    color: var(--grey-600);
    cursor: pointer;
    margin-bottom: -1px;
    white-space: nowrap;
    text-decoration: none;
}
.inv-tab.is-on { font-weight: 800; border-bottom-color: var(--raize-yellow); color: var(--grey-950); }
.inv-tab-count { font-size: 12.5px; font-weight: 800; color: var(--grey-600); background: var(--grey-60); padding: 2px 8px; border-radius: 100px; }
.inv-tab.is-on .inv-tab-count { color: var(--raize-ink); background: var(--raize-yellow); }
.inv-tabs.is-fill { display: flex; background: #fff; margin-bottom: 0; position: sticky; top: 0; z-index: 2; }
.inv-tabs.is-fill .inv-tab { flex: 1; justify-content: center; font-size: 15px; padding: 16px 10px; }

/* =========================================================
   REFORÇAR SALDO + IBAN
   ========================================================= */
.inv-compare-wrap { overflow-x: auto; }
.inv-compare { display: grid; grid-template-columns: 160px repeat(4, minmax(140px, 1fr)); min-width: 720px; }
.inv-compare > div { padding: 16px 12px; border-top: 1px solid var(--grey-80); text-align: center; font-size: 14.5px; color: var(--grey-800); }
.inv-compare > .h { border-top: none; background: var(--grey-40); border-radius: 10px 10px 0 0; font-family: var(--font-display); font-weight: 800; color: var(--grey-950); padding: 14px 12px; }
.inv-compare > .h.blank { background: none; }
.inv-compare > .rl { text-align: left; font-weight: 700; color: var(--grey-950); }
.inv-compare > .cost { font-weight: 700; color: var(--green-700); }
.inv-compare > .ideal { font-size: 13.5px; line-height: 1.5; color: var(--grey-600); }
.inv-compare .inv-btn { font-size: 14.5px; padding: 12px 18px; border-radius: 10px; box-shadow: none; border: 1.5px solid var(--raize-yellow); }
.inv-compare .inv-btn.is-picked { background: var(--raize-ink); border-color: var(--raize-ink); color: #fff; }

.inv-ref-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.inv-ref { background: var(--grey-40); border-radius: 12px; padding: 18px 20px; }
.inv-ref .k { font-size: 13px; font-weight: 600; color: var(--grey-600); margin-bottom: 6px; }
.inv-ref .v { font-family: var(--font-display); font-weight: 900; font-size: 21px; color: var(--grey-950); }
@media (max-width: 640px) { .inv-ref-grid { grid-template-columns: minmax(0, 1fr); } }

.inv-iban-box { background: var(--blue-100); border-radius: 12px; padding: 18px 20px; margin-bottom: 12px; }
.inv-iban-box.is-soft { background: var(--blue-50); }
.inv-iban-box .k { font-size: 13px; font-weight: 600; color: #2B3A58; margin-bottom: 5px; }
.inv-iban-box .v { font-family: var(--font-display); font-weight: 800; font-size: 19px; color: var(--grey-950); letter-spacing: .5px; word-break: break-all; }
.inv-prose { display: flex; flex-direction: column; gap: 14px; }
.inv-prose p { font-size: 14.5px; line-height: 1.65; color: var(--grey-800); margin: 0; }
.inv-prose b { color: var(--grey-950); }

.inv-upload {
    width: 100%;
    border: 2px dashed var(--grey-200);
    background: var(--grey-20);
    border-radius: 14px;
    padding: 30px 18px;
    text-align: center;
    cursor: pointer;
    font-family: var(--font-ui);
    position: relative;
}
.inv-upload.is-gold { border-color: var(--raize-yellow-400); background: #fff; padding: 18px; border-radius: 12px; }
.inv-upload input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.inv-upload .t { font-weight: 700; font-size: 15.5px; color: var(--grey-950); margin-bottom: 4px; }
.inv-upload .d { font-size: 13.5px; color: var(--grey-600); }
.inv-file-row { display: flex; align-items: center; gap: 11px; background: #fff; border: 1px solid var(--grey-150); border-radius: 11px; padding: 12px 14px; }

.inv-blocked { max-width: 640px; margin: 40px auto; text-align: center; background: #fff; border: 1px solid var(--border-card); border-radius: 18px; padding: 40px 32px; }
.inv-blocked-mark { width: 56px; height: 56px; border-radius: 50%; background: var(--raize-yellow-100); color: var(--raize-yellow-800); display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 800; margin: 0 auto 16px; }
.inv-blocked-t { font-family: var(--font-display); font-weight: 900; font-size: 22px; color: var(--grey-950); margin-bottom: 8px; }
.inv-blocked p { font-size: 15.5px; line-height: 1.6; color: var(--grey-700); margin: 0 0 24px; }

.inv-stepper-dots { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.inv-stepper-dot { display: flex; align-items: center; gap: 8px; }
.inv-stepper-dot .d { flex: none; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--grey-200); background: #fff; color: var(--grey-600); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.inv-stepper-dot .l { font-size: 14px; font-weight: 600; color: var(--grey-600); white-space: nowrap; }
.inv-stepper-dot.is-done .d { background: var(--green-700); border-color: var(--green-700); color: #fff; }
.inv-stepper-dot.is-now .d { background: var(--raize-yellow); border-color: var(--raize-yellow); color: var(--raize-ink); }
.inv-stepper-dot.is-now .l { font-weight: 800; color: var(--grey-950); }
.inv-stepper-dot .line { width: 22px; height: 1.5px; background: var(--grey-200); }

.inv-method { display: flex; gap: 14px; align-items: flex-start; text-align: left; width: 100%; background: #fff; border: 1.5px solid var(--grey-150); border-radius: 14px; padding: 18px 20px; cursor: pointer; font-family: var(--font-ui); }
.inv-method.is-sel { background: var(--raize-yellow-50); border-color: var(--raize-yellow); }
.inv-method .radio { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--grey-300); background: #fff; margin-top: 2px; box-shadow: inset 0 0 0 3px #fff; }
.inv-method.is-sel .radio { border-color: var(--raize-yellow); background: var(--raize-yellow); }
.inv-method .t { font-weight: 700; font-size: 16px; color: var(--grey-950); }
.inv-method .d { display: block; font-size: 14.5px; line-height: 1.55; color: var(--grey-700); }
.inv-method .m { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--grey-600); }

/* =========================================================
   MARKETPLACE
   ========================================================= */
.inv-balance-pill { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--border-card); border-radius: 100px; padding: 9px 16px; }
.inv-balance-pill .k { font-size: 13.5px; color: var(--grey-600); }
.inv-balance-pill .v { font-family: var(--font-display); font-weight: 900; font-size: 16px; color: var(--grey-950); }

.inv-howto { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 14px; max-width: 880px; }
.inv-howto-item { display: flex; gap: 11px; align-items: flex-start; background: #fff; border: 1px solid var(--border-card); border-radius: 14px; padding: 14px 16px; }
.inv-howto-n { flex: none; width: 28px; height: 28px; border-radius: 8px; background: var(--raize-yellow); color: var(--raize-ink); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 900; font-size: 13px; }
.inv-howto-t { font-weight: 700; font-size: 14.5px; color: var(--grey-950); }
.inv-howto-d { font-size: 13.5px; line-height: 1.5; color: var(--grey-600); margin-top: 3px; }
.inv-sec-title { font-family: var(--font-display); font-weight: 800; font-size: 21px; color: var(--grey-950); margin: 0; }
.inv-sec-text { font-size: 15.5px; line-height: 1.6; color: var(--grey-700); margin: 6px 0 0; max-width: 720px; }

.inv-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.inv-sort { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--grey-600); }

.inv-filter-card { background: #fff; border: 1px solid var(--border-card); border-radius: 16px; padding: 16px 20px; margin-bottom: 20px; display: flex; flex-direction: column; gap: 14px; }
.inv-filter-card .inv-filter-row { gap: 10px 14px; }
.inv-filter-foot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--grey-80); font-size: 14px; color: var(--grey-800); }
.inv-risk-info { background: var(--grey-40); border-radius: 14px; padding: 18px 20px; }
.inv-risk-info p { font-size: 14.5px; line-height: 1.6; color: var(--grey-800); margin: 0 0 14px; }
.inv-risk-scale { display: flex; height: 8px; border-radius: 100px; overflow: hidden; margin-bottom: 6px; }
.inv-risk-scale span { flex: 1; }
.inv-risk-ends { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; color: var(--grey-600); margin-bottom: 14px; }
.inv-risk-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.inv-risk-card { background: #fff; border: 1px solid var(--border-card); border-radius: 12px; padding: 14px 16px; }
.inv-risk-head { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; }
.inv-risk-badge { flex: none; min-width: 34px; height: 26px; padding: 0 8px; border-radius: 8px; color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 900; font-size: 14px; }
.inv-risk-t { font-weight: 800; font-size: 14.5px; color: var(--grey-950); }
.inv-risk-d { font-size: 13.5px; line-height: 1.5; color: var(--grey-700); }
.inv-info-btn { display: flex; align-items: center; gap: 7px; background: none; border: none; font-family: var(--font-ui); font-weight: 700; font-size: 14px; color: var(--blue-600); cursor: pointer; padding: 6px 2px; white-space: nowrap; }
.inv-info-btn i { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--blue-600); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; font-style: normal; }

.inv-market-body { display: flex; flex-wrap: wrap-reverse; gap: 22px; align-items: flex-start; }
.inv-prod-grid { flex: 999 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.inv-prod { background: #fff; border: 1.5px solid var(--border-card); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 14px; transition: box-shadow .2s; overflow: hidden; }
.inv-prod:hover { box-shadow: 0 16px 36px -24px rgba(24, 26, 31, .4); }
.inv-prod.is-in-cart { border-color: var(--raize-yellow); }
.inv-prod-head { display: flex; align-items: center; justify-content: space-between; gap: 6px 8px; flex-wrap: wrap; }
.inv-prod-seal { font-size: 12px; font-weight: 800; color: var(--grey-800); background: var(--grey-60); padding: 4px 9px; border-radius: 100px; white-space: nowrap; }
.inv-prod-name { font-family: var(--font-display); font-weight: 800; font-size: 17px; color: var(--grey-950); line-height: 1.25; cursor: pointer; text-decoration: none; display: block; }
.inv-prod-name:hover { color: var(--grey-950); text-decoration: underline; }
.inv-prod-sub { font-size: 13.5px; color: var(--grey-600); margin-top: 4px; }
.inv-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.inv-metric { background: var(--grey-40); border-radius: 10px; padding: 9px 10px; }
.inv-metric .k { font-size: 11.5px; color: var(--grey-600); }
.inv-metric .v { font-weight: 800; font-size: 14.5px; color: var(--grey-950); white-space: nowrap; }
.inv-progress { height: 7px; border-radius: 100px; background: var(--grey-90); overflow: hidden; }
.inv-progress > div { height: 100%; background: var(--raize-yellow); }
.inv-progress-meta { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--grey-600); margin-top: 6px; }
.inv-prod-actions { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.inv-qty { display: flex; align-items: center; border: 1.5px solid var(--grey-150); border-radius: 10px; overflow: hidden; }
.inv-qty button { width: 34px; height: 40px; background: #fff; border: none; font-size: 17px; font-weight: 700; cursor: pointer; color: var(--grey-800); }
.inv-qty span { min-width: 58px; text-align: center; font-weight: 800; font-size: 14.5px; color: var(--grey-950); }
.inv-prod-btn { flex: 1; background: var(--raize-yellow); color: var(--raize-ink); font-family: var(--font-ui); font-weight: 800; font-size: 14.5px; padding: 11px 12px; border: none; border-radius: 10px; cursor: pointer; white-space: nowrap; text-align: center; text-decoration: none; }
.inv-prod-btn:hover { color: var(--raize-ink); filter: brightness(1.03); }
.inv-prod-btn.is-in { background: var(--green-50); color: var(--green-700); }
.inv-prod-foot { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; }
.inv-prod-foot a { font-weight: 700; }
.inv-prod-foot span { color: var(--grey-600); }

.inv-cart { flex: 1 1 300px; max-width: 100%; position: sticky; top: 96px; background: #fff; border: 1.5px solid var(--border-card); border-radius: 20px; padding: 22px; box-shadow: 0 18px 40px -28px rgba(24, 26, 31, .4); }
.inv-cart.has-items { border-color: var(--raize-yellow); }
.inv-cart-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.inv-cart-title { font-family: var(--font-display); font-weight: 800; font-size: 17px; color: var(--grey-950); }
.inv-cart-count { font-size: 13px; font-weight: 800; color: var(--raize-ink); background: var(--raize-yellow); padding: 3px 10px; border-radius: 100px; }
.inv-cart-empty { font-size: 14px; line-height: 1.55; color: var(--grey-600); background: var(--grey-40); border-radius: 12px; padding: 16px; margin: 0; }
.inv-cart-item { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--grey-80); }
.inv-cart-item .n { font-size: 14px; font-weight: 700; color: var(--grey-950); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv-cart-item .t { font-size: 12.5px; color: var(--grey-600); }
.inv-cart-item .v { font-weight: 800; font-size: 14.5px; color: var(--grey-950); white-space: nowrap; }
.inv-cart-item .x { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--grey-60); border: none; cursor: pointer; font-size: 13px; color: var(--grey-600); }
.inv-cart-item .err { font-size: 12px; font-weight: 600; color: #A23B2A; }
.inv-cart-totals { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 16px; }
.inv-cart-totals .row { display: flex; justify-content: space-between; font-size: 14px; }
.inv-cart-totals .k { color: var(--grey-600); }
.inv-cart-totals .total { font-family: var(--font-display); font-weight: 900; font-size: 20px; color: var(--grey-950); }
.inv-cart-totals .after { font-weight: 700; color: var(--grey-950); }
.inv-cart-totals .after.is-neg { color: #A23B2A; }

/* detail page (dark hero + tabs) */
.inv-det { background: var(--grey-40); border-radius: 20px; overflow: hidden; border: 1px solid var(--border-card); }
.inv-det-hero { background: var(--raize-ink); color: #fff; padding: 24px 28px 22px; }
.inv-det-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.inv-det-name { font-family: var(--font-display); font-weight: 900; font-size: clamp(22px, 2.6vw, 28px); letter-spacing: -.5px; line-height: 1.15; }
.inv-det-sub { font-size: 14.5px; color: var(--grey-300); margin-top: 4px; }
.inv-det-top { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.inv-det-top > div { background: rgba(255, 255, 255, .07); border-radius: 12px; padding: 12px 14px; }
.inv-det-top .k { font-size: 12.5px; color: var(--grey-300); }
.inv-det-top .v { font-family: var(--font-display); font-weight: 800; font-size: 18px; color: #fff; margin-top: 3px; white-space: nowrap; }
.inv-det-top .v.is-accent { color: var(--raize-yellow); }
.inv-det-bar { display: flex; height: 10px; border-radius: 100px; overflow: hidden; background: rgba(255, 255, 255, .12); margin-top: 18px; }
.inv-det-bar > div { background: var(--raize-yellow); }
.inv-det-bar-meta { display: flex; gap: 8px 18px; flex-wrap: wrap; margin-top: 10px; font-size: 13px; color: var(--grey-300); }
.inv-det-bar-meta b { color: #fff; }
.inv-det-close { flex: none; white-space: nowrap; display: flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, .1); border: none; color: #fff; font-family: var(--font-ui); font-weight: 700; font-size: 14px; padding: 8px 14px; border-radius: 100px; cursor: pointer; text-decoration: none; }
.inv-det-close:hover { color: #fff; background: rgba(255, 255, 255, .16); }
.inv-det-body { padding: 22px 28px 36px; display: flex; flex-direction: column; gap: 14px; }
.inv-det-card { background: #fff; border: 1px solid var(--border-card); border-radius: 16px; padding: 20px 22px; }
.inv-det-card.is-flush { padding: 20px 0 6px; }
.inv-det-card-t { font-family: var(--font-display); font-weight: 800; font-size: 16.5px; color: var(--grey-950); margin-bottom: 8px; }
.inv-det-card p { font-size: 15px; line-height: 1.6; color: var(--grey-800); margin: 0; }
.inv-det-nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.inv-det-num { background: #fff; border: 1px solid var(--border-card); border-radius: 16px; padding: 16px 18px; }
.inv-det-num .k { font-size: 13px; color: var(--grey-600); }
.inv-det-num .v { font-family: var(--font-display); font-weight: 900; font-size: 21px; color: var(--grey-950); margin-top: 4px; }
.inv-det-num .n { font-size: 12.5px; line-height: 1.45; color: var(--grey-600); margin-top: 4px; }
.inv-plan { display: flex; gap: 6px; margin: 6px 0 12px; }
.inv-plan > div { flex: 1; min-width: 0; text-align: center; }
.inv-plan .b { height: 34px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; }
.inv-plan .b.is-cj { background: var(--raize-yellow); color: var(--raize-ink); }
.inv-plan .b.is-j { background: var(--raize-yellow-100); color: var(--raize-yellow-800); }
.inv-plan .m { font-size: 11px; color: var(--grey-600); margin-top: 4px; }
.inv-sim-dark { background: var(--raize-ink); color: #fff; border-radius: 16px; padding: 20px 22px; }
.inv-sim-dark-row { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.inv-sim-dark-row .k { font-size: 14.5px; color: #fff; }
.inv-sim-dark-row .n { font-size: 12.5px; color: #9EA3AB; margin-top: 1px; }
.inv-sim-dark-row .v { font-family: var(--font-display); font-weight: 700; font-size: 15px; white-space: nowrap; }
.inv-sim-dark-row .v.is-accent { font-weight: 800; font-size: 16px; color: var(--raize-yellow); }
.inv-sim-dark-row .v.is-total { font-weight: 900; font-size: 19px; }
.inv-dot-ok { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--grey-600); padding: 0 4px; }
.inv-dot-ok i { width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); }
.inv-orders-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 140px 100px; gap: 10px; align-items: center; padding: 12px 22px; border-bottom: 1px solid #F5F6F7; font-size: 14px; }
@media (max-width: 720px) {
    .inv-det-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inv-det-hero, .inv-det-body { padding-left: 18px; padding-right: 18px; }
    .inv-orders-row { grid-template-columns: minmax(0, 1fr) 100px; }
    .inv-orders-row .hide-sm { display: none; }
}

/* =========================================================
   CARTEIRA (my-investments)
   ========================================================= */
.inv-wallet-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr); gap: 16px; }
.inv-wallet-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.inv-pos-row { display: grid; grid-template-columns: minmax(0, 1.6fr) 120px 80px 70px 130px 80px; gap: 12px; align-items: center; padding: 14px 22px; border-bottom: 1px solid #F5F6F7; font-size: 14.5px; }
.inv-pos-row.is-head { background: var(--grey-40); font-size: 12.5px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--grey-600); }
.inv-pos-row .num { text-align: right; white-space: nowrap; }
.inv-pos-name { font-weight: 700; color: var(--grey-950); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inv-pos-sub { font-size: 12.5px; color: var(--grey-600); font-family: var(--font-mono); }
.inv-risk-chip { display: inline-flex; min-width: 30px; height: 24px; padding: 0 8px; border-radius: 7px; align-items: center; justify-content: center; color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 12.5px; background: var(--grey-500); }
@media (max-width: 900px) {
    .inv-wallet-hero { grid-template-columns: minmax(0, 1fr); }
    .inv-pos-scroll { overflow-x: auto; }
    .inv-pos-scroll .inv-pos-row { min-width: 760px; }
}
@media (max-width: 560px) { .inv-wallet-tiles { grid-template-columns: minmax(0, 1fr); } }
.inv-orders-row .num { text-align: right; white-space: nowrap; }

/* ---------- phone / tablet ---------- */
@media (max-width: 900px) {
    .inv-sticky,
    .inv-cart { position: static; }
}
@media (max-width: 560px) {
    .inv-card { padding: 22px; }
    .inv-card.is-flush { padding: 0; }
    .inv-panel { padding: 22px; }
    .inv-sim-controls,
    .inv-sim-result { padding: 22px; }
    .inv-btn { padding: 15px 22px; font-size: 15.5px; white-space: normal; text-align: center; }
    .inv-actions .inv-btn { flex: 1 1 auto; }
    .inv-filter-label { width: 100%; }
    .inv-tab { padding: 12px 12px; font-size: 15px; }
}
