.tvl-dashboard{--tvl:#8a5a2b;--tvl-soft:#f6efe8;--tvl-ink:#2a1d12;font-family:inherit;max-width:960px;margin:0 auto}
.tvl-dashboard.tvl-tier-silver{--tvl:#8e9aa6;--tvl-soft:#eef2f5;--tvl-ink:#1e2a33}
.tvl-dashboard.tvl-tier-gold{--tvl:#c9a227;--tvl-soft:#fbf4dd;--tvl-ink:#3a2e05}
.tvl-dashboard.tvl-tier-diamond{--tvl:#3fb6d6;--tvl-soft:#e6f7fc;--tvl-ink:#06303b}

.tvl-hero{background:linear-gradient(135deg,var(--tvl),var(--tvl-ink));color:#fff;border-radius:18px;padding:28px;margin-bottom:18px}
.tvl-hero h2{margin:.3em 0;color:#fff}
.tvl-badge{display:inline-block;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);padding:4px 12px;border-radius:999px;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.tvl-perk{font-size:18px;margin:.2em 0;font-weight:600}
.tvl-hero .tvl-note{color:rgba(255,255,255,.85)}

.tvl-flash{background:var(--tvl-soft);border-left:4px solid var(--tvl);padding:12px 16px;border-radius:8px;margin-bottom:14px}
.tvl-note{font-size:14px;opacity:.8}
.tvl-h3{margin:28px 0 12px;color:var(--tvl-ink)}

.tvl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tvl-stat{background:var(--tvl-soft);border-radius:14px;padding:18px;text-align:center}
.tvl-stat strong{display:block;font-size:28px;color:var(--tvl-ink)}
.tvl-stat span{font-size:13px;opacity:.75}

.tvl-progress{margin-top:18px}
.tvl-progress-head{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}
.tvl-bar{height:10px;border-radius:99px;background:var(--tvl-soft);overflow:hidden}
.tvl-bar i{display:block;height:100%;background:var(--tvl)}

.tvl-codes{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.tvl-codes li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border:1px dashed var(--tvl);border-radius:12px;padding:12px 16px;background:var(--tvl-soft)}
.tvl-codes code{font-size:16px;font-weight:700;letter-spacing:.06em}
.tvl-codes .tvl-expired{opacity:.5;border-style:solid}

.tvl-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.tvl-tier-card{border-radius:14px;padding:18px;border:2px solid #e5e5e5;position:relative}
.tvl-tier-card h4{margin:0 0 6px}
.tvl-tier-disc{font-size:20px;font-weight:700;margin:.2em 0}
.tvl-c-silver{--c:#8e9aa6}.tvl-c-gold{--c:#c9a227}.tvl-c-diamond{--c:#3fb6d6}
.tvl-tier-card.is-unlocked{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,white)}
.tvl-tier-card.is-locked{opacity:.72;background:#fafafa}
.tvl-state{position:absolute;top:12px;right:12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}

.tvl-table{width:100%;border-collapse:collapse}
.tvl-table th,.tvl-table td{text-align:left;padding:10px;border-bottom:1px solid #eee}
.tvl-pill{padding:2px 10px;border-radius:99px;font-size:12px;background:#eee}
.tvl-pill.tvl-approved{background:#d8f3dc}
.tvl-pill.tvl-pending{background:#fff3cd}
.tvl-pill.tvl-rejected{background:#f8d7da}

.tvl-form{display:grid;gap:12px;max-width:460px}
.tvl-form label{display:grid;gap:4px;font-size:14px}
.tvl-form input,.tvl-form select{padding:10px;border:1px solid #ddd;border-radius:10px}
.tvl-form button{background:var(--tvl,#8a5a2b);color:#fff;border:0;border-radius:10px;padding:12px 18px;cursor:pointer;font-weight:600}
