/* ============================================================
   PakGold V2 design system — premium light/dark, card dashboard
   ============================================================ */

:root, html[data-theme="light"] {
    --v2-bg: #f4f5f1;
    --v2-surface: #ffffff;
    --v2-surface-2: #fbfbf9;
    --v2-ink: #131a20;
    --v2-mut: #61707e;
    --v2-border: #e5e8e2;
    --v2-brand: #0b5d3b;
    --v2-brand-soft: #e9f4ee;
    --v2-gold: #b8860b;
    --v2-gold-hi: #d4af37;
    --v2-gold-soft: #faf3dd;
    --v2-pos: #0a8a4d;
    --v2-neg: #cc3340;
    --v2-shadow: 0 1px 2px rgba(19, 26, 32, .05), 0 8px 24px -12px rgba(19, 26, 32, .12);
    --v2-shadow-lift: 0 2px 4px rgba(19, 26, 32, .06), 0 16px 32px -12px rgba(19, 26, 32, .18);
    --v2-grad-top: rgba(212, 175, 55, .30);
    --v2-grad-bot: rgba(212, 175, 55, 0);
}

html[data-theme="dark"] {
    --v2-bg: #0d1117;
    --v2-surface: #151c24;
    --v2-surface-2: #1a222c;
    --v2-ink: #edf1f5;
    --v2-mut: #93a0ad;
    --v2-border: #26303b;
    --v2-brand: #35c98a;
    --v2-brand-soft: #12281e;
    --v2-gold: #e3c363;
    --v2-gold-hi: #ffd970;
    --v2-gold-soft: #2a2415;
    --v2-pos: #3ddc8f;
    --v2-neg: #ff6b78;
    --v2-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 28px -14px rgba(0, 0, 0, .6);
    --v2-shadow-lift: 0 2px 6px rgba(0, 0, 0, .5), 0 18px 40px -14px rgba(0, 0, 0, .7);
    --v2-grad-top: rgba(227, 195, 99, .28);
    --v2-grad-bot: rgba(227, 195, 99, 0);
}

* { box-sizing: border-box; }
html { height: 100%; }
/* any stray horizontal overflow must never widen the mobile layout viewport —
   an expanded viewport un-pins position:fixed bars (they pan with the page) */
html, body.v2-body { overflow-x: clip; }
body.v2-body {
    margin: 0; min-height: 100%;
    background: var(--v2-bg); color: var(--v2-ink);
    font-family: "Inter", "Segoe UI", system-ui, sans-serif;
    font-size: 15px; line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    transition: background .25s, color .25s;
}
html[data-lang="ur"] body.v2-body,
html[data-lang="ur"] .v2-body [data-i18n] {
    font-family: "Noto Naskh Arabic", "Inter", "Segoe UI", sans-serif;
}
b, strong, .v2-hero-price, .v2-qline b, .v2-table td { font-variant-numeric: tabular-nums; }

