:root {
    --tvx-bg: #0b0e11;
    --tvx-panel: #181a20;
    --tvx-panel-2: #1e2329;
    --tvx-panel-3: #202630;
    --tvx-line: #2b3139;
    --tvx-line-2: #343b44;
    --tvx-text: #eaecef;
    --tvx-muted: #848e9c;
    --tvx-yellow: #f0b90b;
    --tvx-yellow-2: #fcd535;
    --tvx-green: #0ecb81;
    --tvx-red: #f6465d;
    --tvx-blue: #2b7cff;
}

.tvx-account-ui {
    background: var(--tvx-bg) !important;
    color: var(--tvx-text);
}

.tvx-account-ui * {
    scrollbar-color: #474d57 #181a20;
    scrollbar-width: thin;
}

.tvx-account-ui *::-webkit-scrollbar { width: 7px; height: 7px; }
.tvx-account-ui *::-webkit-scrollbar-track { background: #181a20; }
.tvx-account-ui *::-webkit-scrollbar-thumb { background: #474d57; border-radius: 999px; }

.tvx-page {
    width: 100%;
    padding: 18px 0 104px;
}

.tvx-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.tvx-page-title {
    margin: 0;
    color: var(--tvx-text);
    font-size: clamp(26px, 3.4vw, 38px);
    line-height: 1.12;
    font-weight: 750;
    letter-spacing: -.03em;
}

.tvx-page-subtitle {
    margin: 7px 0 0;
    color: var(--tvx-muted);
    font-size: 14px;
    line-height: 1.55;
}

.tvx-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--tvx-yellow-2);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 9px;
}

.tvx-card {
    background: var(--tvx-panel);
    border: 1px solid var(--tvx-line);
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .16);
}

.tvx-card-soft {
    background: var(--tvx-panel-2);
    border: 1px solid var(--tvx-line);
    border-radius: 14px;
}

.tvx-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(20px, 4vw, 34px);
    border-radius: 22px;
    background:
        radial-gradient(circle at 88% 15%, rgba(240,185,11,.18), transparent 31%),
        radial-gradient(circle at 10% 95%, rgba(14,203,129,.08), transparent 28%),
        linear-gradient(145deg, #1c2026, #15181d 72%);
    border: 1px solid #323842;
    box-shadow: 0 20px 55px rgba(0,0,0,.22);
}

.tvx-hero::after {
    content: '';
    position: absolute;
    right: -75px;
    top: -75px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(240,185,11,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(240,185,11,.025), 0 0 0 68px rgba(240,185,11,.018);
    pointer-events: none;
}

.tvx-hero-content { position: relative; z-index: 1; }

.tvx-hero-title {
    margin: 0;
    max-width: 680px;
    color: #fff;
    font-size: clamp(25px, 4vw, 42px);
    line-height: 1.12;
    font-weight: 780;
    letter-spacing: -.035em;
}

.tvx-hero-copy {
    max-width: 670px;
    margin: 10px 0 0;
    color: #a7afb9;
    font-size: 14px;
    line-height: 1.65;
}

.tvx-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.tvx-stat {
    min-width: 0;
    padding: 15px;
    border-radius: 13px;
    background: rgba(24,26,32,.72);
    border: 1px solid rgba(71,77,87,.7);
}

.tvx-stat-label {
    color: var(--tvx-muted);
    font-size: 11px;
    line-height: 1.35;
}

.tvx-stat-value {
    margin-top: 7px;
    color: #fff;
    font-size: clamp(17px, 2vw, 24px);
    line-height: 1.15;
    font-weight: 700;
    word-break: break-word;
}

.tvx-stat-value.yellow { color: var(--tvx-yellow-2); }
.tvx-stat-value.green { color: var(--tvx-green); }
.tvx-stat-meta { margin-top: 5px; color: #626b77; font-size: 10px; }

.tvx-section {
    margin-top: 22px;
}

.tvx-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.tvx-section-title {
    margin: 0;
    color: #fff;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 700;
}

.tvx-section-copy { color: var(--tvx-muted); font-size: 12px; }

.tvx-btn {
    min-height: 42px;
    border: 0;
    border-radius: 9px;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
    cursor: pointer;
}

.tvx-btn:active { transform: scale(.985); }
.tvx-btn-primary { background: var(--tvx-yellow-2); color: #181a20 !important; }
.tvx-btn-primary:hover { background: #f8d12f; color: #181a20 !important; }
.tvx-btn-secondary { background: #2b3139; color: #eaecef !important; border: 1px solid #3a424c; }
.tvx-btn-secondary:hover { background: #343b44; color: #fff !important; }
.tvx-btn-ghost { background: transparent; color: #eaecef !important; border: 1px solid var(--tvx-line-2); }
.tvx-btn-ghost:hover { border-color: #5e6672; background: rgba(255,255,255,.025); }
.tvx-btn-danger { background: rgba(246,70,93,.12); color: #ff7185 !important; border: 1px solid rgba(246,70,93,.26); }
.tvx-btn-sm { min-height: 34px; padding: 8px 12px; font-size: 12px; }
.tvx-btn-block { width: 100%; }

.tvx-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 5px;
    background: #14171b;
    border: 1px solid var(--tvx-line);
    border-radius: 13px;
    -webkit-overflow-scrolling: touch;
}

.tvx-tab {
    min-height: 36px;
    padding: 8px 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 9px;
    color: var(--tvx-muted) !important;
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
    text-decoration: none !important;
}

.tvx-tab:hover { color: #fff !important; background: rgba(255,255,255,.03); }
.tvx-tab.active { color: #181a20 !important; background: var(--tvx-yellow-2); }

.tvx-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.tvx-product {
    position: relative;
    overflow: hidden;
    padding: 18px;
    display: flex;
    flex-direction: column;
    min-height: 264px;
    background: var(--tvx-panel);
    border: 1px solid var(--tvx-line);
    border-radius: 16px;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.tvx-product:hover {
    transform: translateY(-2px);
    border-color: rgba(240,185,11,.43);
    box-shadow: 0 17px 42px rgba(0,0,0,.22);
}

.tvx-product-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tvx-token {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.tvx-token-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2b3139;
    border: 1px solid #434a54;
    color: var(--tvx-yellow-2);
    font-size: 18px;
    font-weight: 800;
}

.tvx-token-icon img { width: 100%; height: 100%; object-fit: cover; }
.tvx-token-name { color: #fff; font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tvx-token-code { margin-top: 2px; color: var(--tvx-muted); font-size: 11px; }

.tvx-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
}

.tvx-badge-yellow { color: #fcd535; background: rgba(240,185,11,.11); border: 1px solid rgba(240,185,11,.24); }
.tvx-badge-green { color: #27d897; background: rgba(14,203,129,.11); border: 1px solid rgba(14,203,129,.24); }
.tvx-badge-red { color: #ff7185; background: rgba(246,70,93,.11); border: 1px solid rgba(246,70,93,.24); }
.tvx-badge-gray { color: #aeb5bf; background: rgba(132,142,156,.1); border: 1px solid rgba(132,142,156,.2); }

.tvx-yield {
    margin-top: 22px;
}

.tvx-yield-value {
    color: var(--tvx-green);
    font-size: 29px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -.025em;
}

.tvx-yield-label { margin-top: 7px; color: var(--tvx-muted); font-size: 11px; }

.tvx-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-top: 1px solid rgba(43,49,57,.9);
    font-size: 12px;
}
.tvx-detail-row:first-child { border-top: 0; }
.tvx-detail-key { color: var(--tvx-muted); }
.tvx-detail-value { color: #eaecef; font-weight: 650; text-align: right; }

.tvx-product-actions { margin-top: auto; padding-top: 16px; }

.tvx-list {
    display: grid;
    gap: 11px;
}

.tvx-list-card {
    padding: 16px;
    background: var(--tvx-panel);
    border: 1px solid var(--tvx-line);
    border-radius: 15px;
}

.tvx-list-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.tvx-list-title { color: #fff; font-size: 15px; line-height: 1.35; font-weight: 700; }
.tvx-list-subtitle { margin-top: 4px; color: var(--tvx-muted); font-size: 11px; line-height: 1.45; }

.tvx-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 8px;
    margin-top: 14px;
}

.tvx-metric {
    padding: 10px;
    border-radius: 10px;
    background: #121519;
    border: 1px solid #272d34;
}

.tvx-metric-label { color: var(--tvx-muted); font-size: 10px; }
.tvx-metric-value { margin-top: 5px; color: #fff; font-size: 12px; font-weight: 650; word-break: break-word; }
.tvx-metric-value.green { color: var(--tvx-green); }
.tvx-metric-value.yellow { color: var(--tvx-yellow-2); }
.tvx-metric-value.red { color: var(--tvx-red); }

.tvx-progress {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: #2b3139;
}
.tvx-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--tvx-yellow), var(--tvx-yellow-2)); }

.tvx-filter {
    display: grid;
    grid-template-columns: minmax(170px, 1.5fr) repeat(3, minmax(130px, .7fr)) auto;
    gap: 10px;
    padding: 14px;
    margin-bottom: 14px;
    background: var(--tvx-panel);
    border: 1px solid var(--tvx-line);
    border-radius: 14px;
}

.tvx-input,
.tvx-account-ui .form-control,
.tvx-account-ui .form-select,
.tvx-account-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.tvx-account-ui select,
.tvx-account-ui textarea {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 9px !important;
    border: 1px solid #474d57 !important;
    background: #0f1216 !important;
    color: #eaecef !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 13px;
}

.tvx-account-ui input::placeholder,
.tvx-account-ui textarea::placeholder { color: #59616c !important; }

.tvx-input:focus,
.tvx-account-ui .form-control:focus,
.tvx-account-ui .form-select:focus,
.tvx-account-ui input:focus,
.tvx-account-ui select:focus,
.tvx-account-ui textarea:focus {
    border-color: var(--tvx-yellow) !important;
    box-shadow: 0 0 0 1px var(--tvx-yellow) !important;
}

.tvx-account-ui label { color: #b8c0cb; }

.tvx-log-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 11px;
}

.tvx-log-card {
    position: relative;
    overflow: hidden;
    padding: 16px;
    background: var(--tvx-panel);
    border: 1px solid var(--tvx-line);
    border-radius: 15px;
}

.tvx-log-card::after {
    content: '';
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: rgba(240,185,11,.035);
    pointer-events: none;
}

.tvx-log-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #242a31;
    border: 1px solid #343b44;
    color: var(--tvx-yellow-2);
    font-size: 20px;
}

.tvx-log-amount { color: #fff; font-size: 17px; font-weight: 700; }
.tvx-log-amount.positive { color: var(--tvx-green); }
.tvx-log-amount.negative { color: var(--tvx-red); }
.tvx-log-detail { margin-top: 7px; color: #d8dce2; font-size: 13px; line-height: 1.45; font-weight: 600; }
.tvx-log-meta { margin-top: 9px; color: var(--tvx-muted); font-size: 10px; line-height: 1.6; }
.tvx-trx { color: var(--tvx-yellow-2); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; word-break: break-all; }

.tvx-empty {
    padding: 42px 20px;
    text-align: center;
    background: var(--tvx-panel);
    border: 1px dashed #39414b;
    border-radius: 16px;
}
.tvx-empty-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 12px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #242a31;
    color: #69727e;
    font-size: 28px;
}
.tvx-empty-title { color: #eaecef; font-size: 15px; font-weight: 700; }
.tvx-empty-copy { margin-top: 5px; color: var(--tvx-muted); font-size: 12px; }

.tvx-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(6px);
}
.tvx-modal.open { display: flex; }
.tvx-modal-dialog {
    width: min(100%, 520px);
    max-height: min(90vh, 760px);
    overflow-y: auto;
    padding: 21px;
    background: #1e2329;
    border: 1px solid #3b424b;
    border-radius: 18px;
    box-shadow: 0 30px 100px rgba(0,0,0,.5);
}
.tvx-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.tvx-modal-title { margin:0; color:#fff; font-size:20px; font-weight:700; }
.tvx-modal-copy { margin-top:5px; color:var(--tvx-muted); font-size:12px; }
.tvx-modal-close { width:34px; height:34px; border-radius:9px; border:1px solid #3b424b; background:#272d34; color:#eaecef; display:flex; align-items:center; justify-content:center; font-size:18px; cursor:pointer; }

.tvx-choice-list { display:grid; gap:8px; max-height:230px; overflow-y:auto; }
.tvx-choice { position:relative; display:block; cursor:pointer; }
.tvx-choice input { position:absolute; opacity:0; pointer-events:none; }
.tvx-choice-body { padding:12px; border-radius:10px; border:1px solid #3a424c; background:#15191e; display:flex; align-items:center; justify-content:space-between; gap:12px; transition:.16s ease; }
.tvx-choice input:checked + .tvx-choice-body { border-color:var(--tvx-yellow); background:rgba(240,185,11,.06); box-shadow:0 0 0 1px rgba(240,185,11,.2); }
.tvx-choice-check { width:17px; height:17px; border-radius:50%; border:1px solid #59616c; flex:0 0 auto; }
.tvx-choice input:checked + .tvx-choice-body .tvx-choice-check { border:5px solid var(--tvx-yellow-2); }

.tvx-field { margin-top:14px; }
.tvx-field-label { display:block; margin-bottom:7px; color:#b9c0ca; font-size:12px; font-weight:650; }
.tvx-help { margin-top:6px; color:var(--tvx-muted); font-size:10px; line-height:1.45; }

.tvx-table-wrap { overflow-x:auto; border:1px solid var(--tvx-line); border-radius:14px; background:var(--tvx-panel); }
.tvx-account-ui table, .tvx-account-ui .table { width:100%; color:#eaecef !important; background:transparent !important; border-color:var(--tvx-line) !important; }
.tvx-account-ui table thead th, .tvx-account-ui .table thead th { padding:13px 14px; color:var(--tvx-muted) !important; background:#14171b !important; border-color:var(--tvx-line) !important; font-size:11px; font-weight:650; white-space:nowrap; }
.tvx-account-ui table tbody td, .tvx-account-ui .table tbody td { padding:14px; color:#eaecef !important; background:transparent !important; border-color:var(--tvx-line) !important; vertical-align:middle; }
.tvx-account-ui .table-striped > tbody > tr:nth-of-type(odd) > * { background:#15191e !important; color:#eaecef !important; }

.tvx-account-ui .card,
.tvx-account-ui .custom--card,
.tvx-account-ui .dashboard-card {
    background: var(--tvx-panel) !important;
    border: 1px solid var(--tvx-line) !important;
    border-radius: 15px !important;
    box-shadow: none !important;
    color: var(--tvx-text) !important;
}
.tvx-account-ui .card-header,
.tvx-account-ui .card-footer {
    background: #15191e !important;
    border-color: var(--tvx-line) !important;
    color: var(--tvx-text) !important;
}

.tvx-account-ui .btn-primary,
.tvx-account-ui .btn--base,
.tvx-account-ui .btn.btn-primary,
.tvx-account-ui button[type="submit"]:not(.tvx-modal-close):not(.tvx-btn-secondary):not(.tvx-btn-ghost) {
    border-color: var(--tvx-yellow-2) !important;
}

.tvx-account-ui .pagination { gap:5px; flex-wrap:wrap; }
.tvx-account-ui .page-link { border:1px solid var(--tvx-line) !important; background:var(--tvx-panel) !important; color:#b8c0cb !important; border-radius:8px !important; }
.tvx-account-ui .page-item.active .page-link { background:var(--tvx-yellow-2) !important; border-color:var(--tvx-yellow-2) !important; color:#181a20 !important; }
.tvx-account-ui .page-item.disabled .page-link { opacity:.4; }

/* Convert legacy blue/purple account pages to the current TradeVexa yellow/black language. */
.tvx-account-ui [class*="font-orbitron"],
.tvx-account-ui [class*="Orbitron"] { font-family: Inter, sans-serif !important; }
.tvx-account-ui [class*="text-blue-2"],
.tvx-account-ui [class*="text-blue-3"],
.tvx-account-ui [class*="text-blue-4"],
.tvx-account-ui [class*="text-purple-4"] { color: var(--tvx-yellow-2) !important; }
.tvx-account-ui [class*="border-blue-"],
.tvx-account-ui [class*="border-purple-"] { border-color: var(--tvx-line-2) !important; }
.tvx-account-ui [class*="shadow-blue-"],
.tvx-account-ui [class*="shadow-purple-"] { box-shadow: none !important; }
.tvx-account-ui div[class*="bg-gradient-to-br"][class*="from-blue-"],
.tvx-account-ui section[class*="bg-gradient-to-br"][class*="from-blue-"],
.tvx-account-ui div[class*="bg-gradient-to-r"][class*="from-blue-"] {
    background: var(--tvx-panel) !important;
    border-color: var(--tvx-line) !important;
}

.tvx-account-ui div[class*="bg-blue-"],
.tvx-account-ui section[class*="bg-blue-"],
.tvx-account-ui article[class*="bg-blue-"],
.tvx-account-ui div[class*="bg-purple-"],
.tvx-account-ui section[class*="bg-purple-"] {
    background-color: var(--tvx-panel) !important;
    border-color: var(--tvx-line) !important;
}
.tvx-account-ui button[class*="bg-blue-"],
.tvx-account-ui a[class*="bg-blue-"],
.tvx-account-ui button[class*="bg-purple-"],
.tvx-account-ui a[class*="bg-purple-"] {
    background-color: var(--tvx-yellow-2) !important;
    color: #181a20 !important;
    border-color: var(--tvx-yellow-2) !important;
    box-shadow: none !important;
}

.tvx-account-ui button[class*="bg-gradient-to-r"][class*="from-blue-"],
.tvx-account-ui a[class*="bg-gradient-to-r"][class*="from-blue-"],
.tvx-account-ui button[class*="bg-gradient-to-b"][class*="from-blue-"],
.tvx-account-ui a[class*="bg-gradient-to-b"][class*="from-blue-"] {
    background: var(--tvx-yellow-2) !important;
    color: #181a20 !important;
    box-shadow: none !important;
    border-color: var(--tvx-yellow-2) !important;
}

@media (max-width: 1024px) {
    .tvx-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tvx-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tvx-filter { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tvx-filter .tvx-filter-search { grid-column: span 2; }
    .tvx-filter .tvx-filter-action { grid-column: span 2; }
}

@media (max-width: 700px) {
    .tvx-page { padding-top: 10px; }
    .tvx-page-head { align-items: center; }
    .tvx-page-head .tvx-page-actions { flex:0 0 auto; }
    .tvx-page-title { font-size: 27px; }
    .tvx-hero { padding: 19px 16px; border-radius: 17px; }
    .tvx-hero-title { font-size: 26px; }
    .tvx-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap:8px; }
    .tvx-stat { padding:12px; }
    .tvx-product-grid { grid-template-columns: 1fr; }
    .tvx-product { min-height: auto; }
    .tvx-metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tvx-log-grid { grid-template-columns: 1fr; }
    .tvx-filter { grid-template-columns: 1fr; }
    .tvx-filter .tvx-filter-search,
    .tvx-filter .tvx-filter-action { grid-column: auto; }
    .tvx-filter .tvx-btn { width:100%; }
    .tvx-modal { align-items:flex-end; padding:0; }
    .tvx-modal-dialog { width:100%; max-height:88vh; border-radius:20px 20px 0 0; padding-bottom:calc(22px + env(safe-area-inset-bottom)); }
}

@media (max-width: 430px) {
    .tvx-page-head { gap:10px; }
    .tvx-page-subtitle { font-size:12px; }
    .tvx-btn { padding-left:13px; padding-right:13px; }
    .tvx-stat-value { font-size:18px; }
    .tvx-list-card, .tvx-log-card { padding:14px; }
}