/* ---------- layout shell ---------- */
.v2-app { display: flex; min-height: 100vh; }
.v2-sidebar {
    width: 236px; flex: 0 0 auto; padding: 18px 14px;
    background: var(--v2-surface); border-inline-end: 1px solid var(--v2-border);
    display: flex; flex-direction: column; gap: 18px;
    position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.v2-brand { display: flex; align-items: center; justify-content: center; text-decoration: none; padding: 4px 8px; position: relative; min-height: 56px; }
.v2-brand-logo { max-width: 170px; max-height: 54px; width: auto; height: auto; }
.v2-brand-mark { display: none; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; position: absolute; inset: 0; margin: auto; }
html[data-theme="dark"] .v2-brand-logo { filter: drop-shadow(0 0 1px rgba(255,255,255,.35)); background: #fff; border-radius: 10px; padding: 4px 10px; }

.v2-nav { display: flex; flex-direction: column; gap: 2px; }
.v2-nav-item {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: 10px;
    color: var(--v2-mut); text-decoration: none; font-weight: 500; font-size: .93rem;
    transition: background .15s, color .15s;
}
.v2-nav-item:hover { background: var(--v2-surface-2); color: var(--v2-ink); }
.v2-nav-item.is-active { background: var(--v2-brand-soft); color: var(--v2-brand); font-weight: 600; }
.v2-nav-ic {
    width: 34px; height: 34px; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.15rem; border-radius: 10px;
    background: var(--v2-surface-2); border: 1px solid var(--v2-border);
}
.v2-nav-item.is-active .v2-nav-ic { background: var(--v2-gold-soft); border-color: rgba(184, 134, 11, .35); }
.v2-nav-item:hover .v2-nav-ic { border-color: rgba(184, 134, 11, .35); }

.v2-app-cta {
    margin-top: auto; display: flex; gap: 10px; align-items: center;
    background: linear-gradient(135deg, var(--v2-brand), #063d26);
    color: #fff; text-decoration: none; border-radius: 14px; padding: 12px;
}
html[data-theme="dark"] .v2-app-cta { background: linear-gradient(135deg, #0b5d3b, #0a2e1e); }
.v2-app-cta strong { display: block; font-size: .9rem; }
.v2-app-cta small { opacity: .8; font-size: .75rem; }
.v2-app-cta-ic { font-size: 1.3rem; }

.v2-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.v2-topbar {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 22px; background: var(--v2-surface);
    border-bottom: 1px solid var(--v2-border);
    position: sticky; top: 0; z-index: 40;
}
.v2-topbar-title { display: flex; align-items: center; gap: 12px; }
.v2-topbar-title h1 { margin: 0; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; }
.v2-topbar-actions { margin-inline-start: auto; display: flex; gap: 8px; align-items: center; }

.v2-market-dot { display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; font-weight: 700; color: var(--v2-pos); }

/* Sell + Buy side by side, both prominent (local gold + silver cards) */
.v2-bs-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; margin: 4px 0 6px; }
.v2-bs { border: 1px solid var(--v2-border); border-radius: 12px; padding: 6px 10px; min-width: 0; }
.v2-bs > em { font-style: normal; display: block; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--v2-mut); }
.v2-bs-price { font-size: 1.28rem; font-weight: 800; letter-spacing: -.01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.v2-bs-price small { font-size: .58rem; opacity: .6; font-weight: 700; }
.v2-bs-sell { border-color: rgba(18,134,124,.45); background: rgba(18,134,124,.06); }
.v2-bs-sell > em { color: #12867c; }
.v2-bs-sm .v2-bs { padding: 5px 8px; }
.v2-bs-sm .v2-bs-price { font-size: 1.05rem; }
@media (max-width: 900px) { .v2-bs-price { font-size: 1.15rem; } }
.v2-market-dot i { width: 8px; height: 8px; border-radius: 50%; background: var(--v2-pos); animation: v2pulse 1.6s infinite; }
@keyframes v2pulse { 0%,100% { opacity: 1; transform: scale(1);} 50% { opacity: .45; transform: scale(.8);} }

.v2-chip, .v2-iconbtn {
    border: 1px solid var(--v2-border); background: var(--v2-surface-2); color: var(--v2-ink);
    border-radius: 10px; padding: 7px 12px; font-size: .85rem; font-weight: 600; cursor: pointer;
    transition: background .15s, border-color .15s;
}
.v2-chip:hover, .v2-iconbtn:hover { background: var(--v2-brand-soft); border-color: var(--v2-brand); }
.v2-iconbtn { width: 36px; height: 36px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.v2-menu-toggle { display: none; }

.v2-content { padding: 20px 22px 30px; }
.v2-footer {
    margin-top: auto; display: flex; gap: 18px; padding: 14px 22px;
    color: var(--v2-mut); font-size: .8rem; border-top: 1px solid var(--v2-border);
}
.v2-footer a { color: var(--v2-mut); }

/* ---------- news ticker (under the head bar) ---------- */
.v2-ticker {
    display: flex; align-items: stretch; height: 40px; margin-bottom: 14px;
    background: var(--v2-surface); border: 1px solid var(--v2-border);
    border-radius: 12px; overflow: hidden; box-shadow: var(--v2-shadow);
}
.v2-ticker-label {
    display: flex; align-items: center; padding: 0 14px; flex: 0 0 auto;
    background: var(--v2-brand); color: #fff;
    font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
    white-space: nowrap;
}
.v2-ticker-viewport { overflow: hidden; flex: 1; display: flex; align-items: center; }
.v2-ticker-track { display: inline-flex; white-space: nowrap; animation: v2tick 80s linear infinite; will-change: transform; }
.v2-ticker:hover .v2-ticker-track { animation-play-state: paused; }
@keyframes v2tick { from { transform: translateX(0); } to { transform: translateX(-50%); } }
html[dir="rtl"] .v2-ticker-track { animation-name: v2tickRtl; }
@keyframes v2tickRtl { from { transform: translateX(0); } to { transform: translateX(50%); } }
.v2-ticker-group { display: inline-flex; }
.v2-ticker-item {
    display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
    color: var(--v2-ink); font-size: .85rem; font-weight: 600;
    padding-inline-end: 38px;
}
.v2-ticker-item:hover { color: var(--v2-brand); }
.v2-ticker-item .v2-news-title { display: inline; }
.v2-ticker-time {
    background: var(--v2-gold-soft); color: var(--v2-gold);
    font-size: .66rem; font-weight: 800; padding: 2px 8px; border-radius: 999px;
    direction: ltr; white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) { .v2-ticker-track { animation: none; } }

/* ---------- card grid (dense, no holes) ---------- */
.v2-grid {
    display: grid; gap: 14px;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-flow: dense;
}
/* long unbreakable content (bilingual selects, tab rows) must shrink with its
   track instead of blowing the grid out past the viewport */
.v2-grid > * { min-width: 0; }
/* pages stack several grids/ad strips — keep the 14px rhythm even when a
   hidden (unfilled) ad strip sits between two grids */
.v2-grid + .v2-grid, .v2-ad-lead + .v2-grid, .v2-grid + section, section + .v2-grid { margin-top: 14px; }
.v2-span12 { grid-column: span 12; }
.v2-span9 { grid-column: span 9; }
.v2-span6 { grid-column: span 6; }
.v2-span3 { grid-column: span 3; }
@media (max-width: 1280px) {
    .v2-span9 { grid-column: span 12; }
    .v2-span6 { grid-column: span 8; }
    .v2-span3 { grid-column: span 4; }
}
@media (max-width: 900px) {
    .v2-grid { grid-template-columns: repeat(2, 1fr); }
    .v2-span12, .v2-span9, .v2-span6, .v2-span3 { grid-column: span 2; }
}

.v2-card {
    background: var(--v2-surface); border: 1px solid var(--v2-border);
    border-radius: 16px; box-shadow: var(--v2-shadow);
    padding: 14px 16px; min-width: 0;
    display: flex; flex-direction: column;
    transition: box-shadow .2s, transform .2s, opacity .2s;
}
.v2-card:hover { box-shadow: var(--v2-shadow-lift); }
.v2-card.v2-dragging { opacity: .45; transform: scale(.98); }
.v2-card.v2-dragover { outline: 2px dashed var(--v2-gold); outline-offset: 2px; }
.v2-card[data-hidden="1"] { display: none; }

.v2-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.v2-card-head h2 { margin: 0; font-size: .92rem; font-weight: 700; display: flex; align-items: center; gap: 8px; color: var(--v2-ink); }
.v2-card-ic {
    width: 26px; height: 26px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
    font-size: .78rem; font-weight: 800;
}
.v2-ic-gold { background: var(--v2-gold-soft); color: var(--v2-gold); }
.v2-ic-silver { background: #eef1f5; color: #6b7684; }
html[data-theme="dark"] .v2-ic-silver { background: #232b35; color: #aab6c2; }
.v2-ic-board { background: var(--v2-brand-soft); color: var(--v2-brand); }
.v2-ic-chart { background: var(--v2-gold-soft); color: var(--v2-gold); }
.v2-ic-crypto { background: #fff3e6; color: #e07b00; }
html[data-theme="dark"] .v2-ic-crypto { background: #2c2113; color: #ffb054; }
.v2-ic-cur { background: #e8f1fd; color: #1a56b0; }
html[data-theme="dark"] .v2-ic-cur { background: #16222f; color: #6fa8ef; }
.v2-ic-news { background: #f3e9fb; color: #7e3ff2; }
html[data-theme="dark"] .v2-ic-news { background: #241a33; color: #b78cff; }
.v2-ic-cal { background: #e9f7f1; color: #0a8a4d; }
html[data-theme="dark"] .v2-ic-cal { background: #13291f; color: #3ddc8f; }
.v2-ic-calc { background: #fdeeee; color: #cc3340; }
html[data-theme="dark"] .v2-ic-calc { background: #2d1a1c; color: #ff8a94; }
.v2-ic-oil { background: #edf1f5; color: #40506a; }
html[data-theme="dark"] .v2-ic-oil { background: #212a35; color: #93a9c8; }

.v2-drag { cursor: grab; color: var(--v2-mut); font-size: .95rem; padding: 2px 6px; border-radius: 6px; user-select: none; }
.v2-drag:hover { background: var(--v2-surface-2); color: var(--v2-ink); }
.v2-mut { color: var(--v2-mut); }
.v2-pos { color: var(--v2-pos); font-weight: 700; }
.v2-neg { color: var(--v2-neg); font-weight: 700; }

/* ---------- hero ---------- */
.v2-card-hero {
    background:
        radial-gradient(120% 160% at 100% 0%, var(--v2-gold-soft) 0%, transparent 42%),
        var(--v2-surface);
}
.v2-hero-body { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.v2-hero-main { flex: 1 1 320px; min-width: 0; }
.v2-hero-updated { font-size: .76rem; margin-top: 10px; }
.v2-hero-updated b { font-weight: 700; color: var(--v2-ink); }
.v2-hero-label { font-size: .82rem; font-weight: 600; color: var(--v2-mut); }
.v2-hero-price { font-size: clamp(1.65rem, 1.1vw + 1.15rem, 2.6rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; margin: 4px 0; white-space: nowrap; }
.v2-hero-price small { font-size: 1rem; color: var(--v2-mut); font-weight: 600; }
.v2-hero-sub { display: flex; gap: 8px; align-items: baseline; margin-bottom: 12px; }
.v2-updown { font-weight: 800; font-size: 1rem; }
.v2-updown.up { color: var(--v2-pos); } .v2-updown.down { color: var(--v2-neg); }
.v2-kv-row { display: flex; gap: 16px; flex-wrap: wrap; font-size: .88rem; }
.v2-kv-row em { font-style: normal; color: var(--v2-mut); margin-inline-end: 4px; }
/* change + high + low on ONE compact row (saves vertical space on mobile) */
.v2-hero-stat { display: flex; align-items: baseline; gap: 6px 12px; flex-wrap: wrap; margin-bottom: 10px; font-size: .86rem; }
.v2-hero-stat .v2-updown { font-size: .95rem; }
.v2-hero-stat .v2-hs-hl em { font-style: normal; color: var(--v2-mut); margin-inline-end: 3px; }
.v2-hero-side { flex: 0 1 220px; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
/* collapsible per-tola/gram table — open on desktop, tap-to-expand on phones */
.v2-gram-x > .v2-gram-table { margin-top: 8px; }
.v2-gram-toggle { cursor: pointer; font-size: .82rem; font-weight: 700; color: var(--v2-accent, #b8860b); list-style: none; padding: 6px 0; user-select: none; }
.v2-gram-toggle::-webkit-details-marker { display: none; }
.v2-gram-toggle::after { content: " ▾"; font-size: .75em; }
.v2-gram-x[open] > .v2-gram-toggle::after { content: " ▴"; }
@media (min-width: 861px) {
    .v2-gram-x > .v2-gram-toggle { display: none; }
    .v2-gram-x > .v2-gram-table { display: table !important; margin-top: 0; }
}
.v2-mini-quote {
    background: var(--v2-surface-2); border: 1px solid var(--v2-border);
    border-radius: 12px; padding: 8px 12px; display: grid;
    grid-template-columns: 1fr auto; align-items: center; column-gap: 8px;
}
.v2-mini-quote span { font-size: .76rem; color: var(--v2-mut); grid-column: 1 / -1; }
.v2-mini-quote b { font-size: 1rem; }
.v2-mini-quote small { color: var(--v2-mut); font-size: .72rem; }

/* dual prominent quotes: hero (rawa + tt-bar) and stacked (silver local + tt bar) */
.v2-hero-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 18px; }
.v2-hero-q { min-width: 0; }
.v2-hero-duo .v2-hero-q:last-child { border-inline-start: 1px dashed var(--v2-border); padding-inline-start: 18px; }
/* both prices start on the same line even when one label wraps to two */
.v2-hero-duo .v2-hero-label { min-height: 2.6em; display: flex; align-items: flex-end; }
.v2-duo-stack { display: flex; flex-direction: column; gap: 12px; }
.v2-duo-stack .v2-hero-q + .v2-hero-q { border-top: 1px dashed var(--v2-border); padding-top: 12px; }

/* big-figure metal cards (intl gold / silver / pt / pd) */
.v2-metal-price { font-size: 1.9rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin: 4px 0 8px; font-variant-numeric: tabular-nums; }
.v2-metal-price small { font-size: .85rem; color: var(--v2-mut); font-weight: 600; }
.v2-metal-local { font-size: 1.4rem; margin-top: 0; }
.v2-card-metal .v2-kv-row { margin-top: auto; }

/* tick flash: value moved up (darkgreen) / down (maroon), fades back over ~1s */
.v2-flash-up, .v2-flash-down { transition: color .15s ease; }
.v2-flash-up { color: darkgreen !important; }
.v2-flash-down { color: maroon !important; }
html[data-theme="dark"] .v2-flash-up { color: #43d17c !important; }
html[data-theme="dark"] .v2-flash-down { color: #ff8080 !important; }

/* ---------- generic quote lines / tables ---------- */
.v2-quote-lines { display: flex; flex-direction: column; }
.v2-qline {
    display: grid; grid-template-columns: 1fr auto; column-gap: 10px; align-items: baseline;
    padding: 8px 2px; border-bottom: 1px dashed var(--v2-border);
}
.v2-qline:last-child { border-bottom: 0; }
.v2-qline > span:first-child { color: var(--v2-mut); font-size: .85rem; }
.v2-qline b { font-size: .98rem; }
.v2-qline small { grid-column: 1 / -1; color: var(--v2-mut); font-size: .74rem; }

.v2-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.v2-table th { text-align: start; color: var(--v2-mut); font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; padding: 4px 2px; }
.v2-table td { padding: 7px 2px; border-top: 1px dashed var(--v2-border); font-weight: 600; }
.v2-card-foot { margin-top: auto; padding-top: 8px; font-size: .75rem; }
.v2-card-foot-link { margin-top: auto; padding-top: 10px; font-size: .85rem; font-weight: 600; color: var(--v2-brand); text-decoration: none; }
.v2-card-foot-link:hover { text-decoration: underline; }

/* ---------- chart ---------- */
.v2-chart-tabs { display: inline-flex; gap: 4px; background: var(--v2-surface-2); border: 1px solid var(--v2-border); border-radius: 10px; padding: 3px; margin-inline-start: auto; margin-inline-end: 10px; }
.v2-chart-tabs button {
    border: 0; background: transparent; color: var(--v2-mut); font: inherit; font-size: .78rem; font-weight: 700;
    padding: 4px 10px; border-radius: 8px; cursor: pointer;
}
.v2-chart-tabs button.is-active { background: var(--v2-gold-soft); color: var(--v2-gold); }
.v2-chart-tabs .v2-compare { font-size: .85rem; padding: 4px 8px; }
.v2-chart-tabs .v2-compare.is-active { background: rgba(26, 86, 176, .18); }
.v2-chart-meta { display: flex; gap: 8px; align-items: baseline; margin-bottom: 6px; flex-wrap: wrap; }
.v2-chart-meta b { font-size: 1.3rem; margin-inline-end: 4px; }
.v2-delta-chip {
    font-size: .72rem; font-weight: 700; padding: 2px 8px; border-radius: 999px;
    background: var(--v2-surface-2); border: 1px solid var(--v2-border); color: var(--v2-mut);
}
.v2-delta-chip.v2-pos { color: var(--v2-pos); border-color: rgba(10, 138, 77, .35); background: rgba(61, 220, 143, .1); }
.v2-delta-chip.v2-neg { color: var(--v2-neg); border-color: rgba(200, 50, 50, .35); background: rgba(230, 90, 90, .1); }
.v2-compare-note { font-size: .72rem; }
.v2-chart-wrap { position: relative; height: 190px; }
.v2-chart-svg { width: 100%; height: 100%; display: block; }
.v2-chart-line { fill: none; stroke: var(--v2-gold); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.v2-chart-line.is-down { stroke: var(--v2-neg); }
.v2-chart-line2 { fill: none; stroke: #1a56b0; stroke-width: 1.4; stroke-dasharray: 4 3; vector-effect: non-scaling-stroke; }
html[data-theme="dark"] .v2-chart-line2 { stroke: #6fa8ef; }
.v2-grad-top { stop-color: var(--v2-grad-top); }
.v2-grad-bot { stop-color: var(--v2-grad-bot); }
.v2-crosshair { position: absolute; top: 0; bottom: 0; width: 0; border-inline-start: 1px dashed var(--v2-mut); pointer-events: none; }
.v2-crosshair b { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--v2-gold); border: 2px solid var(--v2-surface); inset-inline-start: -5px; }
.v2-chart-tip {
    position: absolute; transform: translate(-50%, -110%);
    background: var(--v2-ink); color: var(--v2-bg);
    font-size: .74rem; font-weight: 700; padding: 4px 8px; border-radius: 8px;
    pointer-events: none; white-space: nowrap; z-index: 5;
}
.v2-chart-x { display: flex; justify-content: space-between; font-size: .72rem; margin-top: 4px; }

/* ---------- news ---------- */
.v2-news-list { display: flex; flex-direction: column; }
.v2-news-item {
    display: flex; flex-direction: column; gap: 2px; text-decoration: none;
    padding: 8px 2px; border-bottom: 1px dashed var(--v2-border);
}
.v2-news-item:last-child { border-bottom: 0; }
.v2-news-title { color: var(--v2-ink); font-size: .87rem; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-news-item:hover .v2-news-title { color: var(--v2-brand); }
.v2-news-date { color: var(--v2-mut); font-size: .7rem; direction: ltr; text-align: start; }

/* ---------- calc ---------- */
.v2-calc { display: flex; flex-direction: column; gap: 10px; }
.v2-calc label { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 8px; font-size: .85rem; color: var(--v2-mut); }
.v2-calc input, .v2-calc select {
    border: 1px solid var(--v2-border); background: var(--v2-surface-2); color: var(--v2-ink);
    border-radius: 10px; padding: 8px 10px; font: inherit; width: 100%;
}
.v2-calc-out { display: flex; gap: 8px; align-items: baseline; background: var(--v2-gold-soft); border-radius: 12px; padding: 10px 12px; }
.v2-calc-out span { color: var(--v2-mut); font-size: .8rem; }
.v2-calc-out b { font-size: 1.25rem; }

/* ---------- ads ---------- */
.v2-ad-lead {
    position: relative; margin-bottom: 14px;
    background: var(--v2-surface); border: 1px solid var(--v2-border);
    border-radius: 12px; padding: 10px 12px 8px; text-align: center;
    box-shadow: var(--v2-shadow); overflow: hidden;
}
.v2-card-ad { position: relative; min-height: 280px; align-items: stretch; justify-content: center; border-style: dashed; padding-top: 30px; overflow: hidden; }
.v2-card-ad .adsbygoogle { width: 100%; max-width: 100%; }
.v2-card-ad iframe, .v2-ad-lead iframe { max-width: 100% !important; }
/* no fill -> no awkward empty box: hide the slot AND its card entirely */
ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
/* auto-injected page-level units (multiplex "more to explore" etc.) wreck the
   layout — only OUR declared slots inside ad containers may render */
body > ins.adsbygoogle, .v2-main > ins.adsbygoogle, .v2-content > ins.adsbygoogle,
ins.adsbygoogle.adsbygoogle-noablate { display: none !important; }
.v2-card-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
.v2-ad-lead:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
.v2-ad-label { position: absolute; top: 8px; inset-inline-start: 10px; font-size: .64rem; font-weight: 800; letter-spacing: .08em; color: var(--v2-mut); border: 1px solid var(--v2-border); border-radius: 5px; padding: 1px 6px; }
.v2-ad-slot { color: var(--v2-mut); font-size: .85rem; }

/* ---------- themed card borders + glow (content-matched) ---------- */
.v2-card[data-card="gold"], .v2-card[data-card="intgold"], .v2-card[data-card="chart"], .v2-card[data-card="board"], .v2-card[data-card="calc"] {
    border-color: rgba(184, 134, 11, .45);
    box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(212, 175, 55, .55);
}
.v2-card[data-card="gold"]:hover, .v2-card[data-card="intgold"]:hover, .v2-card[data-card="chart"]:hover, .v2-card[data-card="board"]:hover, .v2-card[data-card="calc"]:hover {
    box-shadow: var(--v2-shadow-lift), 0 0 22px -6px rgba(212, 175, 55, .7);
}
.v2-card[data-card="silver"], .v2-card[data-card="silverintl"], .v2-card[data-card="pt"], .v2-card[data-card="pd"] {
    border-color: rgba(140, 152, 165, .55);
    box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(170, 182, 194, .6);
}
.v2-card[data-card="silver"]:hover, .v2-card[data-card="silverintl"]:hover, .v2-card[data-card="pt"]:hover, .v2-card[data-card="pd"]:hover { box-shadow: var(--v2-shadow-lift), 0 0 22px -6px rgba(170, 182, 194, .75); }
.v2-card[data-card="crypto"] {
    border-color: rgba(224, 123, 0, .4);
    box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(255, 176, 84, .55);
}
.v2-card[data-card="crypto"]:hover { box-shadow: var(--v2-shadow-lift), 0 0 22px -6px rgba(255, 176, 84, .7); }
.v2-card[data-card="currencies"], .v2-card[data-card="dxy"] {
    border-color: rgba(26, 86, 176, .35);
    box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(111, 168, 239, .55);
}
.v2-card[data-card="currencies"]:hover, .v2-card[data-card="dxy"]:hover { box-shadow: var(--v2-shadow-lift), 0 0 22px -6px rgba(111, 168, 239, .7); }
.v2-card[data-card="news"] {
    border-color: rgba(126, 63, 242, .32);
    box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(183, 140, 255, .5);
}
.v2-card[data-card="news"]:hover { box-shadow: var(--v2-shadow-lift), 0 0 22px -6px rgba(183, 140, 255, .65); }
.v2-card[data-card="calendar"] {
    border-color: rgba(10, 138, 77, .35);
    box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(61, 220, 143, .5);
}
.v2-card[data-card="calendar"]:hover { box-shadow: var(--v2-shadow-lift), 0 0 22px -6px rgba(61, 220, 143, .65); }
.v2-card[data-card="oil"], .v2-card[data-card="psx"] {
    border-color: rgba(64, 80, 106, .4);
    box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(147, 169, 200, .55);
}
.v2-card[data-card="oil"]:hover, .v2-card[data-card="psx"]:hover { box-shadow: var(--v2-shadow-lift), 0 0 22px -6px rgba(147, 169, 200, .7); }
html[data-theme="dark"] .v2-card[data-card] { border-width: 1px; }

/* ---------- crypto rows: 24h high/low line ---------- */
.v2-crypto-hl { grid-column: 1 / -1; font-style: normal; font-size: .68rem; color: var(--v2-mut); margin-top: 1px; }

/* ---------- crypto page: heroes + coin table ---------- */
.v2-cp-hero { border-color: rgba(224, 123, 0, .4); box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(255, 176, 84, .55); }
.v2-cp-hero .v2-card-head small { font-weight: 600; font-size: .74rem; margin-inline-start: 6px; }
.v2-cp-price { font-size: 2.3rem; }
.v2-cp-chg { display: inline-block; font-size: .92rem; font-weight: 800; padding: 2px 10px; border-radius: 999px; margin-bottom: 8px; width: fit-content; }
.v2-cp-chg.up { color: var(--v2-pos); background: rgba(61, 220, 143, .14); }
.v2-cp-chg.down { color: var(--v2-neg); background: rgba(230, 90, 90, .14); }
/* hero internals: big price left, change + high/low pinned to the RIGHT (stacked) */
.v2-cp-row { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; }
.v2-cp-meta { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; text-align: end; margin-inline-start: auto; }
.v2-cp-meta .v2-cp-chg { margin-bottom: 0; }
/* PKR equivalent in its own box under the USD price — computed live from the dollar rate */
.v2-cp-pkrbox {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 8px; padding: 6px 12px;
    border: 1px solid rgba(224, 168, 0, .5); border-radius: 10px;
    background: rgba(240, 195, 80, .1);
}
.v2-cp-pkrbox small { font-size: .66rem; font-weight: 800; letter-spacing: .06em; color: var(--v2-mut); }
.v2-cp-pkrbox b { font-size: 1.12rem; font-weight: 800; color: var(--v2-brand); font-variant-numeric: tabular-nums; }
.v2-cp-pkrcol { font-weight: 700; }
/* hero right column: change / high / low as three tidy rows */
.v2-cp-hl { font-size: .85rem; }
.v2-cp-hl em { color: var(--v2-mut); font-style: normal; margin-inline-end: 5px; }
.v2-cp-hl b { font-variant-numeric: tabular-nums; }
.v2-cp-tablecard { margin-bottom: 14px; }
/* vertical ad beside the coin table: desktop-only — on narrow layouts the
   table takes the full row and a 600px ad would just push content down */
.v2-cp-adcard { min-height: 0; align-self: start; }
@media (max-width: 1280px) { .v2-cp-adcard { display: none; } }

/* ---------- board rate page ---------- */
.v2-bp-hero { border-color: rgba(224, 168, 0, .45); box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(240, 195, 80, .6); }
.v2-bp-table td:first-child { text-align: start; }

/* ---------- currencies page ---------- */
.v2-fx-hero { border-color: rgba(46, 160, 90, .4); box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(90, 210, 140, .5); }
.v2-fx-calc .v2-calc-out { margin-top: 10px; }
/* Buy + Sell equally prominent, side by side */
.v2-fx-duo { display: flex; gap: 26px; flex-wrap: wrap; }
.v2-fx-duo .v2-metal-price { font-size: 1.7rem; }
/* colorful flag chips (heroes + table) */
.v2-fx-flag {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 9px; font-size: 1.05rem;
    border: 1px solid var(--v2-border); vertical-align: middle;
}
.fxc-USD { background: rgba(46, 160, 90, .16); border-color: rgba(46, 160, 90, .4); }
.fxc-IB { background: rgba(70, 130, 200, .16); border-color: rgba(70, 130, 200, .4); }
.fxc-GBP { background: rgba(70, 100, 200, .16); border-color: rgba(70, 100, 200, .4); }
.fxc-EUR { background: rgba(60, 90, 190, .14); border-color: rgba(60, 90, 190, .38); }
.fxc-SAR { background: rgba(20, 140, 80, .15); border-color: rgba(20, 140, 80, .4); }
.fxc-AED { background: rgba(200, 60, 60, .13); border-color: rgba(200, 60, 60, .35); }
.fxc-MYR { background: rgba(220, 160, 30, .16); border-color: rgba(220, 160, 30, .42); }
.v2-fx-table td:first-child { text-align: start; }

/* ---------- news page ---------- */
.v2-np-hero { border-color: rgba(70, 130, 200, .45); box-shadow: var(--v2-shadow), 0 0 16px -8px rgba(90, 150, 230, .5); }
.v2-np-hero-link { display: block; text-decoration: none; color: inherit; }
.v2-np-hero-title { font-size: 1.45rem; font-weight: 800; line-height: 1.3; }
.v2-np-hero-link:hover .v2-np-hero-title { color: var(--v2-brand); }
.v2-np-hero-desc { color: var(--v2-mut); font-size: .95rem; margin: 8px 0 0; max-width: 760px; }
.v2-np-meta { color: var(--v2-mut); font-size: .74rem; font-weight: 700; margin-top: 8px; }
.v2-np-list { max-height: 980px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding-inline-end: 6px; }
.v2-np-day {
    position: sticky; top: 0; z-index: 2;
    background: var(--v2-surface); font-weight: 800; font-size: .78rem;
    letter-spacing: .04em; text-transform: uppercase; color: var(--v2-brand);
    padding: 6px 2px 4px; border-bottom: 1px solid var(--v2-border);
}
.v2-np-item {
    display: block; text-decoration: none; color: inherit;
    border: 1px solid var(--v2-border); border-radius: 12px;
    padding: 12px 14px; background: var(--v2-bg);
    transition: border-color .15s, transform .15s;
}
.v2-np-item:hover { border-color: var(--v2-brand); transform: translateY(-1px); }
.v2-np-item-title { font-weight: 700; font-size: .95rem; line-height: 1.35; }
.v2-np-item-desc { color: var(--v2-mut); font-size: .82rem; margin: 5px 0 0; }
.v2-np-item .v2-np-meta { margin-top: 6px; }
.v2-np-ad { position: relative; border: 1px dashed var(--v2-border); border-radius: 12px; padding: 24px 10px 8px; text-align: center; overflow: hidden; }
.v2-np-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
/* country chips + per-country card accents */
.v2-np-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.v2-np-flag {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: .7rem; font-weight: 800; padding: 2px 8px;
    border-radius: 999px; border: 1px solid var(--v2-border); white-space: nowrap;
}
.v2-np-badge {
    display: inline-flex; align-items: center;
    font-size: .66rem; font-weight: 800; letter-spacing: .03em;
    padding: 2px 8px; border-radius: 999px;
}
.v2-np-badge.gold { color: #8a6400; background: rgba(240, 195, 80, .22); border: 1px solid rgba(224, 168, 0, .5); }
.v2-np-badge.silver { color: #5a6572; background: rgba(150, 165, 180, .2); border: 1px solid rgba(150, 165, 180, .5); }
[data-theme="dark"] .v2-np-badge.gold { color: #f0c350; }
[data-theme="dark"] .v2-np-badge.silver { color: #b8c4d0; }
/* left accent + soft tint per country */
.v2-np-item.np-c-pk { border-inline-start: 4px solid #1c7a3d; background: rgba(28, 122, 61, .05); }
.v2-np-item.np-c-us { border-inline-start: 4px solid #3b6fd4; background: rgba(59, 111, 212, .05); }
.v2-np-item.np-c-cn { border-inline-start: 4px solid #d43b3b; background: rgba(212, 59, 59, .05); }
.v2-np-item.np-c-uk { border-inline-start: 4px solid #4a3bd4; background: rgba(74, 59, 212, .05); }
.v2-np-item.np-c-eu { border-inline-start: 4px solid #2b53a8; background: rgba(43, 83, 168, .05); }
.v2-np-item.np-c-sa { border-inline-start: 4px solid #0a8a4d; background: rgba(10, 138, 77, .05); }
.v2-np-item.np-c-ae { border-inline-start: 4px solid #c04545; background: rgba(192, 69, 69, .05); }
.v2-np-item.np-c-in { border-inline-start: 4px solid #d4823b; background: rgba(212, 130, 59, .05); }
.v2-np-item.np-c-jp { border-inline-start: 4px solid #c05070; background: rgba(192, 80, 112, .05); }
.v2-np-item.np-c-world { border-inline-start: 4px solid #b8860b; background: rgba(184, 134, 11, .05); }
.v2-np-flag.np-c-pk { background: rgba(28, 122, 61, .12); border-color: rgba(28, 122, 61, .4); }
.v2-np-flag.np-c-us { background: rgba(59, 111, 212, .12); border-color: rgba(59, 111, 212, .4); }
.v2-np-flag.np-c-cn { background: rgba(212, 59, 59, .12); border-color: rgba(212, 59, 59, .4); }
.v2-np-flag.np-c-uk { background: rgba(74, 59, 212, .12); border-color: rgba(74, 59, 212, .4); }
.v2-np-flag.np-c-eu { background: rgba(43, 83, 168, .12); border-color: rgba(43, 83, 168, .4); }
.v2-np-flag.np-c-sa { background: rgba(10, 138, 77, .12); border-color: rgba(10, 138, 77, .4); }
.v2-np-flag.np-c-ae { background: rgba(192, 69, 69, .12); border-color: rgba(192, 69, 69, .4); }
.v2-np-flag.np-c-in { background: rgba(212, 130, 59, .12); border-color: rgba(212, 130, 59, .4); }
.v2-np-flag.np-c-jp { background: rgba(192, 80, 112, .12); border-color: rgba(192, 80, 112, .4); }
.v2-np-flag.np-c-world { background: rgba(184, 134, 11, .12); border-color: rgba(184, 134, 11, .4); }

/* ---------- premium: completely ad-free ---------- */
.v2-premium .v2-ad-lead, .v2-premium .v2-card-ad, .v2-premium .v2-np-ad,
.v2-premium .v2-mad, .v2-premium ins.adsbygoogle { display: none !important; }
.v2-user-chip.is-premium { background: rgba(240, 195, 80, .25); border-color: rgba(224, 168, 0, .6); font-weight: 800; }

/* ---------- accounts (login / register / profile) ---------- */
.v2-auth-wrap { display: flex; justify-content: center; padding: 26px 0 40px; }
.v2-auth-card { width: min(440px, 100%); padding: 30px 28px; text-align: center; }
.v2-auth-logo img { width: 74px; height: 74px; border-radius: 50%; }
.v2-auth-title { margin: 12px 0 4px; font-size: 1.45rem; font-weight: 900; letter-spacing: -.01em; }
.v2-auth-sub { color: var(--v2-mut); font-size: .88rem; margin: 0 0 18px; }
.v2-auth-form { display: flex; flex-direction: column; gap: 12px; text-align: start; }
.v2-auth-form label { display: flex; flex-direction: column; gap: 5px; font-size: .8rem; font-weight: 800; color: var(--v2-mut); }
.v2-auth-form input {
    background: var(--v2-bg); color: var(--v2-text);
    border: 1px solid var(--v2-border); border-radius: 10px;
    padding: 11px 13px; font: inherit; font-size: .95rem;
}
.v2-auth-form input:focus { outline: 2px solid rgba(224, 168, 0, .5); border-color: var(--v2-brand); }
.v2-auth-btn {
    margin-top: 6px; padding: 12px; border: 0; border-radius: 10px; cursor: pointer;
    background: linear-gradient(90deg, #e3a812, #c98f06); color: #fff;
    font: inherit; font-weight: 800; font-size: .95rem;
}
.v2-auth-btn:hover { filter: brightness(1.06); }
.v2-auth-btn:disabled { opacity: .6; cursor: wait; }
.v2-auth-btn-out { background: none; border: 1px solid var(--v2-border); color: var(--v2-text); margin-top: 18px; width: 100%; }
.v2-auth-err {
    background: rgba(230, 90, 90, .12); border: 1px solid rgba(230, 90, 90, .4);
    color: #c04545; border-radius: 10px; padding: 9px 12px; font-size: .84rem; font-weight: 700;
}
[data-theme="dark"] .v2-auth-err { color: #ff9d9d; }
.v2-auth-note {
    background: rgba(240, 195, 80, .1); border: 1px solid rgba(224, 168, 0, .35);
    border-radius: 10px; padding: 9px 12px; font-size: .8rem; color: var(--v2-mut); text-align: start;
}
.v2-auth-alt { margin: 16px 0 0; font-size: .85rem; color: var(--v2-mut); }
.v2-auth-alt a { color: var(--v2-brand); font-weight: 800; text-decoration: none; }
.v2-pf-subtitle { margin: 22px 0 10px; font-size: 1rem; font-weight: 900; text-align: start; }
.v2-auth-okmsg {
    background: rgba(61, 220, 143, .14); border: 1px solid rgba(46, 160, 90, .45);
    color: #1c7a3d; border-radius: 10px; padding: 9px 12px; font-size: .84rem; font-weight: 700;
}
[data-theme="dark"] .v2-auth-okmsg { color: #5ad28c; }
.v2-pf-rows { text-align: start; margin: 16px 0; display: flex; flex-direction: column; gap: 10px; }
.v2-pf-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--v2-border); padding-bottom: 9px; font-size: .88rem; }
.v2-pf-row span { color: var(--v2-mut); font-weight: 700; }
.v2-user-chip { text-decoration: none; }
.v2-user-name { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- charts page: same chart module, just taller ---------- */
.v2-chart-page .v2-chart-wrap { height: 340px; }
.v2-ch-table td:first-child { text-align: start; }

/* ---------- news article page (/v2/news/{id}) ---------- */
.v2-h1like { margin: 0; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; }
.v2-na-crumb { font-size: .8rem; color: var(--v2-mut); margin-bottom: 12px; }
.v2-na-crumb a { color: var(--v2-mut); text-decoration: none; font-weight: 700; }
.v2-na-crumb a:hover { color: var(--v2-brand); }
.v2-na-crumb span { margin: 0 6px; }
.v2-na { padding-block: 30px; }
.v2-na-inner { max-width: 780px; margin: 0 auto; }
.v2-na-chips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 16px; }
.v2-na-tag {
    display: inline-flex; align-items: center;
    font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
    padding: 2px 10px; border-radius: 999px; border: 1px solid var(--v2-border); color: var(--v2-mut);
}
.v2-na-tag.tag-gold { color: #8a6400; border-color: rgba(224, 168, 0, .5); background: rgba(240, 195, 80, .14); }
.v2-na-tag.tag-silver { color: #5a6572; border-color: rgba(150, 165, 180, .5); background: rgba(150, 165, 180, .14); }
.v2-na-tag.tag-fx { color: #1d6e3f; border-color: rgba(46, 160, 90, .5); background: rgba(46, 160, 90, .1); }
.v2-na-tag.tag-psx { color: #2b53a8; border-color: rgba(59, 111, 212, .5); background: rgba(59, 111, 212, .1); }
.v2-na-tag.tag-oil { color: #8a4b12; border-color: rgba(212, 130, 59, .5); background: rgba(212, 130, 59, .12); }
.v2-na-tag.tag-crypto { color: #a05a00; border-color: rgba(247, 147, 26, .5); background: rgba(247, 147, 26, .12); }
.v2-na-tag.tag-bank { color: #5a3bb8; border-color: rgba(110, 80, 220, .45); background: rgba(110, 80, 220, .1); }
.v2-na-tag.tag-inf { color: #b03535; border-color: rgba(212, 59, 59, .45); background: rgba(212, 59, 59, .08); }
.v2-na-tag.tag-trade { color: #0a7070; border-color: rgba(20, 150, 150, .45); background: rgba(20, 150, 150, .08); }
.v2-na-tag.tag-eco { color: #555; border-color: var(--v2-border); background: var(--v2-bg); }
[data-theme="dark"] .v2-na-tag { filter: brightness(1.5); }
.v2-card.v2-na .v2-na-headline {
    margin: 0; text-align: center;
    font-size: clamp(1.9rem, 3.8vw, 2.7rem); font-weight: 900;
    line-height: 1.2; letter-spacing: -.02em; text-wrap: balance;
}
.v2-na-meta { text-align: center; color: var(--v2-mut); font-size: .82rem; font-weight: 700; margin-top: 12px; }
.v2-na-rule {
    width: 120px; height: 4px; border-radius: 999px; margin: 18px auto 22px;
    background: linear-gradient(90deg, #e3a812, #1c7a3d);
}
.v2-na-key {
    border: 1px solid rgba(224, 168, 0, .45); border-inline-start: 5px solid #e3a812;
    background: rgba(240, 195, 80, .08); border-radius: 12px;
    padding: 14px 18px; margin: 0 0 20px;
}
.v2-na-key-label { display: block; font-size: .66rem; font-weight: 900; letter-spacing: .1em; color: var(--v2-brand); margin-bottom: 5px; }
.v2-na-key p { margin: 0; font-size: 1.02rem; font-weight: 700; line-height: 1.5; }
.v2-na-body { font-size: 1.02rem; line-height: 1.85; }
.v2-na-body p { margin: 0 0 16px; }
.v2-na-num { background: rgba(240, 195, 80, .28); border-radius: 5px; padding: 0 4px; font-weight: 800; white-space: nowrap; }
[data-theme="dark"] .v2-na-num { background: rgba(240, 195, 80, .2); color: #ffd97a; }
.v2-na-impact {
    border: 1px solid rgba(46, 160, 90, .4); border-inline-start: 5px solid #1c7a3d;
    background: rgba(28, 122, 61, .06); border-radius: 12px;
    padding: 14px 18px; margin: 22px 0 0;
}
.v2-na-impact .v2-na-key-label { color: #1c7a3d; }
[data-theme="dark"] .v2-na-impact .v2-na-key-label { color: #5ad28c; }
.v2-na-impact p { margin: 0 0 10px; font-size: .92rem; }
.v2-na-links { display: flex; gap: 8px; flex-wrap: wrap; }
.v2-na-links .v2-chip { text-decoration: none; }
.v2-na-share { display: flex; gap: 8px; align-items: center; margin-top: 24px; color: var(--v2-mut); font-size: .85rem; font-weight: 700; }
.v2-na-share .v2-chip { text-decoration: none; }
.v2-na-related { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 700px) { .v2-na-related { grid-template-columns: 1fr; } }
/* urdu edition swaps in via the language toggle */
.v2-na-body-ur { display: none; }
html[data-lang="ur"] .v2-na.has-ur .v2-na-body-ur { display: block; }
html[data-lang="ur"] .v2-na.has-ur .v2-na-body-en { display: none; }

/* ---------- economic calendar page ---------- */
.v2-cal-head { flex-wrap: wrap; gap: 10px; }
.v2-cal-nav { display: flex; align-items: center; gap: 8px; }
.v2-cal-nav input[type="date"] {
    background: var(--v2-bg); color: var(--v2-text);
    border: 1px solid var(--v2-border); border-radius: 8px;
    padding: 5px 8px; font: inherit; font-size: .85rem;
}
.v2-cal-daylabel { font-weight: 800; font-size: .95rem; margin: 2px 0 10px; color: var(--v2-mut); }
.v2-cal-list { display: flex; flex-direction: column; }
.v2-cal-row {
    display: grid; grid-template-columns: 92px minmax(0, 1fr) auto;
    gap: 12px; align-items: center;
    padding: 10px 8px; border-top: 1px solid rgba(224, 168, 0, .3);
    border-inline-start: 3px solid transparent;
}
.v2-cal-row:first-child { border-top: 0; }
/* impact-colored accents: 3 red (high), 2 orange, 1 green */
.v2-cal-row.imp3 { border-inline-start-color: #d43b3b; background: rgba(212, 59, 59, .04); }
.v2-cal-row.imp2 { border-inline-start-color: #e08a2e; background: rgba(224, 138, 46, .04); }
.v2-cal-row.imp1 { border-inline-start-color: #2e9e5b; background: rgba(46, 158, 91, .03); }
.v2-cal-row.is-done { opacity: .78; }
.v2-cal-time { font-weight: 800; font-size: .88rem; display: flex; flex-direction: column; }
.v2-cal-time small { color: var(--v2-mut); font-weight: 600; font-size: .66rem; }
.v2-cal-eta { color: var(--v2-brand); font-weight: 700; font-size: .7rem; }
.v2-cal-title { font-size: .92rem; }
.v2-cal-title b { font-weight: 700; }
.v2-cal-desc { color: var(--v2-mut); font-size: .78rem; margin-top: 3px; max-width: 640px; }
/* inline gold-impact rules (the popup's key lines, right in the row) */
.v2-cal-gi { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 5px; font-size: .76rem; color: var(--v2-mut); }
.v2-cal-gi b.up { color: var(--v2-pos); }
.v2-cal-gi b.down { color: var(--v2-neg); }
.v2-cal-vals { display: flex; gap: 8px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
/* Forecast / Previous / Actual as labeled boxes, side by side */
.v2-cal-valbox {
    display: inline-flex; flex-direction: column; align-items: center; gap: 1px;
    min-width: 76px; padding: 6px 10px;
    border: 1px solid var(--v2-border); border-radius: 10px; background: var(--v2-bg);
}
.v2-cal-valbox small { font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--v2-mut); }
.v2-cal-valbox b { font-size: .95rem; font-variant-numeric: tabular-nums; }
.v2-cal-valbox.is-actual { border-color: var(--v2-brand); background: rgba(240, 195, 80, .08); }
.v2-cal-valbox.is-actual.up b { color: var(--v2-pos); }
.v2-cal-valbox.is-actual.down b { color: var(--v2-neg); }
/* real flag images (emoji flags fall back to letters on Windows) */
.v2-flag-img { width: 20px; height: auto; border-radius: 3px; display: inline-block; vertical-align: -2px; }
/* gold-impact filters */
.v2-chip.is-on { background: rgba(240, 195, 80, .25); border-color: rgba(224, 168, 0, .6); font-weight: 800; }
.np-filter-gold .v2-np-item:not(.has-gold), .np-filter-gold .v2-np-ad { display: none !important; }
.cal-filter-gold .v2-cal-row:not(.has-gold) { display: none !important; }
/* country flag chip (flag only — tooltip has the name) */
.v2-cal-flag {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 24px;
    border: 1px solid var(--v2-border); border-radius: 7px;
    font-size: 1rem; background: var(--v2-bg); vertical-align: middle;
}
.v2-cal-empty { color: var(--v2-mut); padding: 24px 0; text-align: center; }
@media (max-width: 700px) {
    .v2-cal-row { grid-template-columns: 74px minmax(0, 1fr); }
    .v2-cal-vals { grid-column: 2; text-align: start; align-items: flex-start; flex-direction: row; flex-wrap: wrap; gap: 10px; }
}
.v2-cp-wrap { overflow-x: auto; }
.v2-cp-table { min-width: 560px; }
.v2-cp-table th:nth-child(n+3), .v2-cp-table td:nth-child(n+3) { text-align: end; font-variant-numeric: tabular-nums; }
/* light vertical separators so columns read as columns, not one mixed line */
.v2-cp-table th + th, .v2-cp-table td + td { border-inline-start: 1px solid var(--v2-border); }
.v2-cp-table th, .v2-cp-table td { padding-inline: 10px; }
.v2-cp-table td { font-weight: 600; }
.v2-cp-name { font-weight: 700; }
.v2-cp-name small { color: var(--v2-mut); font-weight: 600; font-size: .7rem; margin-inline-start: 4px; }
.v2-grid + .v2-ad-lead { margin-top: 14px; }

/* ---------- currencies: buy + sell both prominent ---------- */
.v2-cur-head {
    display: grid; grid-template-columns: 1fr 72px 72px; gap: 8px;
    font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    color: var(--v2-mut); padding: 2px 2px 6px;
}
.v2-cur-head small { text-align: end; }
.v2-cur-line {
    display: grid; grid-template-columns: 1fr 72px 72px; gap: 8px; align-items: center;
    padding: 8px 2px; border-top: 1px dashed var(--v2-border);
}
.v2-cur-line span { color: var(--v2-mut); font-weight: 600; font-size: .85rem; }
.v2-cur-line b { font-size: .98rem; font-weight: 800; text-align: end; font-variant-numeric: tabular-nums; }

/* ---------- live economic calendar ---------- */
.v2-ec-hero {
    background: linear-gradient(135deg, rgba(10, 138, 77, .1), rgba(212, 175, 55, .08));
    border: 1px solid rgba(10, 138, 77, .25);
    border-radius: 12px; padding: 10px 12px; margin-bottom: 10px;
    display: flex; gap: 12px; align-items: center; justify-content: space-between;
}
.v2-ec-hero[hidden] { display: none; }
.v2-ec-hero-left { flex: 1; min-width: 0; }
.v2-ec-hero-right { flex: 0 0 auto; text-align: end; display: flex; flex-direction: column; gap: 2px; }
.v2-ec-hero-top { font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--v2-mut); display: flex; gap: 8px; align-items: center; }
.v2-ec-hero-title { font-size: 1.02rem; font-weight: 800; margin: 4px 0 2px; line-height: 1.25; }
.v2-ec-hero-vals { font-size: .92rem; font-weight: 600; color: var(--v2-mut); }
.v2-ec-hero-vals b { color: var(--v2-ink); font-weight: 800; font-size: 1rem; }
.v2-ec-countdown { font-size: 1.1rem; font-weight: 800; letter-spacing: .01em; font-variant-numeric: tabular-nums; color: var(--v2-pos); white-space: nowrap; }
.v2-ec-hero-meta { font-size: .7rem; color: var(--v2-mut); }
/* list rows: [icon box] name ..... bulls / values ..... time */
.v2-ec-list { max-height: 330px; overflow-y: auto; padding-inline-end: 4px; scrollbar-width: thin; }
.v2-ec-list::-webkit-scrollbar { width: 6px; }
.v2-ec-list::-webkit-scrollbar-thumb { background: var(--v2-border); border-radius: 3px; }
.v2-ec-item { padding: 8px 2px; border-top: 1px dashed var(--v2-border); }
.v2-ec-item:first-child { border-top: 0; }
.v2-ec-r1 { display: flex; align-items: center; gap: 8px; }
.v2-ec-curbox {
    width: 24px; height: 24px; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 7px; background: var(--v2-surface-2); border: 1px solid var(--v2-border);
    font-size: .74rem; font-weight: 800; color: var(--v2-ink);
}
.v2-ec-title-t { flex: 1; min-width: 0; font-size: .86rem; font-weight: 700; line-height: 1.3; }
.v2-ec-bulls { flex: 0 0 auto; font-size: .58rem; letter-spacing: 2px; filter: sepia(1) saturate(6) hue-rotate(-28deg); }
.v2-ec-r2 { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-top: 3px; padding-inline-start: 32px; }
.v2-ec-vals { font-size: .88rem; color: var(--v2-mut); font-weight: 600; }
.v2-ec-vals b { color: var(--v2-ink); font-weight: 800; }
.v2-ec-time2 { font-size: .68rem; color: var(--v2-mut); white-space: nowrap; }
.v2-ec-flash { animation: v2ecflash 1.2s ease-out 2; border-radius: 8px; }
@keyframes v2ecflash { 0% { background: rgba(61, 220, 143, .35); } 100% { background: transparent; } }

/* gold-impact chips + info popup */
.v2-ec-gold { font-size: .78rem; font-weight: 800; white-space: nowrap; padding: 1px 8px; border-radius: 999px; }
.v2-ec-gold.up { color: var(--v2-pos); background: rgba(61, 220, 143, .14); }
.v2-ec-gold.down { color: var(--v2-neg); background: rgba(230, 90, 90, .14); }
.v2-ec-info {
    flex: 0 0 auto; border: 0; background: transparent; cursor: pointer;
    color: var(--v2-brand); font-size: .95rem; line-height: 1; padding: 2px 4px;
}
.v2-ec-info:hover { color: var(--v2-gold); }
.v2-center-overlay { align-items: center !important; justify-content: center !important; }
.v2-ec-popup {
    width: 400px; max-width: 92vw; max-height: 80vh; overflow-y: auto;
    background: var(--v2-surface); border: 1px solid var(--v2-border);
    border-radius: 16px; padding: 16px 18px; box-shadow: var(--v2-shadow-lift);
    animation: v2slide .18s ease-out;
}
.v2-ec-popup header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.v2-ec-popup h3 { margin: 0; font-size: .98rem; line-height: 1.35; }
.v2-ec-pop-meta { font-size: .78rem; color: var(--v2-mut); margin-bottom: 10px; }
.v2-ec-pop-meta b { color: var(--v2-ink); }
.v2-ec-pop-desc { font-size: .88rem; line-height: 1.55; margin: 0 0 12px; }
.v2-gi-line { font-size: .9rem; font-weight: 600; padding: 9px 12px; border-radius: 10px; background: var(--v2-surface-2); margin-bottom: 8px; line-height: 1.5; }
.v2-gi-line b { font-size: .95rem; font-weight: 800; }
.v2-gi-line b.up, .v2-gi-result.up { color: var(--v2-pos); }
.v2-gi-line b.down, .v2-gi-result.down { color: var(--v2-neg); }
.v2-gi-result { font-size: 1.05rem; font-weight: 800; margin-top: 10px; padding: 10px 12px; border-radius: 10px; }
.v2-gi-result.up { background: rgba(61, 220, 143, .14); }
.v2-gi-result.down { background: rgba(230, 90, 90, .14); }
.v2-gi-result small { display: block; font-weight: 600; color: var(--v2-mut); margin-top: 2px; }

/* ---------- skeletons ---------- */
.v2-skel, .v2-skel-line { position: relative; overflow: hidden; }
.v2-skel-line { height: 30px; border-radius: 8px; background: var(--v2-surface-2); margin: 6px 0; border-bottom: 0 !important; }
.v2-skel-line::after, .v2-skel.is-loading::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
    animation: v2shimmer 1.4s infinite;
}
html[data-theme="dark"] .v2-skel-line::after { background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent); }
@keyframes v2shimmer { from { transform: translateX(-100%);} to { transform: translateX(100%);} }

/* ---------- customize panel ---------- */
.v2-panel-overlay { position: fixed; inset: 0; background: rgba(10, 14, 18, .5); z-index: 90; display: flex; justify-content: flex-end; }
/* class display beats the UA [hidden] rule - without this the panel can never close */
.v2-panel-overlay[hidden] { display: none; }
.v2-panel {
    width: 320px; max-width: 92vw; background: var(--v2-surface); height: 100%;
    padding: 18px; display: flex; flex-direction: column; gap: 12px;
    box-shadow: var(--v2-shadow-lift); animation: v2slide .2s ease-out;
}
@keyframes v2slide { from { transform: translateX(30px); opacity: 0; } to { transform: none; opacity: 1; } }
html[dir="rtl"] .v2-panel-overlay { justify-content: flex-start; }
.v2-panel header { display: flex; align-items: center; justify-content: space-between; }
.v2-panel h3 { margin: 0; font-size: 1rem; }
.v2-login-nudge { font-size: .8rem; background: var(--v2-gold-soft); padding: 8px 10px; border-radius: 10px; }
.v2-toggles { display: flex; flex-direction: column; gap: 4px; overflow-y: auto; }
.v2-toggles label {
    display: flex; align-items: center; gap: 10px; padding: 8px 10px;
    border-radius: 10px; font-size: .88rem; cursor: pointer;
}
.v2-toggles label:hover { background: var(--v2-surface-2); }
.v2-toggles input { accent-color: var(--v2-brand); width: 16px; height: 16px; }

/* ---------- desktop: sidebar auto-collapse (icons only; expands on hover,
   stays open ~2.4s after the mouse leaves, then slides shut) ---------- */
@media (min-width: 901px) {
    .v2-sidebar {
        width: 74px; padding: 18px 12px; overflow-x: hidden;
        transition: width .28s ease 2.4s;
    }
    .v2-sidebar:hover { width: 236px; transition-delay: 0s; }
    .v2-sidebar .v2-nav-item { white-space: nowrap; }
    .v2-sidebar .v2-nav-item span + span,
    .v2-sidebar .v2-brand-logo {
        opacity: 0; transition: opacity .18s ease 2.4s;
    }
    .v2-sidebar:hover .v2-nav-item span + span,
    .v2-sidebar:hover .v2-brand-logo {
        opacity: 1; transition-delay: .12s;
    }
    /* app CTA collapses to a neat centered icon pill */
    .v2-sidebar .v2-app-cta {
        white-space: nowrap; overflow: hidden; justify-content: center;
        padding: 12px 0; transition: padding .28s ease 2.4s;
    }
    .v2-sidebar:hover .v2-app-cta { padding: 12px; transition-delay: 0s; }
    .v2-sidebar .v2-app-cta > span:not(.v2-app-cta-ic) {
        opacity: 0; max-width: 0; overflow: hidden;
        transition: opacity .18s ease 2.4s, max-width .28s ease 2.4s;
    }
    .v2-sidebar:hover .v2-app-cta > span:not(.v2-app-cta-ic) {
        opacity: 1; max-width: 150px; transition-delay: .12s;
    }
    .v2-brand-mark { display: block; opacity: 1; transition: opacity .18s ease 2.4s; }
    .v2-sidebar:hover .v2-brand-mark { opacity: 0; transition-delay: 0s; }
}

/* ---------- intro splash: round logo dissolves into the sidebar brand ---------- */
.v2-intro { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.v2-intro[hidden] { display: none; }
.v2-intro img {
    width: 190px; height: 190px; border-radius: 50%; object-fit: cover;
    box-shadow: 0 16px 60px rgba(0, 0, 0, .35);
    animation: v2introPop .9s ease-out;
    /* stays visible the whole flight; fades only as it lands on the sidebar mark */
    transition: transform 1.35s cubic-bezier(.55, 0, .2, 1), opacity .45s ease 1.05s;
}
@keyframes v2introPop { from { transform: scale(.5); opacity: 0; } }
.v2-spark {
    position: fixed; border-radius: 50%; pointer-events: none;
    box-shadow: 0 0 8px rgba(212, 175, 55, .5);
    transition: transform 1.15s cubic-bezier(.5, 0, .25, 1), opacity .5s ease .75s;
}
/* intro blur lives on the sidebar + content, NOT on .v2-app: a filter on the
   shell would turn it into the containing block for the fixed top/bottom bars
   and they'd scroll away with the page while the filter (or its 1.5s
   transition) is active */
.v2-app > .v2-sidebar, .v2-app .v2-content { transition: filter 1.5s ease; }
.v2-app.v2-blur > .v2-sidebar, .v2-app.v2-blur .v2-content { filter: blur(10px); }

/* ---------- responsive shell ---------- */
@media (max-width: 560px) {
    .v2-hero-duo { grid-template-columns: 1fr; }
    .v2-hero-duo .v2-hero-q:last-child {
        border-inline-start: 0; padding-inline-start: 0;
        border-top: 1px dashed var(--v2-border); padding-top: 10px;
    }
}
@media (max-width: 900px) {
    .v2-sidebar {
        position: fixed; z-index: 80; transform: translateX(-105%);
        transition: transform .22s ease; box-shadow: var(--v2-shadow-lift);
    }
    html[dir="rtl"] .v2-sidebar { transform: translateX(105%); }
    .v2-sidebar.is-open { transform: none !important; }
    .v2-menu-toggle { display: inline-flex; }
    .v2-content { padding: 14px; }
}

/* ---------------- FAQ page ---------------- */
.v2-faq-lead { margin: 0 0 12px; font-size: .92rem; line-height: 1.6; }
.v2-store-row { display: flex; gap: 12px; flex-wrap: wrap; margin: 4px 0 14px; }
.v2-store-btn { display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; border-radius: 14px; background: #111; color: #fff; text-decoration: none; border: 1px solid #333; transition: transform .15s, box-shadow .15s; }
.v2-store-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.25); color: #fff; }
.v2-store-ic { font-size: 1.5rem; line-height: 1; }
.v2-store-txt { display: flex; flex-direction: column; line-height: 1.15; }
.v2-store-txt small { font-size: .58rem; letter-spacing: .08em; opacity: .75; }
.v2-store-txt b { font-size: 1.02rem; }
.v2-wa-btn { background: linear-gradient(135deg, #128c4a, #0b6b38); border-color: #0b6b38; align-self: flex-start; }
.v2-faq-steps { margin: 0 0 10px; padding-inline-start: 20px; font-size: .86rem; line-height: 1.7; }
.v2-faq-steps li { margin: 4px 0; }
.v2-faq-wa { font-weight: 800; color: #128c4a; text-decoration: none; margin-inline-start: 6px; }
.v2-faq details { border: 1px solid var(--v2-border); border-radius: 12px; margin: 8px 0; overflow: hidden; }
.v2-faq summary { cursor: pointer; padding: 11px 14px; font-weight: 700; font-size: .88rem; display: flex; align-items: center; gap: 8px; list-style: none; user-select: none; }
.v2-faq summary::-webkit-details-marker { display: none; }
.v2-faq summary::after { content: "▾"; margin-inline-start: auto; opacity: .55; transition: transform .2s; flex-shrink: 0; }
.v2-faq details[open] summary::after { transform: rotate(180deg); }
.v2-faq details[open] summary { border-bottom: 1px dashed var(--v2-border); }
.v2-faq summary:hover { background: rgba(127,127,127,.06); }
.v2-faq-a { margin: 0; padding: 10px 14px 13px; font-size: .85rem; line-height: 1.7; opacity: .92; }
.v2-faq-contact .v2-faq-a { padding-inline: 0; }
[dir="rtl"] .v2-faq-a, [dir="rtl"] .v2-faq summary { text-align: right; }
.v2-faq-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--v2-border); }
.v2-faq-links-t { font-size: .76rem; font-weight: 800; opacity: .7; }
.v2-faq-links a { display: inline-flex; padding: 5px 12px; border: 1px solid var(--v2-border); border-radius: 999px; font-size: .78rem; font-weight: 700; text-decoration: none; color: var(--v2-ink); transition: border-color .15s, transform .15s; }
.v2-faq-links a:hover { border-color: #c9a227; transform: translateY(-1px); }

/* ---------------- first-visit disclaimer ---------------- */
.v2-disc { position: fixed; inset: 0; z-index: 9000; background: rgba(10, 14, 20, .62); backdrop-filter: blur(6px); display: flex; align-items: center; justify-content: center; padding: 18px; }
.v2-disc-card { background: var(--v2-surface); color: var(--v2-ink); border: 1px solid var(--v2-border); border-radius: 18px; max-width: 620px; width: 100%; max-height: 82vh; display: flex; flex-direction: column; padding: 18px 20px; box-shadow: 0 24px 70px rgba(0,0,0,.4); animation: v2introPop .35s ease; }
.v2-disc-card h2 { margin: 0 0 10px; font-size: 1.05rem; text-align: center; }
.v2-disc-body { overflow-y: auto; font-size: .84rem; line-height: 1.9; border: 1px solid var(--v2-border); border-radius: 12px; padding: 10px 14px; }
.v2-disc-body ul { margin: 0; padding-inline-start: 18px; }
.v2-disc-body li { margin: 6px 0; }
.v2-disc-agree { margin-top: 14px; align-self: center; padding: 11px 34px; border: 0; border-radius: 12px; cursor: pointer; font-weight: 800; font-size: .95rem; color: #fff; background: linear-gradient(135deg, #c9a227, #8a6d13); box-shadow: 0 4px 14px rgba(201,162,39,.35); }
.v2-disc-agree:hover { filter: brightness(1.06); }
.v2-disc-out { opacity: 0; transition: opacity .3s; }
.v2-disc-lock { overflow: hidden; }

/* ---------------- breaking-news toast ---------------- */
.v2-toast { position: fixed; left: 50%; bottom: 18px; transform: translate(-50%, 130%); z-index: 8500; width: min(480px, calc(100vw - 24px)); background: var(--v2-surface); color: var(--v2-ink); border: 1px solid var(--v2-border); border-inline-start: 4px solid #c9a227; border-radius: 14px; padding: 12px 14px; box-shadow: 0 12px 40px rgba(0,0,0,.35); transition: transform .35s ease, opacity .35s; opacity: 0; }
.v2-toast.is-in { transform: translate(-50%, 0); opacity: 1; }
.v2-toast-top { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.v2-toast-tag { font-size: .68rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: #b03535; }
.v2-toast-imp { font-size: .66rem; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: rgba(201,162,39,.15); color: #8a6d13; border: 1px solid rgba(201,162,39,.4); }
.v2-toast-x { margin-inline-start: auto; border: 0; background: transparent; cursor: pointer; color: inherit; opacity: .55; font-size: .85rem; }
.v2-toast-x:hover { opacity: 1; }
.v2-toast-title { font-size: .9rem; font-weight: 700; line-height: 1.45; margin-bottom: 8px; }
.v2-toast-btn { display: inline-flex; padding: 6px 16px; border-radius: 9px; font-size: .78rem; font-weight: 800; text-decoration: none; color: #fff; background: linear-gradient(135deg, #12867c, #0b5f58); }

/* ---------------- gold-impact events mini-table (intl gold card) ---------------- */
.v2-ge { margin-top: 10px; border-top: 1px dashed var(--v2-border); padding-top: 8px; }
.v2-ge-head { display: flex; align-items: center; justify-content: space-between; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; opacity: .8; margin-bottom: 5px; }
.v2-ge-more { text-decoration: none; color: #12867c; font-weight: 800; }
.v2-ge-list { max-height: 118px; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; }
.v2-ge-row { display: flex; align-items: center; gap: 7px; font-size: .72rem; line-height: 1.3; }
.v2-ge-count { flex-shrink: 0; min-width: 52px; font-variant-numeric: tabular-nums; font-weight: 800; color: #b03535; }
.v2-ge-t { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-ge-row .v2-ec-bulls { flex-shrink: 0; font-size: .6rem; }

/* ---------------- history page ---------------- */
.v2-hist-note { font-size: .8rem; margin: 0 0 10px; }
.v2-hist-stamp { font-size: .72rem; }
.v2-hist-wrap { overflow: auto; max-height: 68vh; border: 1px solid var(--v2-border); border-radius: 12px; }
.v2-hist-table { width: 100%; border-collapse: collapse; font-size: .84rem; min-width: 560px; }
.v2-hist-table th { position: sticky; top: 0; background: var(--v2-surface); text-align: start; padding: 9px 12px; border-bottom: 2px solid var(--v2-border); font-size: .74rem; text-transform: uppercase; letter-spacing: .03em; z-index: 1; }
.v2-hist-table td { padding: 7px 12px; border-bottom: 1px solid var(--v2-border); font-variant-numeric: tabular-nums; }
.v2-hist-table tbody tr:hover { background: rgba(127,127,127,.05); }
.v2-hist-date { font-weight: 700; white-space: nowrap; }

/* ---------------- calculators page ---------------- */
.v2-cl-note { font-size: .8rem; margin: 0 0 12px; }
.v2-cl-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-bottom: 12px; }
.v2-cl-form label { display: flex; flex-direction: column; gap: 4px; font-size: .72rem; font-weight: 800; color: inherit; opacity: .95; }
.v2-cl-form input, .v2-cl-form select { padding: 9px 11px; border: 1px solid var(--v2-border); border-radius: 9px; font-size: .88rem; background: var(--v2-surface); color: var(--v2-ink); min-width: 0; }
.v2-cl-form input:focus, .v2-cl-form select:focus { outline: 2px solid #12867c33; border-color: #12867c; }
.v2-cl-res { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; border-radius: 11px; background: linear-gradient(135deg, rgba(201,162,39,.12), rgba(201,162,39,.04)); border: 1px solid rgba(201,162,39,.35); font-size: .85rem; font-weight: 700; }
.v2-cl-res b { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.v2-cl-break { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; font-size: .8rem; }
.v2-cl-break > div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed var(--v2-border); padding-bottom: 4px; }
.v2-cl-break b { font-variant-numeric: tabular-nums; }

/* ---------------- premium promo popup ---------------- */
.v2-prem { position: fixed; inset: 0; z-index: 8800; background: rgba(10, 14, 20, .6); backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; padding: 18px; }
.v2-prem-card { position: relative; background: var(--v2-surface); color: var(--v2-ink); border: 1px solid rgba(201,162,39,.5); border-radius: 20px; max-width: 430px; width: 100%; max-height: 88vh; overflow-y: auto; padding: 20px 22px; box-shadow: 0 24px 70px rgba(0,0,0,.45); animation: v2introPop .35s ease; text-align: center; }
.v2-prem-x { position: absolute; top: 10px; inset-inline-end: 12px; border: 0; background: transparent; cursor: pointer; color: inherit; opacity: .5; font-size: 1rem; }
.v2-prem-x:hover { opacity: 1; }
.v2-prem-hero { max-width: 100%; max-height: 160px; border-radius: 12px; margin-bottom: 8px; }
.v2-prem-card h2 { margin: 0 0 2px; font-size: 1.25rem; }
.v2-prem-sub { margin: 0 0 10px; font-size: .82rem; opacity: .8; }
.v2-prem-list { list-style: none; margin: 0 0 10px; padding: 0; text-align: start; display: flex; flex-direction: column; gap: 7px; font-size: .84rem; line-height: 1.5; }
.v2-prem-list li { display: flex; gap: 9px; align-items: flex-start; }
.v2-prem-plans { font-size: .76rem; font-weight: 800; color: #8a6d13; margin: 0 0 12px; }
.v2-prem-cta { width: 100%; padding: 12px; border: 0; border-radius: 12px; cursor: pointer; font-weight: 900; font-size: .95rem; color: #fff; background: linear-gradient(135deg, #c9a227, #8a6d13); box-shadow: 0 5px 16px rgba(201,162,39,.4); margin-bottom: 8px; }
.v2-prem-cta:hover { filter: brightness(1.06); }
.v2-prem-cta:disabled { opacity: .6; cursor: wait; }
.v2-prem-wa { display: block; padding: 10px; border-radius: 12px; font-weight: 800; font-size: .84rem; text-decoration: none; color: #128c4a; border: 1.5px solid #128c4a; }

/* ---------------- history page: bar, lock, upsell ---------------- */
.v2-hist-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.v2-hist-form { display: flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 800; }
.v2-hist-form select { padding: 8px 12px; border: 1px solid var(--v2-border); border-radius: 9px; font-size: .84rem; background: var(--v2-surface); color: var(--v2-ink); }
.v2-hist-csv { display: inline-flex; padding: 8px 14px; border-radius: 9px; font-size: .8rem; font-weight: 800; text-decoration: none; color: #fff; background: linear-gradient(135deg, #12867c, #0b5f58); }
.v2-hist-bar .v2-hist-stamp { margin-inline-start: auto; }
.v2-hist-lock { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: linear-gradient(135deg, rgba(201,162,39,.14), rgba(201,162,39,.05)); border: 1px solid rgba(201,162,39,.4); border-radius: 12px; padding: 11px 15px; font-size: .82rem; font-weight: 600; margin-bottom: 12px; }
.v2-hist-cta { display: inline-flex; padding: 7px 16px; border-radius: 999px; font-size: .78rem; font-weight: 800; text-decoration: none; color: #fff; background: linear-gradient(135deg, #c9a227, #8a6d13); white-space: nowrap; }
.v2-hist-up-list { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 7px; font-size: .8rem; }
.v2-hist-up-list li::before { content: "✔ "; color: #128c4a; font-weight: 900; }
.v2-hist-up .v2-hist-cta { align-self: flex-start; }
.v2-hist-tabs { display: inline-flex; border: 1px solid var(--v2-border); border-radius: 999px; overflow: hidden; }
.v2-hist-tab { border: 0; background: transparent; color: var(--v2-ink); cursor: pointer; padding: 8px 18px; font-size: .82rem; font-weight: 800; display: inline-flex; align-items: center; gap: 6px; }
.v2-hist-tab.is-on { background: linear-gradient(135deg, #12867c, #0b5f58); color: #fff; }
.v2-calc-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.v2-calc-tab { border: 1px solid var(--v2-border); background: var(--v2-surface); color: var(--v2-ink); cursor: pointer; padding: 9px 16px; border-radius: 999px; font-size: .8rem; font-weight: 800; display: inline-flex; align-items: center; gap: 6px; transition: border-color .15s, transform .15s; }
.v2-calc-tab:hover { border-color: #c9a227; transform: translateY(-1px); }
.v2-calc-tab.is-on { background: linear-gradient(135deg, #12867c, #0b5f58); color: #fff; border-color: #0b5f58; }
.v2-calc-pane { animation: v2slide .25s ease; }
/* the hidden attribute must always win — .v2-card/.v2-grid display rules were overriding it */
.v2-body [hidden] { display: none !important; }

/* ---------------- portfolio page ---------------- */
.v2-nav-star { margin-inline-start: auto; font-size: .6rem; }
.v2-pf-total { font-size: 1.9rem; }
.v2-pf-usd { font-size: 1.05rem; font-weight: 800; margin: 2px 0 8px; }
.v2-pf-usd small { opacity: .6; }
.v2-pf-chg { font-size: .82rem; font-weight: 800; margin: 2px 0; }
.v2-pf-allocbar { display: flex; height: 14px; border-radius: 999px; overflow: hidden; margin-bottom: 12px; background: rgba(127,127,127,.12); }
.v2-pf-allocbar i { display: block; height: 100%; }
.pf-gold { background: linear-gradient(135deg, #e3b525, #c9a227); }
.pf-silver { background: linear-gradient(135deg, #9aa4ad, #7d8790); }
.pf-crypto { background: linear-gradient(135deg, #f7931a, #d97706); }
.v2-pf-alloc { display: flex; flex-direction: column; gap: 7px; font-size: .84rem; }
.v2-pf-alloc > div { display: flex; align-items: center; gap: 8px; }
.v2-pf-alloc b { margin-inline-start: auto; font-variant-numeric: tabular-nums; }
.v2-pf-alloc em { font-style: normal; opacity: .6; min-width: 48px; text-align: end; font-variant-numeric: tabular-nums; }
.pf-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.v2-pf-del { border: 0; background: transparent; cursor: pointer; opacity: .5; font-size: .9rem; }
.v2-pf-del:hover { opacity: 1; }
.v2-pf-wrap { max-height: 46vh; }
.v2-pf-snapwrap { max-height: 32vh; margin-top: 10px; }
.v2-pf-chart { width: 100%; height: 150px; display: block; }
.v2-pf-chartmeta { font-size: .72rem; text-align: center; margin-top: 4px; }
.v2-pf-pitch .v2-store-row { margin-top: 6px; }
.v2-pf-ccy { display: inline-flex; border: 1px solid var(--v2-border); border-radius: 9px; overflow: hidden; }
.v2-pf-ccy button { border: 0; background: transparent; color: var(--v2-ink); cursor: pointer; padding: 8px 14px; font-size: .8rem; font-weight: 800; }
.v2-pf-ccy button.is-on { background: linear-gradient(135deg, #12867c, #0b5f58); color: #fff; }
.v2-pf-hint { margin: 2px 0 10px; padding: 8px 12px; border-radius: 9px; background: rgba(18,134,124,.08); border: 1px dashed rgba(18,134,124,.4); font-size: .82rem; font-weight: 700; }
.v2-pf-cardpitch { font-size: .8rem; line-height: 1.55; margin: 0 0 10px; }

/* ---------------- customize panel: groups + coin picker ---------------- */
.v2-tgl-group { font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; opacity: .65; margin: 14px 0 4px; padding-bottom: 3px; border-bottom: 1px dashed var(--v2-border); }
.v2-tgl-group:first-child { margin-top: 0; }
.v2-coinpick { margin: 2px 0 6px 26px; border: 1px dashed var(--v2-border); border-radius: 10px; padding: 6px 10px; }
.v2-coinpick summary { cursor: pointer; font-size: .74rem; font-weight: 800; color: #12867c; list-style: none; }
.v2-coinpick summary::-webkit-details-marker { display: none; }
.v2-coinpick summary::before { content: "▸ "; }
.v2-coinpick[open] summary::before { content: "▾ "; }
.v2-coinpick-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 10px; margin-top: 8px; max-height: 180px; overflow-y: auto; overflow-x: hidden; padding-inline-end: 6px; scrollbar-width: thin; scrollbar-color: rgba(18,134,124,.45) transparent; }
.v2-coinpick-list::-webkit-scrollbar { width: 6px; height: 0; }
.v2-coinpick-list::-webkit-scrollbar-track { background: transparent; }
.v2-coinpick-list::-webkit-scrollbar-thumb { background: rgba(18,134,124,.45); border-radius: 999px; }
.v2-coinpick-list label { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.v2-coinpick-list label { display: flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 600; cursor: pointer; }

/* ---------------- econ hero design + event flags ---------------- */
.v2-ec-hero { border: 1px solid rgba(18,134,124,.35); background: linear-gradient(135deg, rgba(18,134,124,.09), rgba(201,162,39,.07)); border-radius: 14px; }
.v2-ec-hero-top .v2-cal-flag { width: 26px; height: 20px; border-radius: 4px; overflow: hidden; display: inline-flex; }
.v2-ec-hero-top .v2-cal-flag .v2-flag-img { width: 100%; height: 100%; object-fit: cover; }
.v2-ec-countdown { font-size: 1.15rem; font-weight: 900; color: #b03535; font-variant-numeric: tabular-nums; }
.v2-ec-r1 .v2-cal-flag { width: 22px; height: 17px; border-radius: 3px; overflow: hidden; display: inline-flex; flex-shrink: 0; }
.v2-ec-r1 .v2-cal-flag .v2-flag-img { width: 100%; height: 100%; object-fit: cover; }
.v2-ec-ssrflag { width: 18px; height: 13px; border-radius: 2px; vertical-align: -2px; margin-inline-end: 4px; }
.v2-ec-hero-top { display: flex; align-items: center; gap: 8px; }
.v2-ec-hero-top > span[data-i18n="ec_next"] { flex-shrink: 0; font-size: .6rem; }
#vEcHeroCur { flex: 1; display: flex; align-items: center; min-width: 0; }
.v2-ec-heromid { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; }
.v2-ec-hero-top .v2-ec-info { flex-shrink: 0; }
.v2-crypto-pkr { grid-column: 2; justify-self: end; font-style: normal; font-size: .72rem; font-weight: 800; color: #8a6d13; background: rgba(201,162,39,.1); border: 1px solid rgba(201,162,39,.3); border-radius: 6px; padding: 1px 7px; margin-top: 2px; font-variant-numeric: tabular-nums; }
.v2-lock-card { border-style: dashed; border-color: rgba(201,162,39,.5); background: linear-gradient(135deg, rgba(201,162,39,.06), transparent); }
.v2-lock-list { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 7px; font-size: .8rem; }
.v2-lock-list li::before { content: "🔓 "; }

.v2-topbar-logo { display: none; } /* mobile-only — the app-shell shows it */

/* ================= MOBILE APP-SHELL (dedicated mobile web, same URLs) ================= */
.v2-mnav, .v2-msheet { display: none; }
.v2-footer-seo { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: .74rem; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px dashed var(--v2-border); }
.v2-footer-seo b { font-weight: 800; opacity: .7; }
.v2-footer-seo a { text-decoration: none; color: inherit; opacity: .8; }
/* deploy version — tiny, muted, admin-style; lets the owner confirm which
   release a phone/desktop is actually on */
.v2-ver { font-size: .58rem; opacity: .45; letter-spacing: .04em; font-variant-numeric: tabular-nums; align-self: center; }

/* gold-drive box: appears left of the intl gold price when a just-released
   gold-impact event points a likely direction */
.v2-gold-price-row { display: flex; align-items: center; gap: 10px; }
.v2-gold-drive { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px;
    font-size: .58rem; font-weight: 800; line-height: 1.1; padding: 4px 8px; border-radius: 9px;
    border: 1px solid; max-width: 128px; animation: v2slide .4s ease; }
.v2-gold-drive small { font-size: .5rem; font-weight: 700; opacity: .85; text-transform: uppercase; letter-spacing: .03em; }
.v2-gold-drive.up { background: rgba(18,134,124,.1); border-color: rgba(18,134,124,.5); color: #0b6b60; }
.v2-gold-drive.down { background: rgba(198,40,40,.09); border-color: rgba(198,40,40,.45); color: #b03636; }
[data-theme="dark"] .v2-gold-drive.up { color: #43d17c; }
[data-theme="dark"] .v2-gold-drive.down { color: #ff8a94; }
.v2-footer-seo a:hover { opacity: 1; color: #c9a227; }
.v2-footer-sep { opacity: .4; }
.v2-footer-base { display: flex; gap: 14px; flex-wrap: wrap; }

@media (max-width: 900px) {
    /* bottom tab bar — the phone's primary navigation */
    .v2-mnav {
        display: grid; grid-template-columns: repeat(5, 1fr);
        position: fixed; inset-inline: 0; bottom: 0; z-index: 700;
        background: color-mix(in srgb, var(--v2-surface) 88%, transparent);
        backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
        border-top: 1px solid var(--v2-border);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
    }
    .v2-mnav a, .v2-mnav button {
        display: flex; flex-direction: column; align-items: center; gap: 2px;
        border: 0; background: transparent; cursor: pointer;
        color: var(--v2-ink); opacity: .62; text-decoration: none;
        font-size: .62rem; font-weight: 800; padding: 4px 0; border-radius: 10px;
    }
    .v2-mnav i { font-style: normal; font-size: 1.18rem; line-height: 1; }
    .v2-mnav .is-on { opacity: 1; color: #12867c; }
    .v2-mnav .is-on i { transform: translateY(-1px); }

    /* More sheet — slide-up panel with the rest of the app */
    .v2-msheet { display: flex; position: fixed; inset: 0; z-index: 720; background: rgba(10,14,20,.5); align-items: flex-end; opacity: 0; transition: opacity .22s; }
    .v2-msheet.is-in { opacity: 1; }
    .v2-msheet[hidden] { display: none; }
    .v2-msheet-panel { width: 100%; background: var(--v2-surface); border-radius: 22px 22px 0 0; padding: 10px 16px calc(18px + env(safe-area-inset-bottom)); transform: translateY(30px); transition: transform .22s; box-shadow: 0 -12px 40px rgba(0,0,0,.3); }
    .v2-msheet.is-in .v2-msheet-panel { transform: none; }
    .v2-msheet-grab { width: 42px; height: 4px; border-radius: 999px; background: var(--v2-border); margin: 0 auto 14px; }
    .v2-msheet-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px 8px; }
    .v2-msheet-grid a { display: flex; flex-direction: column; align-items: center; gap: 5px; text-decoration: none; color: var(--v2-ink); font-size: .68rem; font-weight: 700; text-align: center; }
    .v2-msheet-grid i { font-style: normal; font-size: 1.5rem; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; background: rgba(18,134,124,.09); border: 1px solid var(--v2-border); border-radius: 16px; }

    /* app-like page chrome: bars pinned, logo instead of the page name */
    .v2-content { padding: calc(64px + env(safe-area-inset-top)) 10px calc(84px + env(safe-area-inset-bottom)); }
    .v2-topbar { position: fixed; top: 0; inset-inline: 0; z-index: 90; height: calc(54px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); background: color-mix(in srgb, var(--v2-surface) 88%, transparent); border-bottom: 1px solid var(--v2-border); }
    .v2-menu-toggle { display: none !important; } /* bottom bar covers navigation */
    .v2-topbar-logo { display: inline-block; height: 26px; width: auto; }
    .v2-topbar-title h1, .v2-topbar-title .v2-h1like {
        /* the page name stays for SEO/screen readers; the logo represents the app */
        position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
    }
    /* compact header — every element must FIT in 390px: an overflowing fixed
       topbar widens the layout viewport and un-pins both bars */
    .v2-topbar { gap: 6px; padding-inline: 10px; }
    .v2-topbar-title { min-width: 0; gap: 8px; }
    .v2-topbar-logo { max-width: 112px; object-fit: contain; }
    .v2-market-dot em { display: none; } /* pulsing dot alone says "live" */
    #v2Customize span + span { display: none; } /* icon-only on phones */
    .v2-topbar-actions { gap: 6px; flex-shrink: 1; min-width: 0; }
    .v2-chip { padding: 6px 9px; font-size: .68rem; white-space: nowrap; }
    .v2-user-name { display: none; }
    .v2-sidebar .v2-app-cta { display: none; } /* app users ARE in the app */
    .v2-grid { grid-template-columns: 1fr; gap: 10px; }
    .v2-span12, .v2-span9, .v2-span6, .v2-span3 { grid-column: span 1; }
    .v2-card { border-radius: 18px; padding: 13px 14px; }
    .v2-card-head h2 { font-size: .88rem; }
    .v2-drag { display: none; } /* drag is a desktop gesture */

    /* rate typography tuned for phones */
    .v2-hero-price { font-size: 1.7rem; }
    .v2-hero-duo { grid-template-columns: 1fr; gap: 14px; }
    .v2-metal-price { font-size: 1.3rem; }
    .v2-pf-total { font-size: 1.6rem; }

    /* components above the tab bar */
    .v2-toast { bottom: calc(78px + env(safe-area-inset-bottom)); }
    .v2-prem-card, .v2-disc-card { max-height: 78vh; }
    .v2-ad-lead { margin: 8px 0; }
    .v2-store-row { flex-direction: column; }
    .v2-store-btn { justify-content: center; }
    .v2-calc-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
    .v2-calc-tabs::-webkit-scrollbar { display: none; }
    .v2-calc-tab { flex-shrink: 0; }
    /* JS-inserted in-feed ad boxes (one after every 2 cards, phones only) */
    .v2-mad { border: 1px dashed var(--v2-border); border-radius: 14px; padding: 6px; background: var(--v2-surface); overflow: hidden; }
    .v2-hist-bar { gap: 8px; }
    .v2-hist-bar .v2-hist-stamp { display: none; }
    .v2-hist-wrap { max-height: 56vh; }
    /* minmax(0,…): a 1fr track's min is min-content, and long bilingual
       select options were forcing 425px columns off the screen */
    .v2-cl-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .v2-cl-form input, .v2-cl-form select { width: 100%; max-width: 100%; }
    .v2-faq summary { font-size: .84rem; }
    .v2-footer { padding-bottom: 4px; }
}

/* ================= Phase 3: ranked SEO pages in V2 skin ================= */
/* Styles the classic pgr-* markup as-is — ids/structure stay identical so
   rankings and the schema/FAQ content are untouched. */
.v2-seo-wrap { max-width: 860px; margin: 0 auto; font-size: .92rem; line-height: 1.75; }
.v2-seo-wrap .pgr-breadcrumbs { font-size: .74rem; opacity: .75; margin-bottom: 10px; display: flex; flex-wrap: wrap; gap: 4px; }
.v2-seo-wrap .pgr-breadcrumbs a { color: #12867c; text-decoration: none; font-weight: 700; }
.v2-seo-wrap h1, .v2-seo-wrap .pgr-seo-h1 { font-size: 1.55rem; font-weight: 800; line-height: 1.3; margin: 0 0 8px; color: var(--v2-ink); }
.v2-seo-wrap h2, .v2-seo-wrap .pgr-seo-heading { font-size: 1.08rem; font-weight: 800; margin: 18px 0 8px; }
.v2-seo-wrap .pgr-last-updated { font-size: .8rem; font-weight: 700; color: #12867c; margin: 0; }
.v2-seo-wrap .pgr-benchmark-strip { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; opacity: .6; margin: 2px 0 14px; }
.v2-seo-wrap .card { background: var(--v2-surface); border: 1px solid var(--v2-border); border-radius: 16px; box-shadow: var(--v2-shadow); padding: 14px 18px; margin: 12px 0; }
.v2-seo-wrap table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.v2-seo-wrap table th { text-align: start; padding: 9px 12px; border-bottom: 2px solid var(--v2-border); font-size: .74rem; text-transform: uppercase; letter-spacing: .03em; }
.v2-seo-wrap table td { padding: 8px 12px; border-bottom: 1px solid var(--v2-border); font-variant-numeric: tabular-nums; }
.v2-seo-wrap table tbody tr:last-child td { border-bottom: 0; }
.v2-seo-wrap .pgr-seo-rate-summary td:first-child { font-weight: 800; }
.v2-seo-wrap p[lang="ur"] { font-size: 1rem; line-height: 2; }
.v2-seo-wrap .pgr-related-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.v2-seo-wrap .pgr-related-list li a { display: inline-flex; padding: 6px 14px; border: 1px solid var(--v2-border); border-radius: 999px; font-size: .8rem; font-weight: 700; text-decoration: none; color: var(--v2-ink); }
.v2-seo-wrap .pgr-related-list li a:hover { border-color: #c9a227; }
.v2-seo-wrap .pgr-ad-content-slot { margin: 14px 0; }
.v2-seo-wrap input[type="number"], .v2-seo-wrap input[type="text"], .v2-seo-wrap select { padding: 8px 11px; border: 1px solid var(--v2-border); border-radius: 9px; background: var(--v2-surface); color: var(--v2-ink); font-size: .88rem; }
.v2-seo-wrap label { font-weight: 700; font-size: .84rem; }
.v2-seo-wrap button, .v2-seo-wrap .btn { padding: 9px 18px; border: 0; border-radius: 10px; cursor: pointer; font-weight: 800; color: #fff; background: linear-gradient(135deg, #12867c, #0b5f58); }
.v2-seo-wrap a { color: #0b6b60; }
@media (max-width: 900px) { .v2-seo-wrap { font-size: .89rem; } .v2-seo-wrap h1, .v2-seo-wrap .pgr-seo-h1 { font-size: 1.3rem; } }
.v2-auth-steps { margin: 0 0 10px; padding-inline-start: 22px; font-size: .86rem; line-height: 1.8; font-weight: 600; }
.v2-auth-steps li::marker { color: #c9a227; font-weight: 900; }
.v2-auth-once { font-size: .8rem; background: rgba(18,134,124,.08); border: 1px dashed rgba(18,134,124,.4); border-radius: 10px; padding: 8px 12px; margin: 0 0 12px; font-weight: 700; }
.v2-auth-first { display: flex; align-items: center; gap: 8px; background: linear-gradient(135deg, rgba(201,162,39,.14), rgba(201,162,39,.05)); border: 1px solid rgba(201,162,39,.45); border-radius: 12px; padding: 11px 14px; margin: 0 0 14px; font-size: .84rem; font-weight: 800; text-decoration: none; color: var(--v2-ink); }
.v2-auth-first:hover { border-color: #c9a227; }
.v2-tgl-row { display: flex; align-items: center; gap: 8px; }
.v2-tgl-row label { flex: 1; min-width: 0; }
.v2-tgl-mv { display: inline-flex; gap: 4px; flex-shrink: 0; }
.v2-tgl-mv button { border: 1px solid var(--v2-border); background: var(--v2-surface); color: var(--v2-ink); cursor: pointer; border-radius: 7px; width: 30px; height: 26px; font-size: .68rem; line-height: 1; }
.v2-tgl-mv button:hover { border-color: #12867c; color: #12867c; }
/* footer hugs the bottom even on short pages (calc tabs etc.) */
.v2-main { display: flex; flex-direction: column; min-height: 100dvh; }
.v2-content { flex: 1 1 auto; }
.v2-appmodal { position: fixed; inset: 0; z-index: 8900; background: rgba(10,14,20,.6); backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; padding: 18px; }
.v2-appmodal-card { position: relative; background: var(--v2-surface); color: var(--v2-ink); border: 1px solid var(--v2-border); border-radius: 20px; max-width: 360px; width: 100%; padding: 22px; text-align: center; box-shadow: 0 24px 70px rgba(0,0,0,.45); animation: v2introPop .3s ease; display: flex; flex-direction: column; gap: 10px; }
.v2-appmodal-logo { width: 64px; height: 64px; margin: 0 auto; border-radius: 16px; }
.v2-appmodal-card h2 { margin: 0; font-size: 1.1rem; }
.v2-appmodal-card .v2-store-btn { justify-content: center; }
/* build-marker: app-popup-b26 */
/* build-marker: gold-drive-b29 */
