/*
 * WholesaleConsole V2 Design Layer
 *
 * Loads AFTER Bootstrap, sb-admin-2, and legacy styles.css.
 * Uses .v2 body class for specificity — wins over legacy without !important.
 * See /docs/design.md for the full spec.
 */

/* ── Tokens ── */
:root {
    --v2-bg: #f5f3ff;
    --v2-text: #1e1e28;
    --v2-dark: #0f0f14;
    --v2-dark-card: #16161d;
    --v2-purple: #6143e4;
    --v2-purple-hover: #5338c9;
    --v2-purple-muted: #8b7bc7;
    --v2-purple-light: #f0eef8;
    --v2-purple-faint-border: rgba(97,67,228,0.15);
    --v2-border: #e4e2f0;
    --v2-muted: #6a6a7a;
    --v2-green: #34d399;
    --v2-font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --v2-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --v2-radius-sm: 8px;
    --v2-radius-md: 12px;
    --v2-radius-lg: 14px;
    --v2-radius-xl: 16px;
    --v2-transition: 0.15s ease;
}

/* ── Shared scroll utility ── */
.wc-scroll-hidden { overflow-y: auto; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; }
.wc-scroll-hidden::-webkit-scrollbar { display: none; }
.wc-scroll-hint { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); font-size: 10px; color: var(--v2-purple-muted, #8b7bc7); display: flex; align-items: center; gap: 4px; animation: wcScrollBlink 1.5s ease-in-out infinite; cursor: pointer; pointer-events: auto; z-index: 2; }
.wc-scroll-hint.hidden { opacity: 0; pointer-events: none; animation: none; }
.v2 .v2-modal-card.wc-scroll-hidden { scrollbar-width: none; -ms-overflow-style: none; }
.v2 .v2-modal-card.wc-scroll-hidden::-webkit-scrollbar { display: none; }
.v2 .v2-modal-card .wc-scroll-hint { position: sticky; bottom: 0; }
@keyframes wcScrollBlink { 0%,100% { opacity: .4; } 50% { opacity: 1; } }

/* ── Base ── */
body.v2 {
    font-family: var(--v2-font-body);
    color: var(--v2-text);
    background: var(--v2-bg);
    -webkit-font-smoothing: antialiased;
}
body.v2 #content-wrapper {
    background: var(--v2-bg);
}


/* ── Standalone Nav (frosted glass) ── */
.v2-standalone-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 50;
    height: 58px; padding: 0 40px;
    background: rgba(255,255,255,0.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--v2-border);
    display: flex; align-items: center; justify-content: space-between;
}
.v2-standalone-nav-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.v2-standalone-nav-logo {
    width: 32px; height: 32px; border-radius: 8px; background: var(--v2-purple);
    display: flex; align-items: center; justify-content: center;
}
.v2-standalone-nav-logo svg { width: 16px; height: 16px; }
.v2-standalone-nav-name { font-weight: 600; font-size: 15px; color: var(--v2-text); }
.v2-standalone-nav-btn {
    font-size: 13px; font-weight: 500; color: var(--v2-text);
    background: transparent; padding: 7px 18px; border-radius: 7px;
    border: 1px solid var(--v2-border); text-decoration: none;
    transition: all var(--v2-transition);
}
.v2-standalone-nav-btn:hover { border-color: #ccc; background: #faf9ff; }
@media (max-width: 768px) {
    .v2-standalone-nav { position: relative; padding: 0 20px; }
}


/* ── Typography ── */
.v2 .v2-heading {
    font-family: var(--v2-font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--v2-text);
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.v2 .v2-section-heading {
    font-family: var(--v2-font-heading);
    font-size: 18px;
    font-weight: 800;
    color: var(--v2-text);
    letter-spacing: -0.01em;
}

.v2 .v2-stat-number {
    font-family: var(--v2-font-heading);
    font-size: 32px;
    font-weight: 800;
    color: var(--v2-text);
    letter-spacing: -0.02em;
    line-height: 1;
}

.v2 .v2-eyebrow {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: rgba(30,30,40,0.4);
}

.v2 .v2-muted {
    font-size: 13px;
    color: var(--v2-muted);
}


/* ── Cards ── */
.v2 .v2-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-lg);
    padding: 24px;
}

.v2 .v2-auth-card {
    background: var(--v2-dark-card);
    border: 1px solid rgba(97,67,228,0.18);
    border-radius: var(--v2-radius-xl);
    padding: 48px 44px 40px;
    max-width: 420px; width: 100%;
    text-align: center;
    position: relative;
    z-index: 1;
}
.v2 .v2-auth-card--wide { max-width: 600px; }

.v2 .v2-stat-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-md);
    padding: 20px;
    transition: box-shadow var(--v2-transition), transform var(--v2-transition);
}
.v2 .v2-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 18px rgba(97,67,228,0.08);
}


/* ── Buttons ── */
.v2 .v2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    background: var(--v2-purple);
    color: #fff;
    border: none;
    border-radius: var(--v2-radius-sm);
    font-family: var(--v2-font-body);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--v2-transition), transform var(--v2-transition);
    text-decoration: none;
}
.v2 .v2-btn:hover {
    background: var(--v2-purple-hover);
    transform: translateY(-1px);
    color: #fff;
    text-decoration: none;
}

.v2 .v2-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    background: transparent;
    color: var(--v2-muted);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-sm);
    font-family: var(--v2-font-body);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--v2-transition);
    text-decoration: none;
}
.v2 .v2-btn-outline:hover {
    border-color: var(--v2-purple-muted);
    color: var(--v2-text);
    text-decoration: none;
}

.v2 .v2-btn-ghost {
    background: none;
    border: none;
    color: var(--v2-purple-muted);
    font-family: var(--v2-font-body);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: var(--v2-radius-sm);
    transition: color var(--v2-transition), background var(--v2-transition);
}
.v2 .v2-btn-ghost:hover {
    color: #a99be0;
    background: rgba(97,67,228,0.08);
}

/* ── Full-width modifier ── */
.v2-btn--full { width: 100%; display: block; }


/* ── Form inputs ── */
.v2 .v2-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-text);
    margin-bottom: 6px;
}
.v2 .v2-label .optional {
    font-weight: 400;
    color: #b0b0be;
    font-size: 12px;
}

.v2 .v2-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-sm);
    font-family: var(--v2-font-body);
    font-size: 14px;
    color: var(--v2-text);
    background: var(--v2-bg);
    outline: none;
    transition: border-color var(--v2-transition);
}
.v2 .v2-input:focus {
    border-color: var(--v2-purple);
    background: #fff;
}
.v2 .v2-input::placeholder {
    color: #b0b0be;
}

.v2 textarea.v2-input {
    resize: vertical;
    min-height: 120px;
}

.v2 .v2-input-dark {
    width: 100%;
    padding: 14px 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--v2-radius-sm);
    color: #fff;
    font-family: var(--v2-font-body);
    font-size: 15px;
    outline: none;
    transition: border-color var(--v2-transition), box-shadow var(--v2-transition);
}
.v2 .v2-input-dark::placeholder {
    color: rgba(255,255,255,0.2);
}
.v2 .v2-input-dark:focus {
    border-color: rgba(97,67,228,0.5);
    box-shadow: 0 0 0 3px rgba(97,67,228,0.1);
}


/* ── Chips & tags ── */
.v2 .v2-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: var(--v2-radius-sm);
    background: #fff;
    color: var(--v2-text);
    border: 1px solid var(--v2-purple-faint-border);
    font-size: 11px;
    font-weight: 500;
    text-decoration: none;
    transition: border-color var(--v2-transition), box-shadow var(--v2-transition), transform var(--v2-transition);
}
.v2 .v2-chip:hover {
    border-color: rgba(97,67,228,0.35);
    box-shadow: 0 2px 12px rgba(97,67,228,0.08);
    transform: translateY(-1px);
    color: var(--v2-text);
    text-decoration: none;
}

.v2 .v2-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--v2-purple-light);
    border: 1px solid var(--v2-purple-faint-border);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 13px;
    color: #4a3a8a;
    font-weight: 500;
}

.v2 .v2-state-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border-radius: var(--v2-radius-sm);
    background: #fff;
    color: var(--v2-text);
    border: 1px solid var(--v2-purple-faint-border);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: border-color var(--v2-transition), box-shadow var(--v2-transition), transform var(--v2-transition);
}
.v2 .v2-state-chip:hover {
    border-color: rgba(97,67,228,0.35);
    box-shadow: 0 2px 12px rgba(97,67,228,0.08);
    transform: translateY(-1px);
    color: var(--v2-text);
    text-decoration: none;
}


/* ── Disclaimer / info box ── */
.v2 .v2-disclaimer {
    margin-top: 28px;
    padding: 20px 24px;
    background: #faf9ff;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.v2 .v2-disclaimer-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: var(--v2-radius-sm);
    background: var(--v2-purple-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--v2-purple-muted);
}
.v2 .v2-disclaimer-text {
    font-size: 12.5px;
    color: var(--v2-muted);
    line-height: 1.6;
}
.v2 .v2-disclaimer-text strong {
    color: var(--v2-text);
    font-weight: 600;
}


/* ── Section divider ── */
.v2 .v2-divider {
    margin: 48px 0 32px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.v2 .v2-divider::before,
.v2 .v2-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(97,67,228,0.1);
}
.v2 .v2-divider-label {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: rgba(30,30,40,0.35);
}


/* ── Event card (purple left border) ── */
.v2 .v2-event-card {
    border: none;
    border-left: 3px solid var(--v2-purple);
    border-radius: 0 10px 10px 0;
    background: #faf9ff;
    padding: 14px 16px;
}


/* ── Animations ── */
@keyframes v2-scale-in {
    from { transform: scale(0.8); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
}

.v2 .v2-animate-in {
    animation: v2-scale-in 0.2s ease-out;
}


/* ══════════════════════════════════════════════
   Explore grid (shared: /explore + /explore/{make})
══════════════════════════════════════════════ */

.v2 .explore-page { background: transparent; }

/* ── Grid container ── */
.v2 .explore-grid-container {
    background: transparent;
    border-radius: var(--v2-radius-lg);
    border: none;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
}

.v2 .explore-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: min(calc((100vw - 48px - 4 * 3px) / 5), 240px);
    grid-auto-flow: dense;
    gap: 3px;
    background: #f0eef5;
    border-radius: var(--v2-radius-lg);
    overflow: hidden;
}

/* ── Grid item (vehicle card) ── */
.v2 .grid-item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    min-width: 0;
    background: transparent;
    border: none;
    padding: 0;
    aspect-ratio: unset;
}
.v2 .grid-item.span-col-2 { grid-column: span 2; }
.v2 .grid-item.span-row-2 { grid-row: span 2; }
.v2 .grid-item.span-both  { grid-column: span 2; grid-row: span 2; }

.v2 .grid-item img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    border-radius: 0;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-origin: center center;
    backface-visibility: hidden;
}
.v2 .grid-item:hover img { transform: scale(1.06); }

/* ── Overlay: dark pill, bottom-right ── */
.v2 .grid-item .item-overlay {
    position: absolute;
    bottom: 0; right: 0; left: 0; top: auto;
    z-index: 2; pointer-events: none;
    display: flex; flex-direction: column;
    align-items: flex-end; justify-content: flex-end;
    padding: 10px; opacity: 1;
}
.v2 .grid-item .overlay-text-block {
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border-radius: var(--v2-radius-sm);
    padding: 8px 12px; max-width: 90%;
}
.v2 .grid-item .overlay-title {
    font-size: 13px; font-weight: 600; color: #fff;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    margin: 0; line-height: 1.3;
}
.v2 .grid-item .overlay-sub.image-copyright-credit {
    font-size: 10px; color: rgba(255,255,255,0.55); font-weight: 400;
    margin-top: 2px; pointer-events: auto; cursor: pointer;
    background: none; padding: 0; border-radius: 0; box-shadow: none;
    display: block; gap: 0;
}
.v2 .grid-item .overlay-sub.image-copyright-credit:hover { color: rgba(255,255,255,0.8); background: none; }
.v2 .grid-item .overlay-sub.image-copyright-credit .info-dot { opacity: 0.6; }

/* ── Multi-image indicator: top-left pill ── */
.v2 .grid-item .multi-indicator {
    position: absolute; top: 8px; left: 8px; z-index: 3;
    background: rgba(0,0,0,0.5); backdrop-filter: blur(6px);
    color: #fff; font-size: 11px; font-weight: 600;
    padding: 3px 8px; border-radius: var(--v2-radius-sm);
    display: flex; align-items: center; gap: 4px;
}

/* ── Counter card (dark, purple glow) ── */
.v2 .ev2-counter-card {
    background: var(--v2-dark); cursor: default;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 28px 20px; text-align: center; position: relative; overflow: hidden;
}
.v2 .ev2-counter-card::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 30%, rgba(97,67,228,0.22), transparent 70%);
    pointer-events: none;
}
.v2 .ev2-counter-card * { position: relative; z-index: 1; }
.v2 .ev2-counter-eyebrow {
    font-size: 9px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.09em; color: rgba(255,255,255,0.4); margin-bottom: 10px;
    display: flex; align-items: center; gap: 6px;
}
.v2 .ev2-counter-dot {
    width: 6px; height: 6px; border-radius: 50%; background: var(--v2-green);
    box-shadow: 0 0 6px rgba(52,211,153,0.5);
}
.v2 .ev2-counter-num {
    font-family: var(--v2-font-heading);
    font-size: 52px; font-weight: 800; line-height: 1; color: #fff; letter-spacing: -0.02em;
}
.v2 .ev2-counter-label { font-size: 14px; color: rgba(255,255,255,0.55); margin-top: 6px; line-height: 1.35; }
.v2 .ev2-counter-cta {
    margin-top: 16px; font-size: 12px; font-weight: 600; color: #fff;
    background: var(--v2-purple); border: none; padding: 8px 22px; border-radius: 7px;
    letter-spacing: 0.02em; transition: background var(--v2-transition); cursor: pointer;
}
.v2 .ev2-counter-cta:hover { background: var(--v2-purple-hover); }

/* ── Keep exploring card (dark) ── */
.v2 .grid-item.keep-exploring-card {
    background: var(--v2-dark); cursor: default;
    overflow: hidden; position: relative;
    display: flex; flex-direction: column;
}
.v2 .keep-exploring-card::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse 90% 50% at 50% 0%, rgba(97,67,228,0.12), transparent 60%);
    pointer-events: none;
}
.v2 .keep-exploring-card .item-overlay { display: none; }
.v2 .keep-exploring-card .ke-header {
    padding: 14px 16px 6px; position: relative; z-index: 1;
}
.v2 .keep-exploring-card .ke-header-label {
    font-size: 9px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.09em; color: rgba(255,255,255,0.4);
}
.v2 .keep-exploring-card .ke-list {
    display: flex; flex-direction: column; justify-content: center;
    flex: 1; padding: 4px 10px 14px; gap: 2px; position: relative; z-index: 1;
}
.v2 .keep-exploring-card .ke-row {
    display: flex; flex-direction: column; padding: 7px 10px;
    border-radius: 6px; transition: background .12s; text-decoration: none; min-width: 0;
}
.v2 .keep-exploring-card .ke-row:hover { background: rgba(97,67,228,0.12); }
.v2 .keep-exploring-card .ke-row-title {
    font-weight: 600; font-size: 13px; color: #fff; line-height: 1.2;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.v2 .keep-exploring-card .ke-row-sub {
    font-size: 11px; color: rgba(255,255,255,0.45); line-height: 1.2;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ── Load more sentinel ── */
.v2 .load-more-sentinel {
    text-align: center; padding: 20px; color: var(--v2-muted); font-size: 13px;
}

/* ── Explore grid responsive ── */
@media (max-width: 1200px) {
    .v2 .explore-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-rows: min(calc((100vw - 48px - 3 * 3px) / 4), 240px);
    }
}


/* ── Responsive ── */
@media (max-width: 768px) {
    .v2 .v2-heading { font-size: 17px; }
    .v2 .v2-section-heading { font-size: 14px; }
    .v2 .v2-chip { padding: 7px 12px; font-size: 10px; }
    .v2 .v2-state-chip { padding: 8px 16px; font-size: 10px; }
    .v2 .v2-disclaimer { flex-direction: column; gap: 10px; }

    .v2 .explore-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: calc((100vw - 48px - 2 * 3px) / 3);
    }
    .v2 .grid-item.keep-exploring-card { grid-row: span 2; }
    .v2 .ev2-counter-num { font-size: 42px; }
    .v2 .ev2-counter-label { font-size: 12px; }
    .v2 .ev2-counter-cta { font-size: 11px; padding: 7px 16px; }
    .v2 .keep-exploring-card .ke-row-title { font-size: 12px; }
    .v2 .keep-exploring-card .ke-row-sub { font-size: 10px; }
    .v2 .keep-exploring-card .ke-row { padding: 5px 8px; }
    .v2 .keep-exploring-card .ke-header { padding: 10px 12px 4px; }
    .v2 .grid-item .overlay-title { font-size: 12px; }
    .v2 .grid-item .overlay-text-block { padding: 6px 10px; }
}

@media (max-width: 480px) {
    .v2 .v2-heading { font-size: 15px; }
    .v2 .v2-auth-card { padding: 36px 24px 32px; }
    .v2 .v2-chip { padding: 6px 10px; font-size: 10px; gap: 6px; }
    .v2 .v2-card { padding: 20px 16px; border-radius: var(--v2-radius-md); }

    .v2 .explore-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: calc((100vw - 48px - 1 * 3px) / 2);
    }
    .v2 .ev2-counter-num { font-size: 36px; }
    .v2 .ev2-counter-label { font-size: 11px; }
    .v2 .ev2-counter-eyebrow { font-size: 8px; }
    .v2 .grid-item .overlay-title { font-size: 11px; }
    .v2 .grid-item .overlay-text-block { padding: 5px 8px; border-radius: 6px; }
    .v2 .grid-item .overlay-sub.image-copyright-credit { font-size: 9px; }
    .v2 .keep-exploring-card .ke-header { padding: 8px 10px 2px; }
    .v2 .keep-exploring-card .ke-header-label { font-size: 8px; }
    .v2 .keep-exploring-card .ke-list { padding: 2px 6px 8px; gap: 1px; }
    .v2 .keep-exploring-card .ke-row { padding: 4px 6px; }
    .v2 .keep-exploring-card .ke-row-title { font-size: 11px; }
    .v2 .keep-exploring-card .ke-row-sub { font-size: 9px; }
}

/* ── Contact FAB (v2 override) ── */
.v2 .contact-button {
    position: fixed; bottom: 28px; right: 28px; z-index: 12000;
    width: 52px; height: 52px; border-radius: 50%;
    background: var(--v2-purple); color: #fff;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(97,67,228,0.35);
    transition: transform 0.17s, box-shadow 0.17s;
}
.v2 .contact-button:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 22px rgba(97,67,228,0.45);
}
.v2 .contact-button svg { width: 22px; height: 22px; }

/* ── Contact Modal (v2) ── */
.v2-contact-backdrop {
    position: fixed; inset: 0; z-index: 13000;
    background: rgba(15,15,20,0.65);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
}
.v2-contact-backdrop.open { opacity: 1; visibility: visible; }

.v2-contact-modal {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 0 0 1px rgba(0,0,0,0.04);
    width: 100%; max-width: 520px;
    padding: 36px 32px 28px;
    position: relative;
    max-height: calc(100vh - 48px);
    display: flex; flex-direction: column;
    transform: scale(0.9); opacity: 0;
    transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), opacity 0.25s;
}
.v2-contact-backdrop.open .v2-contact-modal {
    transform: scale(1); opacity: 1;
}

.v2-contact-close {
    position: absolute; top: 16px; right: 18px;
    width: 32px; height: 32px; border: none;
    background: transparent; font-size: 22px;
    color: var(--v2-muted); cursor: pointer;
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s, color 0.15s;
}
.v2-contact-close:hover { background: var(--v2-bg); color: var(--v2-text); }

.v2-contact-icon {
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--v2-purple);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
}
.v2-contact-icon i { color: #fff; font-size: 18px; }

.v2-contact-title {
    font-family: 'Inter', sans-serif;
    font-size: 22px; font-weight: 800;
    text-align: center; margin-bottom: 4px;
    color: var(--v2-text);
}
.v2-contact-subtitle {
    text-align: center; color: var(--v2-muted);
    font-size: 14px; margin-bottom: 24px;
}

.v2-contact-body {
    overflow-y: auto; flex: 1;
}

.v2-contact-field { margin-bottom: 16px; }
.v2-contact-field label {
    display: block; font-size: 13px; font-weight: 500;
    margin-bottom: 5px; color: var(--v2-text);
    font-family: 'Inter', sans-serif;
}
.v2-contact-field .v2-contact-input-wrap { position: relative; }
.v2-contact-field input,
.v2-contact-field textarea {
    width: 100%; padding: 10px 14px;
    font-family: 'Inter', sans-serif; font-size: 14px;
    color: var(--v2-text);
    background: var(--v2-bg);
    border: 1px solid var(--v2-border);
    border-radius: 8px; outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.v2-contact-field textarea { resize: vertical; }
.v2-contact-field input::placeholder,
.v2-contact-field textarea::placeholder { color: var(--v2-muted); opacity: 0.6; }
.v2-contact-field input:focus,
.v2-contact-field textarea:focus {
    border-color: var(--v2-purple);
    box-shadow: 0 0 0 3px rgba(97,67,228,0.12);
}
.v2-contact-field input[readonly] {
    color: var(--v2-muted); cursor: default; padding-right: 34px;
}
.v2-contact-lock-icon {
    position: absolute; right: 12px; top: 50%;
    transform: translateY(-50%);
    color: var(--v2-purple-muted, #8b7bc7); font-size: 13px;
}

.v2-contact-modal > .wc-scroll-hint {
    position: relative; bottom: auto; left: auto; transform: none;
    justify-content: center; padding: 6px 0 2px;
}
.v2-contact-footer {
    display: flex; justify-content: flex-end;
    gap: 10px; margin-top: 24px;
}
.v2-contact-cancel {
    font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500;
    padding: 10px 22px; border-radius: 8px;
    cursor: pointer; border: 1px solid var(--v2-border);
    background: transparent; color: var(--v2-muted);
    transition: background 0.15s, color 0.15s;
}
.v2-contact-cancel:hover { background: var(--v2-bg); color: var(--v2-text); }
.v2-contact-submit {
    font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500;
    padding: 10px 22px; border-radius: 8px;
    background: var(--v2-purple); color: #fff; border: none;
    cursor: pointer;
    display: flex; align-items: center; gap: 6px;
    transition: background 0.15s, box-shadow 0.15s;
}
.v2-contact-submit:hover {
    background: var(--v2-purple-hover);
    box-shadow: 0 4px 12px rgba(97,67,228,0.3);
}
.v2-contact-submit:disabled { opacity: 0.6; cursor: not-allowed; }

@media (max-width: 768px) {
    .v2-contact-modal { margin: 24px; max-height: calc(100vh - 48px); }
}
@media (max-width: 480px) {
    .v2-contact-modal { margin: 16px; padding: 28px 20px 22px; max-height: calc(100vh - 32px); }
    .v2-contact-footer { flex-direction: column; }
    .v2-contact-footer .v2-contact-cancel,
    .v2-contact-footer .v2-contact-submit { width: 100%; text-align: center; justify-content: center; }
}
@media (max-height: 600px) {
    .v2-contact-modal { padding-top: 24px; padding-bottom: 20px; max-height: calc(100vh - 24px); }
    .v2-contact-icon { width: 36px; height: 36px; margin-bottom: 10px; }
    .v2-contact-icon i { font-size: 15px; }
    .v2-contact-title { font-size: 20px; }
    .v2-contact-subtitle { margin-bottom: 16px; font-size: 13px; }
}


/* ══════════════════════════════════════════
   V2 Dark standalone pages (shared)
   ══════════════════════════════════════════ */

/* ── Dark page body ── */
body.v2-dark-page, body.v2.v2-dark-page {
    font-family: var(--v2-font-body);
    color: #fff; -webkit-font-smoothing: antialiased;
    font-size: 15px; line-height: 1.5;
    background: var(--v2-dark);
    min-height: 100vh; min-height: 100dvh;
    display: flex; flex-direction: column; align-items: center;
    position: relative; overflow-x: hidden;
    padding: 40px 24px;
}
body.v2-dark-page > .v2-auth-card,
body.v2-dark-page > .agreement-card {
    margin-top: auto; margin-bottom: auto;
}
body.v2-dark-page::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 30%, rgba(97,67,228,0.18), transparent 70%);
    pointer-events: none;
}

/* ── Auth logo mark ── */
.v2-auth-logo { margin-bottom: 32px; display: flex; justify-content: center; }
.v2-auth-logo-mark {
    width: 38px; height: 38px; border-radius: 10px; background: var(--v2-purple);
    display: flex; align-items: center; justify-content: center;
}
.v2-auth-logo-mark svg { width: 18px; height: 18px; }

/* ── Auth heading (Nunito 800) ── */
.v2-auth-heading {
    font-family: var(--v2-font-heading); font-weight: 800;
    font-size: 24px; color: #fff; margin-bottom: 8px;
    letter-spacing: -0.01em;
}

/* ── Auth subtext ── */
.v2-auth-subtext {
    font-size: 14px; color: rgba(255,255,255,0.45);
    margin-bottom: 28px; line-height: 1.5;
}

/* ── Step eyebrow (e.g. "almost there") ── */
.v2-auth-eyebrow {
    font-size: 9px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.09em; color: rgba(255,255,255,0.4);
    margin-bottom: 12px;
    display: inline-flex; align-items: center; gap: 7px;
}
.v2-auth-eyebrow-dot {
    width: 6px; height: 6px; border-radius: 50%; background: var(--v2-green);
    box-shadow: 0 0 6px rgba(52,211,153,0.5);
}

/* ── Dark input group (label + input + autofill fix) ── */
.v2-auth-input-group { text-align: left; margin-bottom: 20px; }
.v2-auth-input-group label {
    display: block; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: rgba(255,255,255,0.4); margin-bottom: 8px;
}
.v2-auth-input-group input {
    width: 100%; padding: 14px 16px;
    border-radius: var(--v2-radius-sm);
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff; font-family: var(--v2-font-body);
    font-size: 15px; outline: none;
    transition: border-color var(--v2-transition), box-shadow var(--v2-transition);
}
.v2-auth-input-group input::placeholder { color: rgba(255,255,255,0.2); }
.v2-auth-input-group input:focus {
    border-color: rgba(97,67,228,0.5);
    box-shadow: 0 0 0 3px rgba(97,67,228,0.12);
}
.v2-auth-input-group input:disabled { opacity: 0.5; cursor: not-allowed; }
.v2-auth-input-group input:-webkit-autofill,
.v2-auth-input-group input:-webkit-autofill:hover,
.v2-auth-input-group input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px #1e1e28 inset;
    border-color: rgba(97,67,228,0.5);
    caret-color: #fff;
}

/* ── Dark submit button (full-width) ── */
.v2-auth-submit {
    width: 100%; padding: 14px; border: none; border-radius: var(--v2-radius-sm);
    background: var(--v2-purple); color: #fff;
    font-family: var(--v2-font-body);
    font-size: 14px; font-weight: 600; cursor: pointer;
    transition: background var(--v2-transition), transform var(--v2-transition);
}
.v2-auth-submit:hover { background: var(--v2-purple-hover); transform: translateY(-1px); }

/* ── Policy footer text ── */
.v2-auth-policy {
    margin-top: 24px;
    font-size: 11px; color: rgba(255,255,255,0.25);
    line-height: 1.5; text-align: center;
}
.v2-auth-policy a {
    color: var(--v2-purple-muted); text-decoration: underline;
    text-decoration-color: rgba(139,123,199,0.3);
    transition: color var(--v2-transition);
}
.v2-auth-policy a:hover { color: #a99be0; }

/* ── Shared policy-line (general-purpose version of auth-policy) ── */
.v2-policy-line {
    font-size: 11px; font-weight: 400;
    color: rgba(255,255,255,0.25);
    text-align: center; line-height: 1.5;
    margin-top: 24px;
}
.v2-policy-line a {
    color: var(--v2-purple-muted); text-decoration: underline;
    text-decoration-color: rgba(139,123,199,0.3);
    transition: color var(--v2-transition);
}
.v2-policy-line a:hover { color: #a99be0; }
.v2-policy-line--light { color: #8a8a96; }

/* ── Button row ── */
.v2-auth-btn-row { display: flex; gap: 10px; }

/* ── Primary button (in row) ── */
.v2-auth-btn-primary {
    flex: 1; padding: 14px 20px; border: none; border-radius: 8px;
    background: var(--v2-purple); color: #fff;
    font-family: var(--v2-font-body);
    font-size: 14px; font-weight: 600; cursor: pointer;
    transition: background var(--v2-transition), transform var(--v2-transition);
    text-decoration: none; display: inline-flex; align-items: center; justify-content: center;
}
.v2-auth-btn-primary:hover { background: var(--v2-purple-hover); transform: translateY(-1px); }

/* ── Outline button (in row) ── */
.v2-auth-btn-outline {
    padding: 13px 24px; border-radius: 8px;
    background: transparent; color: rgba(255,255,255,0.6);
    border: 1px solid rgba(255,255,255,0.12);
    font-family: var(--v2-font-body);
    font-size: 14px; font-weight: 500; cursor: pointer;
    transition: all var(--v2-transition);
}
.v2-auth-btn-outline:hover { border-color: rgba(255,255,255,0.25); color: #fff; }

/* ── Ghost button (in row) ── */
.v2-auth-btn-ghost {
    flex: 0 0 auto; padding: 14px 24px; border-radius: 8px;
    background: transparent; color: rgba(255,255,255,0.5);
    border: 1px solid rgba(255,255,255,0.12);
    font-family: var(--v2-font-body); font-size: 15px; font-weight: 500;
    cursor: pointer; transition: border-color 0.15s, color 0.15s;
    text-decoration: none; display: inline-flex; align-items: center; justify-content: center;
}
.v2-auth-btn-ghost:hover { border-color: rgba(255,255,255,0.25); color: rgba(255,255,255,0.7); }

/* ── Postcode / Location Input ── */
.v2-dark-page .input-wrap { position: relative; }
.v2-dark-page .input-wrap input,
.v2-dark-page .input-wrap .field-in {
    width: 100%; padding: 14px 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px; color: #fff; font-family: var(--v2-font-body);
    font-size: 15px; outline: none;
    transition: border-color var(--v2-transition), box-shadow var(--v2-transition);
}
.v2-dark-page .input-wrap input::placeholder,
.v2-dark-page .input-wrap .field-in::placeholder { color: rgba(255,255,255,0.2); }
.v2-dark-page .input-wrap input:focus,
.v2-dark-page .input-wrap .field-in:focus {
    border-color: rgba(97,67,228,0.5);
    box-shadow: 0 0 0 3px rgba(97,67,228,0.1);
}
.v2-dark-page .input-wrap input:-webkit-autofill,
.v2-dark-page .input-wrap input:-webkit-autofill:hover,
.v2-dark-page .input-wrap input:-webkit-autofill:focus,
.v2-dark-page .input-wrap .field-in:-webkit-autofill,
.v2-dark-page .input-wrap .field-in:-webkit-autofill:hover,
.v2-dark-page .input-wrap .field-in:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px #1e1e28 inset;
    border-color: rgba(97,67,228,0.5);
    caret-color: #fff;
}
.v2-dark-page .postcode-dropdown {
    position: absolute; top: calc(100% + 4px); left: 0; right: 0;
    background: var(--v2-text); border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px; overflow: hidden; z-index: 10;
}
.v2-dark-page .postcode-dropdown .postcode-dropdown-item {
    padding: 10px 16px; font-size: 14px; color: rgba(255,255,255,0.7);
    cursor: pointer; transition: background .1s;
}
.v2-dark-page .postcode-dropdown .postcode-dropdown-item:hover {
    background: rgba(97,67,228,0.12); color: #fff;
}
.v2-dark-page .postcode-dropdown .postcode-dropdown-item.loading,
.v2-dark-page .postcode-dropdown .postcode-dropdown-item.no-results {
    color: rgba(255,255,255,0.35); cursor: default;
}

/* ── OTP dark theme ── */
.v2-auth-card .login-container,
.v2-auth-card .otp-card .login-container { margin: 0; padding: 0; }
.v2-auth-card .login-container label {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.06em; color: rgba(255,255,255,0.4);
    margin-bottom: 12px; display: block;
}
.v2-auth-card .otp-container {
    display: flex; justify-content: center; gap: 10px;
    margin: 0 0 24px; max-width: 100%;
}
.v2-auth-card .otp-input {
    flex: 1 1 0; min-width: 0; max-width: 54px;
    height: 56px; border-radius: var(--v2-radius-sm);
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff; font-family: var(--v2-font-heading);
    font-size: 24px; font-weight: 800; text-align: center;
    outline: none;
    transition: border-color var(--v2-transition), box-shadow var(--v2-transition);
}
.v2-auth-card .otp-input:focus {
    border-color: rgba(97,67,228,0.5);
    box-shadow: 0 0 0 3px rgba(97,67,228,0.12);
}
.v2-auth-card .verify-btn {
    width: 100%; padding: 14px;
    background: var(--v2-purple); color: #fff; border: none;
    border-radius: var(--v2-radius-sm);
    font-family: var(--v2-font-body);
    font-size: 14px; font-weight: 600; cursor: pointer;
    transition: background var(--v2-transition), transform var(--v2-transition);
}
.v2-auth-card .verify-btn:hover { background: var(--v2-purple-hover); transform: translateY(-1px); }
.v2-auth-card .timer-clock {
    font-size: 13px; color: rgba(255,255,255,0.35);
    font-variant-numeric: tabular-nums;
    margin-top: 20px; padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.v2-auth-card .resendBtn {
    background: none; border: none;
    color: var(--v2-purple-muted); font-family: var(--v2-font-body);
    font-size: 13px; font-weight: 500; cursor: pointer;
    padding: 6px 14px; border-radius: var(--v2-radius-sm);
    transition: color var(--v2-transition), background var(--v2-transition);
}
.v2-auth-card .resendBtn:hover { color: #a99be0; background: rgba(97,67,228,0.08); }

/* ── Dark page responsive ── */
@media (min-width: 769px) {
    .v2 .v2-auth-card { max-width: 480px; padding: 56px 52px 48px; }
    .v2 .v2-auth-card--wide { max-width: 640px; }
    .v2-auth-card .otp-input { max-width: 54px; height: 62px; font-size: 26px; }
    .v2-auth-card .otp-container { gap: 12px; }
}
@media (max-width: 768px) {
    body.v2-dark-page { padding: 24px 20px; }
    .v2 .v2-auth-card--wide { padding: 36px 28px 32px; }
}
@media (max-width: 480px) {
    body.v2-dark-page { padding: 24px 16px; }
    .v2 .v2-auth-card { padding: 36px 24px 32px; }
    .v2-auth-heading { font-size: 20px; }
    .v2-auth-card .otp-container { gap: 6px; }
    .v2-auth-card .otp-input { width: min(42px, calc((100% - 30px) / 6)); height: 50px; font-size: 20px; }
    .v2-auth-btn-row { flex-direction: column; }
    .v2-auth-btn-ghost { text-align: center; justify-content: center; }
}
@media (max-width: 360px) {
    .v2-auth-card .otp-container { gap: 4px; }
    .v2-auth-card .otp-input { width: calc((100% - 20px) / 6); height: 46px; font-size: 18px; }
}

/* ── Agreement pages ── */
.agreement-card {
    background: var(--v2-dark-card, #18181f);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    padding: 40px 36px 32px;
    width: 100%; max-width: 520px;
    margin: 0 auto;
}

.agreement-card .v2-auth-eyebrow {
    font-size: 13px; color: var(--v2-green);
    display: flex; justify-content: center;
}
.agreement-card .v2-auth-eyebrow-dot {
    width: 8px; height: 8px;
    animation: pulse-dot-agree 2s ease-in-out infinite;
}
@keyframes pulse-dot-agree {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.agreement-card .v2-auth-heading { font-size: 26px; text-align: center; }
.agreement-card .v2-auth-subtext { text-align: center; margin-bottom: 32px; line-height: 1.55; }

.agreement-card .section-label {
    font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.35);
    text-transform: uppercase; letter-spacing: 0.08em;
    margin-bottom: 14px; margin-top: 8px;
}
.agreement-card .detail-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    margin-bottom: 24px;
}
.agreement-card .detail-item label {
    display: block; font-size: 12px; color: rgba(255,255,255,0.4);
    margin-bottom: 4px; font-weight: 500;
}
.agreement-card .detail-item .value {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px; padding: 10px 14px;
    font-size: 14px; color: rgba(255,255,255,0.85);
}
.agreement-card .detail-item.full-width { grid-column: 1 / -1; }

.agreement-card .divider {
    height: 1px; background: rgba(255,255,255,0.06);
    margin: 4px 0 24px;
}

.agreement-card .doc-links {
    display: flex; flex-direction: column; gap: 8px;
    margin-bottom: 24px;
}
.agreement-card .doc-link {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    color: rgba(255,255,255,0.7);
    text-decoration: none; font-size: 14px;
    transition: border-color 0.2s, background 0.2s;
}
.agreement-card .doc-link:hover {
    border-color: rgba(97,67,228,0.3);
    background: rgba(97,67,228,0.05);
    color: #fff;
}
.agreement-card .doc-link svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--v2-purple-muted); }
.agreement-card .doc-link .arrow { margin-left: auto; color: rgba(255,255,255,0.2); }

.agreement-card .agree-block {
    background: rgba(97,67,228,0.06);
    border: 1px solid rgba(97,67,228,0.12);
    border-radius: 12px;
    padding: 16px 18px;
    display: flex; align-items: flex-start; gap: 12px;
    cursor: pointer; margin-bottom: 24px;
    transition: border-color 0.2s;
}
.agreement-card .agree-block:hover { border-color: rgba(97,67,228,0.3); }
.agreement-card .agree-block input[type="checkbox"] {
    appearance: none; -webkit-appearance: none;
    width: 20px; height: 20px; min-width: 20px;
    border: 1.5px solid rgba(255,255,255,0.18);
    border-radius: 5px; background: rgba(255,255,255,0.04);
    cursor: pointer; margin-top: 1px; position: relative;
    transition: all 0.2s;
}
.agreement-card .agree-block input[type="checkbox"]:checked {
    background: var(--v2-purple); border-color: var(--v2-purple);
}
.agreement-card .agree-block input[type="checkbox"]:checked::after {
    content: ''; position: absolute;
    left: 6px; top: 2px; width: 5px; height: 10px;
    border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.agreement-card .agree-label {
    font-size: 14px; color: rgba(255,255,255,0.55);
    line-height: 1.5; cursor: pointer;
}
.agreement-card .agree-label strong { color: rgba(255,255,255,0.75); }

.agreement-card .v2-auth-btn-row { gap: 12px; margin-top: 0; }
.agreement-card .v2-auth-btn-primary {
    padding: 14px 24px; border-radius: 8px; font-size: 15px;
    transition: opacity 0.2s;
}
.agreement-card .v2-auth-btn-primary:disabled { opacity: 0.4; cursor: not-allowed; }

.agreement-card .footer-link {
    text-align: center; margin-top: 24px;
    font-size: 14px; color: rgba(255,255,255,0.35);
}
.agreement-card .footer-link a {
    color: var(--v2-purple); text-decoration: none; font-weight: 500;
}
.agreement-card .footer-link a:hover { text-decoration: underline; }

@media (max-width: 480px) {
    .agreement-card { padding: 28px 20px 24px; }
    .agreement-card .detail-grid { grid-template-columns: 1fr; }
    .agreement-card .v2-auth-heading { font-size: 22px; }
}

/* ── Marketplace teaser (OTP page) ── */
.marketplace-teaser {
    margin-top: 28px;
    background: rgba(97,67,228,0.05);
    border: 1px solid rgba(97,67,228,0.1);
    border-radius: var(--v2-radius-md, 12px);
    padding: 20px; text-align: left;
}
.teaser-header {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 14px;
}
.teaser-icon {
    width: 28px; height: 28px;
    background: rgba(97,67,228,0.12);
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.teaser-icon svg { width: 15px; height: 15px; color: var(--v2-purple-muted, #a48fff); }
.teaser-title {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.08em;
    color: rgba(255,255,255,0.35);
}
.teaser-stats {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.teaser-stat {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 8px; padding: 12px 14px;
}
.teaser-stat.full-width { grid-column: 1 / -1; }
.stat-number {
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 26px; color: #fff; line-height: 1;
    margin-bottom: 2px;
}
.stat-highlight { color: var(--v2-purple-muted, #a48fff); }
.stat-label {
    font-size: 11px; color: rgba(255,255,255,0.35); line-height: 1.3;
}
.stat-state { font-weight: 600; color: #34d399; }
.teaser-cta {
    margin-top: 14px;
    font-size: 13px; color: rgba(255,255,255,0.4);
    text-align: center; line-height: 1.4;
}
.teaser-footer {
    margin-top: 8px;
    font-size: 12px; color: rgba(255,255,255,0.25);
    text-align: center; font-style: italic;
}
@media (max-width: 380px) {
    .teaser-stats { grid-template-columns: 1fr; }
    .stat-number { font-size: 21px; }
}

/* ── Bid teaser (confirm-profile page) ── */
.bid-teaser {
    margin-top: 24px;
    background: rgba(97,67,228,0.05);
    border: 1px solid rgba(97,67,228,0.1);
    border-radius: 12px;
    padding: 20px; text-align: left;
}
.bid-teaser-header {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 14px;
}
.bid-teaser-icon {
    width: 28px; height: 28px;
    background: rgba(97,67,228,0.12);
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.bid-teaser-icon svg { width: 15px; height: 15px; color: #a48fff; }
.bid-teaser-title {
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.08em;
    color: rgba(255,255,255,0.35);
}
.bid-teaser-body {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 8px; padding: 14px 16px;
    text-align: center;
}
.bid-range {
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 24px; color: #fff; line-height: 1;
    margin-bottom: 4px;
}
.bid-range .bid-highlight { color: #a48fff; }
.bid-count {
    font-size: 12px; color: rgba(255,255,255,0.35);
}
.bid-cta {
    margin-top: 12px;
    font-size: 13px; color: rgba(255,255,255,0.4);
    text-align: center;
}
@media (max-width: 480px) {
    .bid-range { font-size: 21px; }
}


/* ── Shared standalone footer ── */
.v2-footer {
    width: 100%; margin: 60px 0 0;
    padding: 32px 40px;
    display: flex; align-items: center; justify-content: center;
    gap: 20px; flex-wrap: wrap;
    border-top: 1px solid rgba(255,255,255,0.15);
    background: var(--v2-dark, #0d0d14);
    text-align: center; font-size: 12px;
}
.v2-footer-brand { display: flex; align-items: center; gap: 8px; }
.v2-footer-logo {
    width: 20px; height: 20px; border-radius: 5px; background: var(--v2-purple);
    display: flex; align-items: center; justify-content: center;
}
.v2-footer-logo svg { width: 10px; height: 10px; }
.v2-footer-name { font-size: 12px; color: rgba(255,255,255,0.3); font-weight: 500; }
.v2-footer-links { display: flex; gap: 20px; }
.v2-footer-link {
    font-size: 12px; color: rgba(255,255,255,0.5); text-decoration: none;
    transition: color 0.16s;
}
.v2-footer-link:hover { color: #fff; }
.v2-footer-copy { font-size: 11px; color: rgba(255,255,255,0.25); }
@media (max-width: 768px) {
    .v2-footer { padding: 24px 20px; flex-direction: column; gap: 14px; }
}


/* ── Subscription interstitial overlay ── */
.sub-interstitial-backdrop {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(15,15,20,0.75); backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.25s ease;
    pointer-events: none;
}
.sub-interstitial-backdrop.active { opacity: 1; pointer-events: auto; }
.sub-interstitial {
    background: var(--v2-dark-card); border: 1px solid rgba(97,67,228,0.2);
    border-radius: 16px; padding: 48px 40px; max-width: 460px; width: 90%;
    text-align: center; position: relative;
    transform: scale(0.92); transition: transform 0.3s ease;
}
.sub-interstitial-backdrop.active .sub-interstitial { transform: scale(1); }
.sub-interstitial h3 {
    font-family: var(--v2-font-heading); font-size: 22px; font-weight: 700;
    color: #fff; margin-bottom: 24px; line-height: 1.3;
}
.sub-interstitial .si-prices {
    margin-bottom: 20px; font-size: 15px; color: rgba(255,255,255,0.6); line-height: 2;
}
.sub-interstitial .si-prices strong { color: #fff; font-weight: 600; }
.sub-interstitial .si-prices s { color: rgba(255,255,255,0.25); }
.sub-interstitial .si-tagline {
    font-size: 14px; color: rgba(255,255,255,0.35); margin-bottom: 28px;
    font-style: italic;
}
.sub-interstitial .si-progress-bar {
    width: 100%; height: 3px; background: rgba(255,255,255,0.08);
    border-radius: 2px; margin-bottom: 16px; overflow: hidden;
}
.sub-interstitial .si-progress-fill {
    height: 100%; background: var(--v2-purple); border-radius: 2px;
    width: 0%; transition: width linear;
}
.sub-interstitial .si-skip {
    font-size: 13px; color: var(--v2-purple-muted); text-decoration: none;
    transition: color 0.16s;
}
.sub-interstitial .si-skip:hover { color: #fff; }


/* ══════════════════════════════════════════
   Shared form page patterns
   ══════════════════════════════════════════ */

/* ── Form page wrapper ── */
.v2 .v2-form-page {
    padding: 20px 48px 40px;
}

/* ── Section intro (sits above the form card) ── */
.v2 .v2-form-intro {
    margin-bottom: 20px;
}
.v2 .v2-form-intro-heading {
    font-family: var(--v2-font-heading);
    font-size: 15px;
    font-weight: 800;
    color: var(--v2-text);
    letter-spacing: -0.01em;
    margin: 0 0 4px;
}
.v2 .v2-form-intro-sub {
    font-size: 13px;
    color: var(--v2-muted);
    margin: 0;
}

/* ── Form card (proportional width on large screens) ── */
.v2 .v2-form-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-xl);
    padding: 40px 44px;
    /* Baseline 720px + 1/3 of extra space beyond 1100px, capped at 960px */
    width: min(calc(720px + (100% - 1100px) / 3), 960px);
    max-width: 100%;
}

/* ── Form field group ── */
.v2 .v2-field {
    margin-bottom: 24px;
    position: relative;
}
.v2 .v2-field:last-of-type {
    margin-bottom: 32px;
}

/* ── Form section divider (thin line between groups) ── */
.v2 .v2-form-divider {
    border: none;
    border-top: 1px solid var(--v2-border);
    margin: 28px 0 24px;
}

/* ── Form section eyebrow ── */
.v2 .v2-form-eyebrow {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: rgba(30,30,40,0.4);
    margin-bottom: 18px;
}

/* ── Info card (disclaimer / notice) ── */
.v2 .v2-info-card {
    margin-top: 28px;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-lg);
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.v2 .v2-info-card-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: var(--v2-radius-sm);
    background: var(--v2-purple-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--v2-purple-muted);
    font-size: 16px;
}
.v2 .v2-info-card-text {
    font-size: 12.5px;
    color: var(--v2-muted);
    line-height: 1.6;
}
.v2 .v2-info-card-text strong {
    color: var(--v2-text);
    font-weight: 600;
}

/* ── Form action row ── */
.v2 .v2-form-action {
    display: flex;
    justify-content: flex-end;
}

/* ── Product tag (consultation / form contexts) ── */
.v2 .v2-product-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--v2-purple-light);
    border: 1px solid var(--v2-purple-faint-border);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 13px;
    color: #4a3a8a;
    font-weight: 500;
}
.v2 .v2-product-tag a { color: #4a3a8a; text-decoration: none; }
.v2 .v2-product-remove {
    background: none; border: none; cursor: pointer;
    color: var(--v2-purple-muted); font-size: 14px; line-height: 1;
    padding: 0; transition: color var(--v2-transition);
}
.v2 .v2-product-remove:hover { color: var(--v2-purple); }

/* ── Form page responsive ── */
@media (max-width: 768px) {
    .v2 .v2-form-page { padding: 20px 20px 32px; }
    .v2 .v2-form-card { padding: 28px 22px; width: 100%; }
}
@media (max-width: 480px) {
    .v2 .v2-form-page { padding: 16px 16px 24px; }
    .v2 .v2-form-card { padding: 24px 18px; border-radius: var(--v2-radius-md); }
    .v2 .v2-info-card { flex-direction: column; gap: 10px; }
    .v2 .v2-form-action { justify-content: stretch; }
    .v2 .v2-form-action .v2-btn { width: 100%; }
}


/* ══════════════════════════════════════════
   Dashboard shared styles
   ══════════════════════════════════════════ */

/* ── Stat icon square (light purple bg, muted purple SVG) ── */
.v2 .dash-stat-icon {
    width: 44px; height: 44px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; background: var(--v2-purple-light); color: var(--v2-purple-muted);
}
.v2 .dash-stat-icon svg { width: 20px; height: 20px; }
.v2 .dash-stat-icon a { color: var(--v2-purple-muted); display: flex; align-items: center; justify-content: center; text-decoration: none; }

/* ── Live dot (pulsing green indicator) ── */
.v2 .live-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    background: var(--v2-green); box-shadow: 0 0 6px rgba(52,211,153,0.5);
    animation: v2-live-pulse 2s infinite;
}
@keyframes v2-live-pulse { 0%,100%{opacity:1} 50%{opacity:0.5} }

/* ── Dashboard chip (pill-shaped light purple) ── */
.v2 .dash-chip {
    display: inline-block; padding: 3px 10px; border-radius: 20px;
    font-size: 11px; font-weight: 600;
    background: var(--v2-purple-light); color: #4a3a8a;
}
.v2 .dash-chip--muted { color: #6a5aaa; }
.v2 .dash-chip--online { background: #ebe7f6; }
.v2 .cdb-mobile-card .dash-chip { width: auto; font-size: 11px; }

/* ── Details button (outlined, subtle) ── */
.v2 .dash-details-btn {
    padding: 6px 14px; border-radius: var(--v2-radius-sm);
    background: transparent; color: var(--v2-purple-muted);
    font-size: 12px; font-weight: 500;
    border: 1px solid var(--v2-border);
    cursor: pointer; transition: all var(--v2-transition);
}
.v2 .dash-details-btn:hover {
    border-color: var(--v2-purple-muted); color: var(--v2-purple);
}

/* ══════════════════════════════════════════════════════════════
   Detail Modal (shared popup for car/auction detail views)
   ══════════════════════════════════════════════════════════════ */

.v2 .v2-modal-backdrop {
    position: fixed; inset: 0;
    background: rgba(15, 15, 20, 0.65);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px; z-index: 1050;
}

.v2 .v2-modal-card {
    background: #fff;
    border: none;
    border-radius: var(--v2-radius-lg);
    max-width: 580px; width: 100%;
    padding: 28px 28px 24px;
    position: relative;
    box-shadow: 0 24px 64px rgba(15,15,20,0.18), 0 4px 16px rgba(97,67,228,0.06);
    animation: v2-modal-in 0.25s ease-out;
    max-height: 90vh; overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--v2-border) transparent;
}
.v2 .v2-modal-card::-webkit-scrollbar { width: 6px; }
.v2 .v2-modal-card::-webkit-scrollbar-track { background: transparent; }
.v2 .v2-modal-card::-webkit-scrollbar-thumb {
    background: var(--v2-border); border-radius: 9999px;
}
.v2 .v2-modal-card::-webkit-scrollbar-thumb:hover {
    background: var(--v2-purple-muted);
}

/* Reusable styled-scroll utility */
.v2-styled-scroll { scrollbar-width: thin; scrollbar-color: var(--v2-border) transparent; }
.v2-styled-scroll::-webkit-scrollbar { width: 6px; }
.v2-styled-scroll::-webkit-scrollbar-track { background: transparent; }
.v2-styled-scroll::-webkit-scrollbar-thumb { background: var(--v2-border); border-radius: 9999px; }
.v2-styled-scroll::-webkit-scrollbar-thumb:hover { background: var(--v2-purple-muted); }
@keyframes v2-modal-in {
    from { opacity: 0; transform: translateY(12px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.v2 .v2-modal-close {
    position: absolute; top: 16px; right: 16px;
    width: 32px; height: 32px;
    border: 1px solid var(--v2-border); border-radius: var(--v2-radius-sm);
    background: var(--v2-bg); color: var(--v2-muted);
    font-size: 16px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all var(--v2-transition); line-height: 1;
}
.v2 .v2-modal-close:hover {
    background: var(--v2-purple-light);
    color: var(--v2-purple);
    border-color: var(--v2-purple-muted);
}

.v2 .v2-modal-eyebrow {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: var(--v2-muted); margin-bottom: 8px;
}

.v2 .v2-modal-title {
    font-family: 'Instrument Serif', serif;
    font-size: 20px; font-weight: 400;
    color: var(--v2-text);
    margin-bottom: 16px; padding-right: 36px; line-height: 1.25;
}

.v2 .v2-modal-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.v2 .v2-modal-chip-label { color: var(--v2-muted); font-weight: 500; }

.v2 .v2-modal-divider { height: 1px; background: var(--v2-border); margin: 0 0 20px; }

/* Stats row (3-col grid of boxed numbers) */
.v2 .v2-modal-stats {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 12px; margin-bottom: 20px;
}
.v2 .v2-modal-stat-box {
    background: var(--v2-bg);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-md); padding: 14px 12px; text-align: center;
}
.v2 .v2-modal-stat-label {
    font-size: 9px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: rgba(30,30,40,0.4); margin-bottom: 6px;
}
.v2 .v2-modal-stat-value {
    font-family: 'Instrument Serif', serif;
    font-size: 22px; font-weight: 400;
    color: var(--v2-text); line-height: 1.1;
}

/* Two-column details grid */
.v2 .v2-modal-details {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 0; margin-bottom: 24px;
}
.v2 .v2-modal-detail-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 9px 12px;
    border-bottom: 1px solid var(--v2-border);
}
.v2 .v2-modal-detail-row:nth-child(odd) {
    border-right: 1px solid var(--v2-border);
}
.v2 .v2-modal-detail-key { font-size: 13px; color: var(--v2-muted); font-weight: 500; }
.v2 .v2-modal-detail-val { font-size: 13px; font-weight: 600; color: var(--v2-text); }

/* Button row */
.v2 .v2-modal-btn-row { display: flex; gap: 10px; }
.v2 .v2-modal-btn-row .v2-btn { flex: 1; padding: 13px 20px; }
.v2 .v2-modal-btn-row .v2-btn:hover {
    box-shadow: 0 4px 12px rgba(97,67,228,0.25);
}
.v2 .v2-modal-btn-row .v2-btn-outline { flex: 0 0 auto; padding: 13px 20px; gap: 6px; }
.v2 .v2-modal-btn-row .v2-btn-outline:hover {
    background: var(--v2-purple-light);
    color: var(--v2-purple);
}

/* Detail modal responsive */
@media (max-width: 520px) {
    .v2 .v2-modal-card { padding: 20px 18px 18px; }
    .v2 .v2-modal-title { font-size: 17px; }
    .v2 .v2-modal-stats { grid-template-columns: 1fr; }
    .v2 .v2-modal-details { grid-template-columns: 1fr; }
    .v2 .v2-modal-detail-row { border-right: none !important; }
    .v2 .v2-modal-btn-row { flex-direction: column; }
    .v2 .v2-modal-stat-value { font-size: 20px; }
}

/* ── Explore pages: shared header subtitle ── */
.v2 .page-header .header-subtitle { max-width: 920px; line-height: 1.6; }

/* ── Explore Modal & Auth ── */

/* ev2: shared modal backdrop */
.ev2-backdrop {
    display: none; position: fixed; inset: 0; z-index: 1060;
    background: rgba(15,15,20,0.65); backdrop-filter: blur(6px);
    align-items: center; justify-content: center;
}
.ev2-backdrop.open { display: flex; }

@keyframes ev2-scale-in {
    from { transform: scale(0.8); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
}

/* ev2: quick-view modal */
.ev2-qv-modal {
    background: #fff; border-radius: 14px; width: 420px; max-width: calc(100vw - 32px);
    overflow: hidden; position: relative; box-shadow: 0 24px 80px rgba(0,0,0,0.35);
    animation: ev2-scale-in 0.2s ease-out;
}
.ev2-qv-close {
    position: absolute; top: 10px; right: 10px; z-index: 3;
    width: 30px; height: 30px; border-radius: 50%;
    background: rgba(0,0,0,0.45); border: none; color: #fff; font-size: 18px;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background .15s;
}
.ev2-qv-close:hover { background: rgba(0,0,0,0.7); }
.ev2-qv-img-wrap {
    width: 100%; aspect-ratio: 16/10; overflow: hidden;
    background: #e8e8ee; position: relative;
}
.ev2-qv-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev2-qv-copyright-badge {
    position: absolute; bottom: 10px; left: 10px;
    background: rgba(97,67,228,0.9); color: #fff;
    font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 5px;
    cursor: pointer; display: flex; align-items: center; gap: 4px;
    transition: background .15s; z-index: 2;
}
.ev2-qv-copyright-badge:hover { background: rgba(97,67,228,1); }
.ev2-qv-body { padding: 18px 22px 22px; }
.ev2-qv-title {
    font-size: 17px; font-weight: 600; color: #1e1e28;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 14px;
}
.ev2-qv-copyright-detail {
    display: none; margin-bottom: 14px; border-top: 1px solid #eee; padding-top: 12px;
}
.ev2-qv-copyright-detail.open { display: block; }
.ev2-qv-copyright-heading {
    font-size: 13px; font-weight: 600; color: #1e1e28; margin-bottom: 6px;
    display: flex; align-items: center; justify-content: space-between;
}
.ev2-qv-copyright-close {
    background: none; border: none; color: #999; font-size: 18px;
    cursor: pointer; padding: 0; line-height: 1;
}
.ev2-qv-copyright-close:hover { color: #333; }
.ev2-qv-copyright-text { font-size: 12px; color: #6b6b76; line-height: 1.55; }
.ev2-qv-copyright-text strong { color: #6143e4; font-weight: 600; }
.ev2-qv-login-btn {
    display: block; width: 100%; text-align: center;
    padding: 11px; border: none; border-radius: 8px;
    background: #6143e4; color: #fff; font-weight: 600;
    font-size: 14px; cursor: pointer; transition: background .15s;
}
.ev2-qv-login-btn:hover { background: #5338c9; }

/* ev2: auth modal */
.ev2-auth-modal {
    background: #0f0f14; border-radius: 16px;
    width: 420px; max-width: calc(100vw - 40px);
    padding: 48px 44px 40px; position: relative;
    border: 1px solid rgba(97,67,228,0.18);
    box-shadow: 0 24px 80px rgba(0,0,0,0.5);
    animation: ev2-scale-in 0.2s ease-out;
}
.ev2-auth-modal::before {
    content: ''; position: absolute; inset: 0; border-radius: 16px;
    background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(97,67,228,0.15), transparent 60%);
    pointer-events: none;
}
.ev2-auth-modal * { position: relative; z-index: 1; }
.ev2-auth-close {
    position: absolute; top: 14px; right: 14px; z-index: 2;
    width: 28px; height: 28px; border-radius: 50%;
    background: rgba(255,255,255,0.08); border: none;
    color: rgba(255,255,255,0.5); font-size: 16px;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s; cursor: pointer;
}
.ev2-auth-close:hover { background: rgba(255,255,255,0.15); color: #fff; }
.ev2-auth-logo {
    width: 38px; height: 38px; border-radius: 10px; background: #6143e4;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 12px; color: #fff;
    margin: 0 auto 32px; letter-spacing: 0.02em;
}
.ev2-auth-sub {
    font-size: 13px; color: rgba(255,255,255,0.45);
    text-align: center; margin-bottom: 24px;
}
.ev2-auth-field { margin-bottom: 14px; }
.ev2-auth-label {
    display: block; font-size: 11px; font-weight: 600;
    color: rgba(255,255,255,0.4); text-transform: uppercase;
    letter-spacing: 0.06em; margin-bottom: 6px;
}
.ev2-auth-input {
    width: 100%; padding: 10px 14px; border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05);
    color: #fff; font-family: inherit; font-size: 14px;
    outline: none; transition: border-color .15s;
}
.ev2-auth-input::placeholder { color: rgba(255,255,255,0.25); }
.ev2-auth-input:focus { border-color: rgba(97,67,228,0.5); }
.ev2-auth-submit {
    width: 100%; padding: 14px; border: none; border-radius: 8px;
    background: #6143e4; color: #fff; font-weight: 600;
    font-size: 14px; cursor: pointer; transition: background .15s; margin-top: 6px;
}
.ev2-auth-submit:hover { background: #5338c9; }
.ev2-auth-policy {
    text-align: center; font-size: 11px; color: rgba(255,255,255,0.25);
    margin-top: 24px; line-height: 1.5;
}
.ev2-auth-policy a { color: #8b7bc7; text-decoration: underline; }

/* ev2: car silhouette placeholder */
.ev2-img-placeholder {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
    background: #e8e8ee;
}
.ev2-img-placeholder svg { width: 120px; height: 80px; fill: #b0b0b8; }

/* ev2: explore modal responsive */
@media (max-width: 768px) {
    .ev2-qv-modal { width: 340px; }
    .ev2-qv-title { font-size: 15px; }
}
@media (max-width: 480px) {
    .ev2-auth-modal { padding: 36px 24px 32px; }
    .ev2-qv-modal { width: calc(100vw - 24px); }
    .ev2-qv-body { padding: 14px 16px 18px; }
    .ev2-qv-title { font-size: 14px; }
}

/* ═══════════════════════════════════════════════════════════════════
   Car Detail Page v2 — Strip-and-Rebuild (cd2- prefix)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Neutralize legacy styles.css enemies ── */
.v2 .car-details-main-container .body .card-grid {
    background: none !important; border: none !important; padding: 0 !important;
    border-radius: 0 !important; display: block !important; margin-bottom: 0 !important;
}
.v2 .car-details-main-container .body .condition-info {
    margin-bottom: 0 !important; display: grid !important; gap: 20px !important;
}
.v2 .car-details-main-container .body .condition-info .by-seller,
.v2 .car-details-main-container .body .condition-info .by-community {
    background: none !important; border: none !important; padding: 0 !important; border-radius: 0 !important;
}
.v2 .car-details-main-container .body .condition-info .report {
    max-height: none !important; overflow: visible !important;
}
.v2 .car-details-main-container .body .cr-submitted-list {
    max-height: none !important; overflow: visible !important;
}
.v2 .car-details-main-container .body .condition-info .report-row,
.v2 .car-details-main-container .body .cr-submitted-list .report-row {
    border: none !important; padding: 0 !important; margin: 0 !important; transform: none !important;
}
.v2 .car-details-main-container .body .condition-info .report-row:hover,
.v2 .car-details-main-container .body .cr-submitted-list .report-row:hover {
    transform: none !important; background: none !important;
}
.v2 .car-details-main-container .body .condition-info .report .cover-img img,
.v2 .car-details-main-container .body .cr-submitted-list .report .cover-img img {
    height: auto !important; width: auto !important; border-radius: 0 !important;
}
.v2 .car-details-main-container .body .bid-info,
.v2 .car-details-main-container .body .request-cr {
    padding: 0 !important; background-color: transparent !important;
    border: none !important; border-radius: 0 !important; min-width: 0 !important;
    white-space: normal !important;
}
.v2 .car-details-main-container .body .bid-info-container {
    display: block !important; padding: 0 !important;
}
.v2 .car-details-main-container .body .bid-row {
    display: flex !important; grid-template-columns: none !important;
}
.v2 .car-details-main-container .body .bid-label {
    font-size: 13px !important; text-align: left !important;
}
.v2 .car-details-main-container .body .bid-value {
    font-size: 13px !important; margin-left: 0 !important;
}
.v2 .car-details-main-container .body .bid-value p {
    margin: 0 !important; padding: 0 !important; background-color: transparent !important;
}
.v2 .car-details-main-container .body .bid-note-row {
    display: flex !important; margin-top: 12px !important;
}
.v2 .car-details-main-container .body .bid-note-text {
    white-space: normal !important;
}
.v2 .car-details-main-container .body .request-cr .report {
    height: auto !important; display: block !important;
}
.v2 .car-details-main-container .body .request-cr .disclaimer {
    background: none !important; border: none !important; margin: 0 !important;
    border-radius: 0 !important; text-align: left !important; width: auto !important;
}
.v2 .car-details-main-container .body .request-cr .disclaimer .disclaimer-content {
    padding: 0 !important;
}

/* Neutralize table styling inside details card */
.v2 .car-details-main-container .details-section table { width: 100%; border-collapse: collapse; }
.v2 .car-details-main-container .details-section table th,
.v2 .car-details-main-container .details-section table td {
    background: none; text-align: left; padding: 5px 0; border: none; font-size: 13px;
}
.v2 .car-details-main-container .details-section table th { font-weight: 500; color: var(--v2-muted); width: 40%; }
.v2 .car-details-main-container .details-section table td { font-weight: 600; color: var(--v2-text); }

/* Neutralize inner .details div legacy border/padding/position */
.v2 .car-details-main-container .details-section .details {
    position: static !important; padding: 0 !important;
    border: none !important; border-radius: 0 !important;
}
/* Hide C-A badge (tradeMark) in v2 */
.v2 .car-details-main-container .details-section .tradeMark { display: none !important; }

/* Neutralize .card-title inside details-section (flex, gap, justify-content) */
.v2 .car-details-main-container .body .details-section .card-title {
    display: flex !important; align-items: center !important;
    justify-content: flex-start !important; gap: 10px !important;
    margin-bottom: 16px !important; border-bottom: none !important; padding-bottom: 0 !important;
}
/* Neutralize sub-card heading (border-bottom, padding-bottom, gap) */
.v2 .car-details-main-container .body .card-title.sub-card {
    border-bottom: none !important; padding-bottom: 0 !important;
    gap: 10px !important; flex-direction: row !important; align-items: center !important;
}
/* Neutralize h4 sizing across all cards */
.v2 .car-details-main-container .body .details-section .details h4,
.v2 .car-details-main-container .body .bid-info h4,
.v2 .car-details-main-container .body .request-cr h4,
.v2 .car-details-main-container .body .cr-submitted-list h4 {
    font-size: inherit !important; font-weight: inherit !important; color: inherit !important; margin: 0 !important;
}
/* Neutralize details-section td (display:flex, max-width:185px, padding-left) */
.v2 .car-details-main-container .body .details-section td {
    display: table-cell !important; flex-direction: unset !important;
    max-width: none !important; padding-left: 0 !important;
}
/* Neutralize details-section th (width) */
.v2 .car-details-main-container .body .details-section th {
    width: 40% !important;
}
/* Neutralize .details table margin */
.v2 .car-details-main-container .body .details-section .details table {
    margin-bottom: 0 !important;
}
/* Neutralize bid-note-content (display, gap, width) */
.v2 .car-details-main-container .body .bid-note-content {
    display: flex !important; gap: 8px !important; width: auto !important;
}
/* Neutralize note-edit-wrapper (width, flex) */
.v2 .car-details-main-container .body .bid-note-content .note-edit-wrapper {
    width: 100% !important; flex: 1 1 auto !important;
}
/* Neutralize request-cr-content (display, height, font-size) */
.v2 .car-details-main-container .body .request-cr .request-cr-content {
    display: block !important; height: auto !important;
    font-size: inherit !important; font-weight: inherit !important;
    align-items: unset !important; justify-content: unset !important;
}
/* Neutralize cr-generated-link */
.v2 .car-details-main-container .body .cr-generated-link {
    max-width: none !important; padding: 0 !important;
    border: none !important; background: transparent !important;
}
/* Neutralize shortlist-flag inside bid-info */
.v2 .car-details-main-container .body .card-grid .bid-info .shortlist-flag {
    background: transparent !important; padding: 0 !important; border-radius: 0 !important;
}
/* Neutralize bid-info-container grid */
.v2 .car-details-main-container .body .bid-info-container {
    display: block !important; grid-template-columns: none !important;
    gap: 0 !important; padding: 0 !important;
}
/* Neutralize details-section card wrapping at tablet */
.v2 .car-details-main-container .body .details-section {
    background-color: transparent !important; padding: 0 !important;
    border: none !important; border-radius: 0 !important;
}
/* Neutralize bid-info margin */
.v2 .car-details-main-container .body .bid-info {
    margin-bottom: 0 !important;
}

/* ── Media query neutralization: block legacy responsive overrides ── */
@media (max-width: 1024px) {
    .v2 .car-details-main-container .body .details-section .details {
        display: block !important; grid-template-columns: none !important;
        grid-template-rows: none !important; gap: 0 !important;
    }
    .v2 .car-details-main-container .body .details-section {
        background-color: transparent !important; padding: 0 !important;
        border-radius: 0 !important; border: none !important;
    }
    .v2 .car-details-main-container .body .details-section .card-title {
        border-bottom: none !important; padding-bottom: 0 !important;
        justify-content: flex-start !important;
    }
    .v2 .car-details-main-container .body .details-section td {
        padding-left: 0 !important; max-width: none !important;
        display: table-cell !important;
    }
    .v2 .car-details-main-container .body .details-section th {
        width: 40% !important;
    }
    .v2 .car-details-main-container .details-section .tradeMark {
        display: none !important;
    }
    .v2 .car-details-main-container .body .bid-info {
        margin-bottom: 0 !important;
    }
    .v2 .car-details-main-container .body .card-grid,
    .v2 .car-details-main-container .body .card-grid.card-2 {
        grid-template-columns: none !important; display: block !important;
        background-color: transparent !important; border: none !important;
        padding: 0 !important;
    }
}

@media (max-width: 767px) {
    .v2 .car-details-main-container .body .condition-info {
        grid-template-columns: 1fr !important;
    }
    .v2 .car-details-main-container .body .bid-info-container {
        grid-template-columns: none !important; display: block !important;
    }
    .v2 .car-details-main-container .body .card-title.sub-card {
        flex-direction: row !important; align-items: center !important; gap: 10px !important;
    }
    .v2 .car-details-main-container .body .details-section td {
        padding-left: 0 !important;
    }
    .v2 .car-details-main-container .body .details-section th {
        width: 40% !important;
    }
    .v2 .car-details-main-container .body .cr-generated-link {
        max-width: none !important;
    }
    .v2 .car-details-main-container .body .bid-note-row {
        grid-template-columns: none !important;
    }
}

@media (max-width: 531px) {
    .v2 .car-details-main-container .body .details-section .details {
        display: block !important; grid-template-columns: none !important; gap: 0 !important;
    }
    .v2 .car-details-main-container .body .details-section .details table td {
        text-align: left !important; display: table-cell !important;
    }
    .v2 .car-details-main-container .body .details-section .details table th {
        text-align: left !important;
    }
    .v2 .car-details-main-container .details-section .tradeMark {
        display: none !important;
    }
}

/* ── Layout ── */
.cd2-hero-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.cd2-row-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.cd2-full-row { margin-bottom: 20px; }

/* ── Card ── */
.cd2-card { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; padding: 24px; }

/* ── Card Heading ── */
.cd2-ch { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.cd2-ch-icon {
    width: 36px; height: 36px; border-radius: 8px; background: var(--v2-purple-light);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    font-size: 16px; color: var(--v2-purple-muted);
}
.cd2-ch h4 { font-size: 15px; font-weight: 700; margin: 0; color: var(--v2-text); }

/* ── Eyebrow ── */
.cd2-eyebrow {
    font-size: 9px; font-weight: 600; text-transform: uppercase;
    color: rgba(30,30,40,0.4); letter-spacing: 0.09em; margin-bottom: 8px;
}

/* ── Carousel Card ── */
.cd2-carousel { padding: 0; overflow: hidden; background: transparent; border: none; }
.cd2-carousel-area {
    background: var(--v2-purple-light); min-height: 300px;
    display: flex; align-items: center; justify-content: center;
    position: relative; border-radius: 14px;
}
.cd2-carousel .image-slide { display: none; }
.cd2-carousel .image-slide.active { display: block; }
.cd2-carousel .image-slide img.img-container {
    width: 100%; height: auto; min-height: 300px; object-fit: cover; display: block; border-radius: 14px;
}
.cd2-carousel .locked-container {
    background: var(--v2-purple-light); min-height: 300px;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.cd2-carousel-nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,0.92); border: 1px solid var(--v2-border);
    color: var(--v2-text); font-size: 14px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.15s; z-index: 2;
}
.cd2-carousel-nav.prev { left: 12px; }
.cd2-carousel-nav.next { right: 12px; }
.cd2-carousel-nav:hover { background: #fff; border-color: var(--v2-purple-muted); }
.cd2-carousel-dots { display: flex; justify-content: center; gap: 6px; padding: 14px 0 10px; }
.cd2-carousel-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--v2-border); cursor: pointer; transition: all 0.15s;
}
.cd2-carousel-dot.active { background: var(--v2-purple); }
.cd2-copyright {
    position: absolute; bottom: 12px; right: 12px;
    font-size: 11px; background: rgba(255,255,255,0.88); border-radius: 6px;
    padding: 3px 8px; border: 1px solid var(--v2-border);
    color: var(--v2-muted); display: flex; align-items: center; gap: 4px; z-index: 2;
    cursor: pointer; transition: background 0.15s;
}
.cd2-copyright:hover { background: rgba(255,255,255,1); }

/* CA Badge — reuses .tradeMark popup but repositioned for carousel bottom-left */
.cd2-carousel-area .cd2-ca-badge {
    position: absolute !important; bottom: 12px !important; left: 12px !important;
    top: auto !important; right: auto !important;
    font-size: 11px !important; background: rgba(255,255,255,0.88) !important;
    border-radius: 6px !important; padding: 3px 8px !important;
    border: 1px solid var(--v2-border) !important;
    color: var(--v2-purple) !important; display: inline-block !important;
    z-index: 2; cursor: pointer; transition: background 0.15s;
    font-weight: 800 !important; letter-spacing: 0.05em;
    margin: 0 !important;
}
.cd2-carousel-area .cd2-ca-badge:hover { background: rgba(255,255,255,1) !important; }
/* Kill the dark hover tooltip — CA now uses a white click modal */
.cd2-carousel-area .cd2-ca-badge::before,
.cd2-carousel-area .cd2-ca-badge::after {
    display: none !important; content: none !important;
}
.cd2-carousel .image-placeholder {
    border-radius: 14px; background: var(--v2-purple-light);
    border: 1px solid var(--v2-border); min-height: 300px;
    display: flex; align-items: center; justify-content: center;
}
.cd2-carousel .image-placeholder svg {
    width: 80px; height: 80px; fill: var(--v2-purple-muted); opacity: 0.4;
}

/* ── Snake Journey Steps ── */
.cd2-journey-card { display: flex; flex-direction: column; }
.cd2-journey-title {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.08em; color: var(--v2-purple); margin-bottom: 16px;
}
.cd2-snake-grid { position: relative; }
.cd2-snake-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.cd2-snake-step { text-align: center; padding: 10px 6px; position: relative; }
.cd2-snake-row:first-child .cd2-snake-step::after {
    content: ''; position: absolute; top: 24px; left: 50%; width: 100%; height: 2px;
    background: var(--v2-border); z-index: 0;
}
.cd2-snake-row:first-child .cd2-snake-step:last-child::after { display: none; }
.cd2-snake-row:first-child .cd2-snake-step.done::after { background: var(--v2-purple); }
.cd2-snake-row:last-child .cd2-snake-step::after {
    content: ''; position: absolute; top: 24px; right: 50%; width: 100%; height: 2px;
    background: var(--v2-border); z-index: 0;
}
.cd2-snake-row:last-child .cd2-snake-step:first-child::after { display: none; }
.cd2-snake-turn {
    display: flex; justify-content: flex-end; padding-right: 6%;
    height: 40px; position: relative;
}
.cd2-snake-turn svg { width: 40px; height: 40px; }
.cd2-smarker {
    width: 28px; height: 28px; border-radius: 50%;
    background: #fff; border: 2px solid var(--v2-purple);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 800; color: var(--v2-purple);
    position: relative; z-index: 1; margin-bottom: 6px;
}
.cd2-smarker.done { background: var(--v2-purple); color: #fff; }
.cd2-slabel { font-size: 10px; font-weight: 700; color: var(--v2-text); line-height: 1.25; margin-bottom: 2px; }
.cd2-shint { font-size: 9px; color: var(--v2-muted); line-height: 1.3; }

/* ── Deadline Strip ── */
.cd2-deadline {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 14px; margin-top: 20px;
    border-radius: 8px; border: 1px solid var(--v2-border);
    background: #fafafe;
}
.cd2-deadline-icon {
    width: 36px; height: 36px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; flex-shrink: 0;
}
.cd2-deadline-text {
    display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0;
}
.cd2-deadline-label {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px;
}
.cd2-deadline-countdown {
    font-size: 15px; font-weight: 800; line-height: 1.3;
}
.cd2-deadline-date {
    font-size: 11px; color: var(--v2-muted); font-weight: 500;
}
.cd2-deadline-action { flex-shrink: 0; }
.cd2-deadline-btn {
    font-size: 12px; font-weight: 700; border-radius: 6px;
    padding: 6px 14px; border: 1px solid; cursor: pointer;
    display: inline-flex; align-items: center; gap: 5px;
    transition: all 0.15s; background: transparent;
}
.cd2-deadline-btn:hover { opacity: 0.85; }
.cd2-deadline-watching {
    font-size: 11px; font-weight: 600; color: #16a34a;
    display: inline-flex; align-items: center; gap: 4px;
}

/* Urgency: red (<24h) */
.cd2-deadline--red { border-color: rgba(220,38,38,0.25); background: #fef2f2; }
.cd2-deadline--red .cd2-deadline-icon { background: #fee2e2; color: #dc2626; }
.cd2-deadline--red .cd2-deadline-label { color: #dc2626; }
.cd2-deadline--red .cd2-deadline-countdown { color: #b91c1c; }
.cd2-deadline--red .cd2-deadline-btn {
    background: #dc2626; color: #fff; border-color: #dc2626;
}
.cd2-deadline--red .cd2-deadline-btn:hover { background: #b91c1c; border-color: #b91c1c; }

/* Urgency: amber (1-3 days) */
.cd2-deadline--amber { border-color: rgba(217,119,6,0.25); background: #fffbeb; }
.cd2-deadline--amber .cd2-deadline-icon { background: #fef3c7; color: #d97706; }
.cd2-deadline--amber .cd2-deadline-label { color: #d97706; }
.cd2-deadline--amber .cd2-deadline-countdown { color: #b45309; }
.cd2-deadline--amber .cd2-deadline-btn {
    background: #d97706; color: #fff; border-color: #d97706;
}
.cd2-deadline--amber .cd2-deadline-btn:hover { background: #b45309; border-color: #b45309; }

/* Urgency: purple (4-7 days) */
.cd2-deadline--purple { border-color: rgba(97,67,228,0.18); background: var(--v2-purple-light); }
.cd2-deadline--purple .cd2-deadline-icon { background: rgba(97,67,228,0.12); color: var(--v2-purple); }
.cd2-deadline--purple .cd2-deadline-label { color: var(--v2-purple); }
.cd2-deadline--purple .cd2-deadline-countdown { color: var(--v2-purple); }
.cd2-deadline--purple .cd2-deadline-btn {
    background: transparent; color: var(--v2-purple); border-color: var(--v2-purple);
}
.cd2-deadline--purple .cd2-deadline-btn:hover { background: var(--v2-purple); color: #fff; }

/* Urgency: muted (>7 days or not set) */
.cd2-deadline--muted .cd2-deadline-icon { background: #f1f1f3; color: var(--v2-muted); }
.cd2-deadline--muted .cd2-deadline-label { color: var(--v2-muted); }
.cd2-deadline--muted .cd2-deadline-countdown { color: var(--v2-text); }
.cd2-deadline--muted .cd2-deadline-btn {
    background: transparent; color: var(--v2-muted); border-color: var(--v2-border);
}
.cd2-deadline--muted .cd2-deadline-btn:hover { border-color: var(--v2-purple); color: var(--v2-purple); }

/* ── Vehicle Details Card ── */
.cd2-details { padding: 20px; }
.cd2-dsec {
    margin-bottom: 16px; padding-bottom: 16px;
    border-bottom: 1px solid var(--v2-border);
}
.cd2-dsec:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.cd2-ditem {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: 8px; padding: 5px 0;
}
.cd2-dlbl { font-size: 13px; font-weight: 500; color: var(--v2-muted); white-space: nowrap; }
.cd2-dval { font-size: 13px; font-weight: 600; color: var(--v2-text); text-align: right; }
.cd2-dval a { color: var(--v2-purple); text-decoration: none; }
.cd2-dval a:hover { text-decoration: underline; }
.cd2-stars { color: #f59e0b; letter-spacing: 1px; font-size: 12px; }

/* ── Bid Information Card ── */
.cd2-bid-card { }
.cd2-bid-hdr {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;
}
.cd2-bid-hint {
    font-size: 11px; color: var(--v2-muted); display: flex; align-items: center; gap: 4px;
}
.cd2-edit-all-link {
    font-size: 12px; color: var(--v2-purple); text-decoration: none; font-weight: 600; cursor: pointer;
}
.cd2-edit-all-link:hover { text-decoration: underline; }
.cd2-brow {
    display: flex; align-items: center; justify-content: space-between;
    padding: 9px 0; border-bottom: 1px solid var(--v2-border); gap: 8px;
}
.cd2-brow:last-of-type { border-bottom: none; }
.cd2-brow-lbl { font-size: 13px; font-weight: 500; color: var(--v2-muted); flex: 1; }
.cd2-brow-val {
    font-size: 13px; font-weight: 600; color: var(--v2-text);
    display: flex; align-items: center; gap: 6px;
}
.cd2-brow.cd2-highlight .cd2-brow-lbl { color: var(--v2-purple); font-weight: 700; }
.cd2-brow.cd2-highlight .cd2-brow-val { color: var(--v2-purple); font-size: 15px; font-weight: 700; }
.cd2-brow.cd2-highlight-current .cd2-brow-val { font-size: 15px; font-weight: 700; }
.cd2-ai-badge {
    display: inline-flex; font-size: 9px; font-weight: 700; letter-spacing: 0.05em;
    color: var(--v2-purple); background: var(--v2-purple-light);
    padding: 2px 6px; border-radius: 4px; text-transform: uppercase; margin-left: 4px;
}
/* Shared disclaimer box — icon on the side, text center-aligned */
.cd2-disc-box {
    margin-top: 12px;
    background: var(--v2-purple-light); border: 1px solid rgba(97,67,228,0.18); border-radius: 8px;
    padding: 12px 14px; font-size: 12px; color: var(--v2-purple); line-height: 1.55;
    display: flex; align-items: center; gap: 10px;
}
.cd2-disc-box i { font-size: 16px; flex-shrink: 0; color: var(--v2-purple); }
/* Info icon in bid values — make it subtle, not dark FA default */
.v2 .car-details-main-container .cd2-brow-val .fa-circle-info {
    font-size: 13px !important; color: var(--v2-purple-muted) !important;
    cursor: pointer;
}
.v2 .car-details-main-container .cd2-brow-val .fa-circle-info:hover {
    color: var(--v2-purple) !important;
}

/* Edit buttons in bid info + notes */
.v2 .car-details-main-container .cd2-row-edit {
    width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--v2-border) !important;
    background: #fff !important; cursor: pointer; display: flex; align-items: center; justify-content: center;
    color: var(--v2-muted) !important; transition: all 0.15s; font-size: 11px; padding: 0 !important;
}
.v2 .car-details-main-container .cd2-row-edit:hover {
    border-color: var(--v2-purple) !important; color: var(--v2-purple) !important;
    background: var(--v2-purple-light) !important;
}

/* ── Edit Shortlist Modal — v2 design ── */
.cd2-edit-modal-form { font-family: 'Inter', sans-serif; }
.cd2-edit-modal-body { padding: 20px 24px 8px; }
.cd2-edit-modal-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.cd2-edit-field { margin-bottom: 0; }
.cd2-edit-label {
    display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
    color: rgba(30,30,40,0.45); text-transform: uppercase; margin-bottom: 5px;
}
.cd2-edit-input-wrap {
    display: flex; align-items: center; border: 1px solid var(--v2-border);
    border-radius: 8px; background: var(--v2-bg); overflow: hidden;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.cd2-edit-input-wrap:focus-within {
    border-color: var(--v2-purple); box-shadow: 0 0 0 3px rgba(97,67,228,0.12);
}
.cd2-edit-prefix {
    padding: 0 0 0 12px; font-size: 13px; font-weight: 600;
    color: var(--v2-muted); flex-shrink: 0;
}
.cd2-edit-input {
    width: 100%; border: none; padding: 10px 12px 10px 4px;
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
    color: var(--v2-text); background: transparent; outline: none;
}
.cd2-edit-input::-webkit-inner-spin-button { display: none; }
.cd2-edit-notes { margin-top: 16px; }
.cd2-edit-textarea {
    width: 100%; border: 1px solid var(--v2-border); border-radius: 8px;
    padding: 10px 12px; font-family: 'Inter', sans-serif; font-size: 13px;
    color: var(--v2-text); background: var(--v2-bg); outline: none;
    resize: vertical; line-height: 1.5;
}
.cd2-edit-textarea:focus {
    border-color: var(--v2-purple); box-shadow: 0 0 0 3px rgba(97,67,228,0.12);
}
.cd2-edit-modal-footer {
    display: flex; justify-content: flex-end; gap: 10px;
    padding: 16px 24px 20px; border-top: 1px solid var(--v2-border); margin-top: 16px;
}
.cd2-edit-cancel {
    background: transparent; border: 1px solid var(--v2-border); border-radius: 8px;
    padding: 8px 18px; font-family: 'Inter', sans-serif; font-size: 13px;
    font-weight: 600; color: var(--v2-muted); cursor: pointer;
}
.cd2-edit-cancel:hover { background: var(--v2-purple-light); color: var(--v2-text); }
.cd2-edit-save {
    background: var(--v2-purple); border: none; border-radius: 8px;
    padding: 8px 20px; font-family: 'Inter', sans-serif; font-size: 13px;
    font-weight: 600; color: #fff; cursor: pointer; display: inline-flex;
    align-items: center; gap: 6px;
}
.cd2-edit-save:hover { background: var(--v2-purple-hover); }
.cd2-edit-save:disabled { opacity: 0.6; cursor: not-allowed; }

/* Inline edit row */
.cd2-brow-edit {
    background: var(--v2-purple-light); border-radius: 8px;
    padding: 10px 12px; margin: 4px 0; border-bottom: none;
}
.cd2-brow-edit input {
    width: 100px; border: 1px solid var(--v2-purple); border-radius: 6px; padding: 5px 8px;
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; text-align: right;
    outline: none; background: #fff;
}

/* Notes section */
.cd2-notes-area {
    background: var(--v2-purple-light); border-radius: 8px; padding: 14px 16px;
}
.cd2-notes-area p { font-size: 13px; line-height: 1.6; margin-bottom: 8px; }
.cd2-note-actions {
    display: flex; align-items: center; gap: 6px; margin-top: 4px; justify-content: flex-end;
}
.cd2-note-view-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--v2-border);
    background: #fff; cursor: pointer; color: var(--v2-muted); transition: all 0.15s;
}
.cd2-note-view-btn:hover { border-color: var(--v2-purple); color: var(--v2-purple); background: var(--v2-purple-light); }
.cd2-notes-edit-btn {
    font-size: 12px; color: var(--v2-purple); font-weight: 600;
    background: none; border: none; cursor: pointer; font-family: 'Inter', sans-serif;
}

/* New container classes (legacy class replacements) */
.cd2-details-inner { }
.cd2-bid-rows { }
.cd2-cr-content { }
.cd2-cr-list { }
.cd2-note-text { font-size: 13px; line-height: 1.6; margin: 0; }
.cd2-rtldr-wrap { }
.cd2-info-dot { font-size: 13px; }

/* Shortlist CTA (before-shortlist state) */
.cd2-shortlist-cta {
    margin-top: 16px; background: var(--v2-purple-light);
    border: 1px dashed var(--v2-purple-muted); border-radius: 10px;
    padding: 16px; text-align: center;
}
.cd2-shortlist-cta p { font-size: 13px; color: var(--v2-purple); margin-bottom: 10px; }
.cd2-shortlist-cta .cd2-cta-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--v2-purple); color: #fff; border: none; border-radius: 8px;
    padding: 10px 20px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif;
}
.cd2-shortlist-cta .cd2-cta-btn:hover { background: var(--v2-purple-hover); }

/* Shortlist button + form — v2 design (overrides auction.css .btn.shortlist-new-btn) */
.v2 .car-details-main-container .shortlist-form {
    max-width: none !important; padding: 0 !important;
    border: none !important; border-radius: 0 !important;
    display: inline !important;
}
.v2 .car-details-main-container .shortlist-form .btn {
    padding: 8px 16px !important; margin: 0 !important;
    font-size: 12px !important;
}
.v2 .car-details-main-container .btn.shortlist-new-btn,
.v2 .car-details-main-container .shortlist-new-btn {
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    background: var(--v2-purple) !important; color: #fff !important;
    border: none !important; border-radius: 8px !important; padding: 8px 16px !important;
    font-family: 'Inter', sans-serif !important; font-size: 12px !important;
    font-weight: 600 !important; cursor: pointer !important;
    transition: background 0.15s !important; transform: none !important;
}
.v2 .car-details-main-container .btn.shortlist-new-btn:hover,
.v2 .car-details-main-container .shortlist-new-btn:hover {
    background: var(--v2-purple-hover) !important; transform: none !important;
    font-weight: 600 !important;
}
.v2 .car-details-main-container .shortlist-new-btn i,
.v2 .car-details-main-container .btn.shortlist-new-btn i {
    font-size: 11px !important; color: #fff !important;
}
/* Header variant — outlined style */
.v2 .car-details-main-container .cd2-bid-hint .btn.shortlist-new-btn,
.v2 .car-details-main-container .cd2-bid-hint .shortlist-new-btn {
    background: transparent !important; color: var(--v2-purple) !important;
    border: 1px solid var(--v2-purple) !important; padding: 5px 12px !important;
    font-size: 11px !important;
}
.v2 .car-details-main-container .cd2-bid-hint .btn.shortlist-new-btn:hover,
.v2 .car-details-main-container .cd2-bid-hint .shortlist-new-btn:hover {
    background: var(--v2-purple-light) !important;
}
.v2 .car-details-main-container .cd2-bid-hint .shortlist-new-btn i {
    color: var(--v2-purple) !important;
}
/* Shortlist flag in CTA area */
.v2 .car-details-main-container .cd2-shortlist-cta .shortlist-form {
    display: inline-block !important;
}
.v2 .car-details-main-container .cd2-shortlist-cta .shortlist-flag {
    background: none !important; border-radius: 0 !important;
    padding: 0 !important; border: none !important;
}
.v2 .car-details-main-container .shortlist-flag button {
    font-size: 12px !important; font-weight: 600 !important;
}
.v2 .car-details-main-container .shortlist-flag button:focus {
    outline: none !important; border: none !important;
    box-shadow: none !important;
}

/* Shortlisted badge */
.cd2-shortlisted-badge {
    display: inline-flex; align-items: center; gap: 5px;
    background: #d1fae5; color: #065f46; font-size: 11px; font-weight: 700;
    padding: 4px 10px; border-radius: 6px;
}

/* ── Condition Reports — Fixed height scrollable ── */
.cd2-cr-fixed {
    min-height: 280px; max-height: 280px; display: flex; flex-direction: column;
}
.cd2-cr-fixed .cd2-ch { flex-shrink: 0; }
.cd2-cr-scroll { flex: 1; overflow-y: auto; min-height: 0; }
.cd2-cr-scroll::-webkit-scrollbar { width: 5px; }
.cd2-cr-scroll::-webkit-scrollbar-track { background: transparent; }
.cd2-cr-scroll::-webkit-scrollbar-thumb { background: var(--v2-border); border-radius: 3px; }
.cd2-cr-scroll::-webkit-scrollbar-thumb:hover { background: var(--v2-purple-muted); }

.cd2-cond-text {
    background: var(--v2-purple-light); border-radius: 8px;
    padding: 14px 16px; font-size: 13px; line-height: 1.6; color: var(--v2-text);
}
.cd2-cond-empty {
    background: var(--v2-purple-light); border-radius: 8px;
    text-align: center; padding: 40px 20px; color: var(--v2-muted);
}
.cd2-cond-empty i { color: var(--v2-purple-muted); opacity: 0.4; }

/* ── Community Report Row ── */
.cd2-crr {
    display: flex; align-items: flex-start; gap: 14px; padding: 14px;
    border: 1px solid var(--v2-border); border-radius: 10px;
    cursor: pointer; text-decoration: none; color: var(--v2-text);
    transition: border-color 0.15s, background 0.15s; margin-bottom: 10px;
}
.cd2-crr:last-child { margin-bottom: 0; }
.cd2-crr:hover { border-color: var(--v2-purple-muted); background: var(--v2-purple-light); }
.cd2-rthumb {
    width: 54px; height: 54px; border-radius: 8px; background: #e4e2f0;
    flex-shrink: 0; overflow: hidden; display: flex; align-items: center; justify-content: center;
    font-size: 20px; color: var(--v2-muted);
}
.cd2-rthumb img { width: 100%; height: 100%; object-fit: cover; }
.cd2-rmeta { flex: 1; min-width: 0; }
.cd2-rtitle-row { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.cd2-rtitle { font-size: 13px; font-weight: 600; }
.cd2-rbadge-free {
    font-size: 10px; font-weight: 700; color: #065f46; background: #d1fae5;
    padding: 2px 8px; border-radius: 20px;
}
.cd2-rbadge-paid {
    font-size: 10px; font-weight: 700; color: #7c3aed; background: #ede9fe;
    padding: 2px 8px; border-radius: 20px;
}
.cd2-rpub { font-size: 12px; color: var(--v2-muted); margin-bottom: 4px; }
.cd2-rtldr { font-size: 12px; line-height: 1.5; color: var(--v2-text); margin: 4px 0 0; }

/* ── Request CR — Full-width 2-col form ── */
.cd2-cr-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; align-items: start; }
.cd2-cr-heading { grid-column: 1 / -1; }
.cd2-fg { margin-bottom: 14px; }
.cd2-flbl {
    display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
    color: rgba(30,30,40,0.45); text-transform: uppercase; margin-bottom: 5px;
}
.cd2-finp, .cd2-ftxt {
    width: 100%; border: 1px solid var(--v2-border); border-radius: 8px;
    padding: 9px 12px; font-family: 'Inter', sans-serif; font-size: 13px;
    color: var(--v2-text); background: var(--v2-bg); outline: none;
}
.cd2-finp[readonly] { color: var(--v2-muted); background: #f4f3fa; }
.cd2-finp:focus, .cd2-ftxt:focus {
    border-color: var(--v2-purple); box-shadow: 0 0 0 3px rgba(97,67,228,0.12);
}
.cd2-ftxt { resize: vertical; min-height: 80px; line-height: 1.5; }
.cd2-cr-fields { grid-column: 1; }
.cd2-cr-msg { grid-column: 2; grid-row: 2 / 4; }
.cd2-cr-msg .cd2-ftxt { min-height: 100%; height: 100%; }
.cd2-cr-btn-row { grid-column: 2; grid-row: 4; padding-top: 18px; margin-bottom: 14px; }
.cd2-btn-primary {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: var(--v2-purple); color: #fff; border: none; border-radius: 8px;
    padding: 10px 20px; font-family: 'Inter', sans-serif; font-size: 13px;
    font-weight: 600; cursor: pointer; width: 100%;
}
.cd2-btn-primary:hover { background: var(--v2-purple-hover); }
.cd2-btn-primary.disabled {
    background: var(--v2-border); color: var(--v2-muted);
    cursor: not-allowed; pointer-events: none;
}

/* Style the shared CR request form controls */
.v2 .car-details-main-container .cd2-cr-request .cr-form-grid {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 0 20px !important; align-items: start !important;
}
.v2 .car-details-main-container .cd2-cr-request .cr-form-full {
    grid-column: 1 !important;
}
.v2 .car-details-main-container .cd2-cr-request .cr-form-full:nth-child(4) {
    grid-column: 2 !important; grid-row: 1 / 2 !important;
}
/* Vehicle Images — right column, directly below Personal Message */
.v2 .car-details-main-container .cd2-cr-request .cr-form-full:nth-child(5) {
    grid-column: 2 !important; grid-row: 2 / 4 !important; display: block !important;
}
.v2 .car-details-main-container .cd2-cr-request .cr-field {
    margin-bottom: 14px;
}
.v2 .car-details-main-container .cd2-cr-request .cr-form-label {
    display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
    color: rgba(30,30,40,0.45); text-transform: uppercase; margin-bottom: 5px;
}
.v2 .car-details-main-container .cd2-cr-request .cr-form-input,
.v2 .car-details-main-container .cd2-cr-request .cr-form-textarea {
    width: 100%; border: 1px solid var(--v2-border); border-radius: 8px;
    padding: 12px 14px; font-family: 'Inter', sans-serif; font-size: 13px;
    color: var(--v2-text); background: var(--v2-bg); outline: none;
    min-height: 44px;
}
.v2 .car-details-main-container .cd2-cr-request .cr-form-input:focus,
.v2 .car-details-main-container .cd2-cr-request .cr-form-textarea:focus {
    border-color: var(--v2-purple); box-shadow: 0 0 0 3px rgba(97,67,228,0.12);
}
.v2 .car-details-main-container .cd2-cr-request .cr-form-textarea {
    min-height: 100% !important; height: 100% !important; resize: vertical;
}
.v2 .car-details-main-container .cd2-cr-request .cr-guest-notice {
    background: var(--v2-purple-light); border-radius: 8px;
    padding: 10px 14px; font-size: 13px; color: var(--v2-muted); margin-bottom: 16px;
    grid-column: 1 / -1;
}
.v2 .car-details-main-container .cd2-cr-request .cr-hint-div { display: none; }
.v2 .car-details-main-container .cd2-cr-request .cr-image-preview-grid {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 8px; margin-top: 8px;
}
.v2 .car-details-main-container .cd2-cr-request .cr-image-preview-grid img {
    width: 100%; height: 80px; object-fit: cover; border-radius: 8px; border: 1px solid var(--v2-border);
}
/* Override #cr-request-form scoped rules from styles.css (ID specificity) */
.v2 .car-details-main-container .cd2-cr-request .cr-form-actions,
.v2 .car-details-main-container #cr-request-form .cr-form-actions,
.v2 #crRequestForm .cr-form-actions {
    text-align: center !important; padding-top: 8px !important;
    grid-column: 1 / -1 !important; display: block !important;
    justify-content: center !important; margin-top: 0 !important;
}
.v2 .car-details-main-container .cd2-cr-request .cr-btn--primary,
.v2 .car-details-main-container #cr-request-form .cr-form-actions button[type="submit"],
.v2 #crRequestForm .cr-btn--primary {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; gap: 8px !important;
    background: var(--v2-purple) !important; color: #fff !important;
    border: none !important; border-radius: 8px !important;
    padding: 12px 24px !important; font-family: 'Inter', sans-serif !important;
    font-size: 13px !important; font-weight: 600 !important;
    cursor: pointer !important; width: 100% !important; max-width: 400px !important;
    transform: none !important; box-shadow: none !important;
    background-image: none !important;
}
.v2 .car-details-main-container .cd2-cr-request .cr-btn--primary:hover,
.v2 .car-details-main-container #cr-request-form .cr-form-actions button[type="submit"]:hover,
.v2 #crRequestForm .cr-btn--primary:hover {
    background: var(--v2-purple-hover) !important; transform: none !important;
}
/* Override #cr-request-form image grid (ID specificity) */
.v2 .car-details-main-container #cr-request-form .cr-image-preview-grid,
.v2 #crRequestForm .cr-image-preview-grid {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)) !important;
    gap: 8px !important; margin-top: 8px !important; margin-bottom: 8px !important;
    flex-wrap: nowrap !important;
}
.v2 .car-details-main-container .cd2-cr-request .cr-image-wrapper {
    position: relative; display: inline-block;
}
.v2 .car-details-main-container .cd2-cr-request .cr-remove-img {
    position: absolute; top: 2px; right: 2px; width: 20px; height: 20px;
    border-radius: 50%; background: rgba(0,0,0,0.6); color: #fff; border: none;
    font-size: 14px; line-height: 1; cursor: pointer; display: flex;
    align-items: center; justify-content: center;
}
.v2 .car-details-main-container .cd2-cr-request input[type="file"] {
    margin-top: 8px; font-size: 12px;
}

/* Generated link box */
.cd2-gen-link {
    grid-column: 1 / -1; background: #d1fae5; border: 1px solid #6ee7b7; border-radius: 8px;
    padding: 12px 16px; display: flex; align-items: center; gap: 10px; margin-top: 10px;
}
.cd2-gen-link code {
    flex: 1; font-size: 12px; background: rgba(255,255,255,0.6); padding: 6px 10px;
    border-radius: 6px; border: 1px solid #a7f3d0; word-break: break-all;
}
.cd2-copy-btn {
    border: 1px solid #6ee7b7; background: #fff; border-radius: 6px; padding: 6px 12px;
    font-size: 11px; font-weight: 600; color: #065f46; cursor: pointer; font-family: 'Inter', sans-serif;
    white-space: nowrap;
}

/* CR link row (legacy JS uses .cr-link-row) */
.v2 .car-details-main-container .cr-link-row { display: flex; gap: 8px; align-items: center; }
.v2 .car-details-main-container .cr-link-row input {
    flex: 1; background: var(--v2-bg); border: 1px solid var(--v2-border);
    border-radius: 8px; padding: 8px 12px; font-size: 13px; color: var(--v2-text);
}
.v2 .car-details-main-container .cr-link-label { font-size: 13px; font-weight: 600; color: var(--v2-text); margin-bottom: 6px; }
.v2 .car-details-main-container .cr-expiry { font-size: 11px; color: var(--v2-muted); margin-top: 6px; }

/* Submitted report */
.cd2-submitted-report {
    grid-column: 1 / -1; border: 1px solid var(--v2-border); border-radius: 10px;
    padding: 14px; margin-top: 10px;
}
.cd2-sr-hdr { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.cd2-sr-badge {
    font-size: 10px; font-weight: 700; color: #065f46; background: #d1fae5;
    padding: 3px 10px; border-radius: 20px;
}
.cd2-sr-meta { font-size: 12px; color: var(--v2-muted); }
.cd2-sr-text { font-size: 13px; line-height: 1.55; }

/* CR-section disc-box: inherit shared .cd2-disc-box but span grid */
.cd2-cr-request .cd2-disc-box {
    grid-column: 1 / -1; margin-top: 6px;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .cd2-hero-row, .cd2-row-2col { grid-template-columns: 1fr; }
    .cd2-cr-form { grid-template-columns: 1fr; }
    .cd2-cr-msg { grid-column: 1; grid-row: auto; }
    .cd2-cr-fields { grid-column: 1; }
    .cd2-cr-btn-row { grid-column: 1; }
    .cd2-cr-fixed { max-height: none; min-height: auto; }
    .cd2-snake-row { grid-template-columns: repeat(5, 1fr); }
    .cd2-journey-card { order: 99; }
    .v2 .car-details-main-container .cd2-cr-request .cr-form-grid { grid-template-columns: 1fr !important; }
    .v2 .car-details-main-container .cd2-cr-request .cr-form-full:nth-child(4) { grid-column: 1 !important; grid-row: auto !important; }
    .v2 .car-details-main-container .cd2-cr-request .cr-form-full:nth-child(5) { grid-column: 1 !important; grid-row: auto !important; }
    .v2 .car-details-main-container .cd2-cr-request .cr-form-actions { grid-column: 1; }
}
@media (max-width: 480px) {
    .cd2-card { padding: 20px 16px; }
    .cd2-snake-row { grid-template-columns: repeat(3, 1fr); }
    .cd2-snake-turn { display: none; }
    .cd2-deadline { flex-wrap: wrap; }
    .cd2-deadline-action { width: 100%; }
    .cd2-deadline-btn { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════
   Nav V2 — Dark sidebar + light topbar
   All classes prefixed nav-v2-
   ═══════════════════════════════════════════════════════════════════ */

/* Neutralize legacy sidebar remnants */
.v2 .w-sidebar { background: none !important; width: auto !important; min-width: 0 !important; }
.v2 .w-sidebar .nav-item .nav-link { padding: 0 !important; background: none !important; }

/* ─── LAYOUT SHELL ─── */
.v2 .nav-v2-app-shell {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

/* ─── SIDEBAR ─── */
.nav-v2-sidebar {
    --nav-v2-collapsed: 65px;
    --nav-v2-expanded: 250px;
    --nav-v2-topbar-h: 56px;
    --nav-v2-sub-bg: #16161d;
    --nav-v2-accent-light: rgba(97,67,228,0.12);
    --nav-v2-divider: rgba(255,255,255,0.06);
    --nav-v2-icon-dim: rgba(255,255,255,0.6);
    --nav-v2-hover-bg: rgba(255,255,255,0.05);
    --nav-v2-transition: 240ms cubic-bezier(0.4,0,0.2,1);

    width: var(--nav-v2-collapsed);
    min-width: var(--nav-v2-collapsed);
    background: var(--v2-dark);
    display: flex;
    flex-direction: column;
    transition: width var(--nav-v2-transition), min-width var(--nav-v2-transition);
    overflow: hidden;
    position: relative;
    z-index: 100;
    flex-shrink: 0;
}

/* Purple radial glow at top */
.nav-v2-sidebar::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(97,67,228,0.18) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.nav-v2-sidebar:hover,
.nav-v2-sidebar.expanded {
    width: var(--nav-v2-expanded);
    min-width: var(--nav-v2-expanded);
}

/* ─── SIDEBAR BRAND ─── */
.nav-v2-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    height: var(--nav-v2-topbar-h);
    border-bottom: 1px solid var(--nav-v2-divider);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.nav-v2-brand-mark {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background: var(--v2-purple);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.5px;
}

.nav-v2-brand-name {
    font-size: 13.5px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    opacity: 0;
    transition: opacity var(--nav-v2-transition);
    line-height: 1.2;
}

.nav-v2-brand-sub {
    font-size: 10px;
    color: var(--nav-v2-icon-dim);
    white-space: nowrap;
    opacity: 0;
    transition: opacity var(--nav-v2-transition);
}

.nav-v2-sidebar:hover .nav-v2-brand-name,
.nav-v2-sidebar:hover .nav-v2-brand-sub,
.nav-v2-sidebar.expanded .nav-v2-brand-name,
.nav-v2-sidebar.expanded .nav-v2-brand-sub {
    opacity: 1;
}

/* ─── SIDEBAR SCROLL AREA ─── */
.nav-v2-scroll {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 0 12px;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.nav-v2-scroll::-webkit-scrollbar { width: 3px; }
.nav-v2-scroll::-webkit-scrollbar-track { background: transparent; }
.nav-v2-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 2px; }

/* ─── NAV SECTIONS ─── */
.nav-v2-section {
    padding: 4px 0;
}

.nav-v2-section:first-child {
    flex: 1;
}

.nav-v2-section + .nav-v2-section {
    border-top: 1px solid var(--nav-v2-divider);
    margin-top: 4px;
    padding-top: 8px;
}

/* ─── NAV ITEM ─── */
.nav-v2-item {
    position: relative;
}

.nav-v2-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    height: 40px;
    color: var(--nav-v2-icon-dim);
    text-decoration: none;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background var(--nav-v2-transition), color var(--nav-v2-transition), border-color var(--nav-v2-transition);
    white-space: nowrap;
    user-select: none;
    position: relative;
}

.nav-v2-link:hover {
    background: var(--nav-v2-hover-bg);
    color: #fff;
    text-decoration: none;
}

.nav-v2-link.active {
    background: var(--nav-v2-accent-light);
    border-left-color: var(--v2-purple);
    color: #fff;
}

.nav-v2-icon {
    width: 20px;
    height: 20px;
    min-width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nav-v2-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nav-v2-label {
    font-size: 13px;
    font-weight: 500;
    opacity: 0;
    transition: opacity var(--nav-v2-transition);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-v2-sidebar:hover .nav-v2-label,
.nav-v2-sidebar.expanded .nav-v2-label {
    opacity: 1;
}

.nav-v2-beta {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: var(--v2-purple);
    color: #fff;
    padding: 1px 5px;
    border-radius: 4px;
    opacity: 0;
    transition: opacity var(--nav-v2-transition);
}

.nav-v2-sidebar:hover .nav-v2-beta,
.nav-v2-sidebar.expanded .nav-v2-beta {
    opacity: 1;
}

.nav-v2-chevron {
    width: 14px;
    height: 14px;
    min-width: 14px;
    opacity: 0;
    transition: opacity var(--nav-v2-transition), transform var(--nav-v2-transition);
    flex-shrink: 0;
}

.nav-v2-chevron svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nav-v2-sidebar:hover .nav-v2-chevron,
.nav-v2-sidebar.expanded .nav-v2-chevron {
    opacity: 1;
}

.nav-v2-item.open > .nav-v2-link .nav-v2-chevron {
    transform: rotate(180deg);
}

/* ─── TOOLTIP on collapsed ─── */
.nav-v2-link::after {
    content: attr(data-tooltip);
    position: absolute;
    left: calc(var(--nav-v2-collapsed) + 8px);
    top: 50%;
    transform: translateY(-50%);
    background: #2a2a3d;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 6px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 160ms;
    z-index: 200;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.nav-v2-sidebar:not(:hover):not(.expanded) .nav-v2-link:hover::after {
    opacity: 1;
}

/* ─── SUB-MENU ─── */
.nav-v2-submenu {
    background: var(--nav-v2-sub-bg);
    overflow: hidden;
    max-height: 0;
    transition: max-height 280ms cubic-bezier(0.4,0,0.2,1);
}

.nav-v2-item.open .nav-v2-submenu {
    max-height: 300px;
}

.nav-v2-sublink {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px 0 39px;
    height: 36px;
    color: rgba(255,255,255,0.45);
    text-decoration: none;
    font-size: 12.5px;
    font-weight: 400;
    transition: opacity var(--nav-v2-transition), color var(--nav-v2-transition), background var(--nav-v2-transition);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    opacity: 0;
}

.nav-v2-sidebar:hover .nav-v2-sublink,
.nav-v2-sidebar.expanded .nav-v2-sublink {
    opacity: 1;
}

.nav-v2-sublink:hover {
    background: rgba(255,255,255,0.04);
    color: rgba(255,255,255,0.8);
    text-decoration: none;
}

.nav-v2-sublink.active {
    color: var(--v2-purple-muted);
}

.nav-v2-subdot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
    opacity: 0.6;
}

.nav-v2-sublink.active .nav-v2-subdot { opacity: 1; }

/* ─── MAIN COLUMN ─── */
.nav-v2-main-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 0;
}

/* Override sb-admin-2 ID rules that conflict with v2 shell */
.v2 #content-wrapper {
    width: auto !important;
    overflow-x: unset !important;
}


/* ─── TOPBAR ─── */
.nav-v2-topbar {
    height: var(--nav-v2-topbar-h, 56px);
    background: var(--v2-bg);
    border-bottom: none;
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 12px;
    flex-shrink: 0;
    z-index: 50;
    position: sticky;
    top: 0;
}

/* Blur fade below header — only visible once user scrolls */
.nav-v2-topbar::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    bottom: -12px;
    height: 12px;
    background: linear-gradient(to bottom, var(--v2-bg), transparent);
    pointer-events: none;
    opacity: 0;
    transition: opacity 200ms;
}
.nav-v2-topbar.scrolled::after { opacity: 1; }

.nav-v2-hamburger {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    border-radius: 6px;
    color: var(--v2-muted);
    transition: background 160ms;
}

.nav-v2-hamburger:hover { background: var(--v2-purple-light); }

.nav-v2-hamburger svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
}

.nav-v2-topbar-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--v2-text);
    opacity: 0;
    transition: opacity 200ms;
    white-space: nowrap;
}

.nav-v2-topbar-title.visible { opacity: 1; }

.nav-v2-search {
    flex: 1;
    max-width: 380px;
    margin: 0 auto;
    position: relative;
}

.nav-v2-search form {
    width: 100%;
}

.nav-v2-search-input {
    width: 100%;
    height: 34px;
    background: #f5f4fb;
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    padding: 0 12px 0 34px;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    color: var(--v2-text);
    outline: none;
    transition: border-color 160ms, background 160ms;
}

.nav-v2-search-input::placeholder { color: #9898b8; }
.nav-v2-search-input:focus { border-color: #9b8ef0; background: #fff; }

.nav-v2-search-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #9898b8;
    z-index: 1;
}

.nav-v2-search-icon svg {
    width: 15px;
    height: 15px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nav-v2-topbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.nav-v2-bell {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid var(--v2-border);
    color: var(--v2-muted);
    text-decoration: none;
    transition: all 0.15s;
}

.nav-v2-bell:hover {
    background: var(--v2-purple-light);
    color: var(--v2-purple);
    border-color: var(--v2-purple-light);
}

.nav-v2-bell-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 16px;
    height: 16px;
    background: #ef4444;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
}

.nav-v2-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--v2-purple);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    flex-shrink: 0;
}

.nav-v2-topbar-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--v2-text);
    white-space: nowrap;
}

/* ─── MOBILE OVERLAY ─── */
.nav-v2-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 90;
    backdrop-filter: blur(2px);
}

.nav-v2-overlay.active { display: block; }

/* ─── MOBILE CLOSE BUTTON ─── */
.nav-v2-mobile-close {
    display: none;
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(255,255,255,0.08);
    border: none;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    padding: 5px;
    z-index: 10;
    align-items: center;
    justify-content: center;
}

.nav-v2-mobile-close svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
}

/* ─── MOBILE ─── */
@media (max-width: 768px) {
    .nav-v2-hamburger { display: flex; }
    .nav-v2-search { display: none; }
    .nav-v2-topbar-name { display: none; }

    .nav-v2-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 0 !important;
        min-width: 0 !important;
        transform: translateX(-100%);
        transition: transform var(--nav-v2-transition), width var(--nav-v2-transition);
        z-index: 100;
        overflow: hidden;
    }

    .nav-v2-sidebar.nav-v2-mobile-open {
        width: 260px !important;
        min-width: 260px !important;
        transform: translateX(0);
    }

    .nav-v2-sidebar.nav-v2-mobile-open .nav-v2-label,
    .nav-v2-sidebar.nav-v2-mobile-open .nav-v2-chevron,
    .nav-v2-sidebar.nav-v2-mobile-open .nav-v2-brand-name,
    .nav-v2-sidebar.nav-v2-mobile-open .nav-v2-brand-sub,
    .nav-v2-sidebar.nav-v2-mobile-open .nav-v2-sublink {
        opacity: 1 !important;
    }

    .nav-v2-mobile-close {
        display: flex !important;
    }

    .nav-v2-main-col { margin-left: 0 !important; }

    .nav-v2-topbar {
        padding: 0 12px !important;
    }
}

@media (max-width: 480px) {
    .nav-v2-topbar {
        padding: 0 8px !important;
    }
}

/* #content fills remaining space; scrolling is on nav-v2-main-col */
.nav-v2-main-col > #content {
    flex: 1;
}

/* ── V2 Content Positioning ──
   One place controls all page spacing instead of scattered legacy margins. */
.v2 #content { padding: 30px 32px 24px; background: var(--v2-bg); }
.v2 .custom-breadcrumb { margin: 0 0 12px 0; }
.v2 .page-header { margin: 0 0 20px 0; }
.v2 .page-main-container { margin: 0; }
.v2 .footer { margin: 0; }

@media (max-width: 767px) {
    .v2 #content { padding: 20px 15px 16px; }
    .v2 .custom-breadcrumb { margin: 0 0 10px 0; }
    .v2 .page-header { margin: 0 0 16px 0; }
    .v2 .page-header .action-container { justify-content: flex-start; }
}


/* ══════════════════════════════════════════
   Buyer Assist Pages
   (Leads, Case Studies, Buyer Profile, Buyer Assist hub)
   ══════════════════════════════════════════ */

/* ── Shared data table ── */
.v2 .v2-table-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-lg);
    overflow: hidden;
}

.v2 .v2-table-card table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.v2 .v2-table-card thead th {
    background: var(--v2-bg);
    color: var(--v2-muted);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 13px 16px;
    text-align: left;
    border-bottom: 1px solid var(--v2-border);
    white-space: nowrap;
}

.v2 .v2-table-card thead th:first-child { padding-left: 20px; }

.v2 .v2-table-card tbody tr {
    border-bottom: 1px solid var(--v2-border);
    transition: background 0.1s;
}
.v2 .v2-table-card tbody tr:last-child { border-bottom: none; }
.v2 .v2-table-card tbody tr:hover { background: #f7f6fd; }

.v2 .v2-table-card tbody td {
    padding: 14px 16px;
    vertical-align: middle;
    color: var(--v2-text);
    font-size: 14px;
}
.v2 .v2-table-card tbody td:first-child { padding-left: 20px; }

/* Expanded row highlight */
.v2 .v2-table-card tbody tr.v2-row-expanded { background: var(--v2-purple-light); }
.v2 .v2-table-card tbody tr.v2-row-expanded:hover { background: #eae7f5; }

/* Detail panel (expandable row content) */
.v2 .v2-detail-panel {
    padding: 20px 24px;
    background: var(--v2-purple-light);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px 24px;
}

.v2 .v2-detail-field { display: flex; flex-direction: column; gap: 3px; }

.v2 .v2-detail-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--v2-purple-muted);
}

.v2 .v2-detail-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--v2-text);
}
.v2 .v2-detail-value a {
    color: var(--v2-purple);
    text-decoration: none;
    font-weight: 500;
}
.v2 .v2-detail-value a:hover { text-decoration: underline; }

/* ── Shared action buttons ── */
.v2 .v2-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid var(--v2-border);
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    font-family: var(--v2-font-body);
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    color: var(--v2-muted);
}
.v2 .v2-action-btn:hover {
    background: var(--v2-purple-light);
    color: var(--v2-purple);
    border-color: var(--v2-purple-muted);
    text-decoration: none;
}

.v2 .v2-action-btn--edit { color: var(--v2-purple); }
.v2 .v2-action-btn--edit:hover {
    background: var(--v2-purple-light);
    border-color: var(--v2-purple-muted);
}

.v2 .v2-action-btn--delete {
    color: #b94040;
    border-color: #f0d0cd;
}
.v2 .v2-action-btn--delete:hover {
    background: #fdf3f3;
    border-color: #e8b4b4;
    color: #b94040;
}

.v2 .v2-actions-row {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: nowrap;
}

/* ── Expand/collapse toggle ── */
.v2 .v2-expand-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--v2-muted);
    display: inline-flex;
    align-items: center;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
}
.v2 .v2-expand-btn:hover { color: var(--v2-purple); background: var(--v2-purple-light); }
.v2 .v2-expand-btn svg { transition: transform 0.2s ease; display: block; }
.v2 .v2-expand-btn.is-open svg { transform: rotate(180deg); }

/* ── State badge (inline pill) ── */
.v2 .v2-state-badge {
    display: inline-block;
    padding: 2px 8px;
    background: var(--v2-purple-light);
    color: var(--v2-purple);
    border-radius: 5px;
    font-size: 12px;
    font-weight: 700;
}

/* ── Admin badge (inside action buttons) ── */
.v2 .v2-admin-badge {
    font-size: 11px;
    font-weight: 600;
    color: var(--v2-purple-muted);
    background: var(--v2-purple-light);
    border: 1px solid var(--v2-border);
    border-radius: 6px;
    padding: 2px 8px;
    margin-left: 4px;
    vertical-align: middle;
    letter-spacing: 0.2px;
}

/* ── Case study title link ── */
.v2 .v2-title-link {
    color: var(--v2-purple);
    font-weight: 700;
    text-decoration: none;
    line-height: 1.4;
}
.v2 .v2-title-link:hover { text-decoration: underline; }

/* ── Mobile card list ── */
.v2 .v2-mobile-cards { display: none; }

.v2 .v2-mobile-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-lg);
    margin-bottom: 12px;
    overflow: hidden;
}

.v2 .v2-mobile-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--v2-border);
    gap: 12px;
}

.v2 .v2-mobile-card-name { font-weight: 700; font-size: 15px; }
.v2 .v2-mobile-card-email { font-size: 13px; color: var(--v2-muted); margin-top: 2px; }

.v2 .v2-mobile-field-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid var(--v2-border);
    font-size: 14px;
}
.v2 .v2-mobile-field-row:last-child { border-bottom: none; }

.v2 .v2-mobile-field-label { color: var(--v2-muted); font-size: 13px; font-weight: 500; }
.v2 .v2-mobile-field-value { font-weight: 500; text-align: right; }

.v2 .v2-mobile-card-actions {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--v2-border);
    background: var(--v2-bg);
}
.v2 .v2-mobile-card-actions .v2-action-btn { flex: 1; justify-content: center; }

/* ── Mobile detail panel ── */
.v2 .v2-mobile-detail {
    background: var(--v2-purple-light);
    padding: 14px 16px;
    border-top: 1px solid var(--v2-border);
    display: none;
}
.v2 .v2-mobile-detail.open { display: block; }

.v2 .v2-mobile-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
}

/* =============================================
   BSEC — Buyer Section hub page
   ============================================= */
.v2 .bsec-label {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--v2-muted);
    text-transform: uppercase;
    margin: 0 0 12px;
}

.v2 .bsec-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.v2 .bsec-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    padding: 16px 18px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.v2 .bsec-card:hover {
    border-color: rgba(97,67,228,0.3);
    box-shadow: 0 2px 10px rgba(97,67,228,0.06);
}

.v2 .bsec-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.v2 .bsec-card-eyebrow {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--v2-purple-muted);
    text-transform: uppercase;
}

.v2 .bsec-card-browse {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--v2-purple);
    text-decoration: none;
    transition: gap 0.15s;
}
.v2 .bsec-card-browse:hover { gap: 6px; text-decoration: none; color: var(--v2-purple); }

.v2 .bsec-card-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--v2-text);
    margin: 0 0 10px;
}

.v2 .bsec-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--v2-purple-light);
    color: var(--v2-purple);
    border: 1px solid rgba(97,67,228,0.15);
}
.v2 .bsec-tag--amber {
    background: rgba(234,147,30,0.06);
    color: #b86a0a;
    border: 1px solid rgba(234,147,30,0.2);
}

@media (max-width: 600px) {
    .v2 .bsec-grid { grid-template-columns: 1fr; }
}

/* =============================================
   BPRO — Buyer Profile (consoler-detail style)
   ============================================= */
.v2 .bpro-profile-strip {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    padding: 22px 24px;
    margin-bottom: 20px;
}

.v2 .bpro-avatar {
    width: 56px; height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2 .bpro-avatar span { color: #fff; font-size: 22px; font-weight: 700; }
.v2 .bpro-avatar img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }

.v2 .bpro-profile-info { flex: 1; }
.v2 .bpro-name { font-size: 18px; font-weight: 700; margin: 0; }

.v2 .bpro-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.v2 .bpro-meta-item {
    display: flex; align-items: center; gap: 4px;
    font-size: 12px; color: var(--v2-muted); font-weight: 500;
}
.v2 .bpro-meta-item svg { flex-shrink: 0; }
.v2 .bpro-meta-item a { color: var(--v2-purple-muted); text-decoration: none; }
.v2 .bpro-meta-item a:hover { text-decoration: underline; color: var(--v2-purple); }

.v2 .bpro-brand { text-align: right; flex-shrink: 0; }
.v2 .bpro-brand-label { font-size: 11px; color: var(--v2-muted); font-weight: 500; }
.v2 .bpro-brand-swatch {
    display: flex; align-items: center; gap: 6px;
    margin-top: 4px; justify-content: flex-end;
}
.v2 .bpro-swatch {
    width: 20px; height: 20px; border-radius: 6px;
    border: 1px solid var(--v2-border); display: inline-block;
}
.v2 .bpro-hex { font-size: 13px; font-weight: 600; color: var(--v2-text); }

.v2 .bpro-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.v2 .bpro-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    padding: 22px 24px;
}
.v2 .bpro-card--full { grid-column: 1 / -1; }

.v2 .bpro-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.v2 .bpro-card-header h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    color: var(--v2-text);
}

.v2 .bpro-card-icon {
    width: 34px; height: 34px;
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--v2-purple-muted);
    flex-shrink: 0;
}
.v2 .bpro-card-icon svg { width: 18px; height: 18px; }

.v2 .bpro-list { list-style: none; margin: 0; padding: 0; }
.v2 .bpro-list li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid var(--v2-border);
}
.v2 .bpro-list li:last-child { border-bottom: none; }

.v2 .bpro-label {
    font-size: 12px; font-weight: 500;
    color: var(--v2-muted); flex-shrink: 0;
}
.v2 .bpro-value {
    font-size: 13px; font-weight: 600;
    color: var(--v2-text); text-align: right;
}
.v2 .bpro-value--muted { font-weight: 400; color: var(--v2-muted); }
.v2 .bpro-value a { color: var(--v2-purple-muted); text-decoration: none; }
.v2 .bpro-value a:hover { color: var(--v2-purple); text-decoration: underline; }

.v2 .bpro-colour-inline { display: flex; align-items: center; gap: 6px; }

.v2 .bpro-seo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
}

.v2 .bpro-keyword-list { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.v2 .bpro-keyword-pill {
    background: var(--v2-purple-light);
    color: #4a3a8a;
    font-size: 11px; font-weight: 600;
    padding: 3px 10px; border-radius: 999px;
}

.v2 .bpro-badge {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 700;
    padding: 3px 10px; border-radius: 999px;
}
.v2 .bpro-badge--yes { background: rgba(52,211,153,0.12); color: #059669; }
.v2 .bpro-badge--no { background: #f2f2f5; color: var(--v2-muted); }
.v2 .bpro-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.v2 .bpro-site-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.v2 .bpro-site-title { font-size: 15px; font-weight: 700; margin: 0 0 4px; }
.v2 .bpro-site-desc { font-size: 12px; color: var(--v2-muted); margin: 0; }

@media (max-width: 768px) {
    .v2 .bpro-row { grid-template-columns: 1fr; }
    .v2 .bpro-seo-grid { grid-template-columns: 1fr; }
    .v2 .bpro-profile-strip { flex-wrap: wrap; }
    .v2 .bpro-brand {
        width: 100%; text-align: left;
        margin-top: 8px; padding-top: 10px;
        border-top: 1px solid var(--v2-border);
    }
    .v2 .bpro-brand-swatch { justify-content: flex-start; }
    .v2 .bpro-site-card { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 480px) {
    .v2 .bpro-profile-strip { padding: 18px 16px; }
    .v2 .bpro-card { padding: 18px 16px; }
    .v2 .bpro-keyword-list { justify-content: flex-start; }
}

/* =============================================
   BLEAD — Buyer Leads table page
   ============================================= */
.v2 .blead-table-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    overflow: hidden;
}

.v2 .blead-table-wrap { overflow-x: auto; }

.v2 .blead-table-wrap table { border-collapse: collapse; }

.v2 .blead-table-wrap thead th {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--v2-muted);
    padding: 12px 16px;
    border-bottom: 1px solid var(--v2-border);
    background: var(--v2-bg);
    white-space: nowrap;
}

.v2 .blead-table-wrap tbody td {
    font-size: 13px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--v2-border);
    vertical-align: middle;
}

.v2 .blead-counter { color: var(--v2-muted); font-weight: 500; width: 48px; }
.v2 .blead-email { font-weight: 500; }
.v2 .blead-muted { color: var(--v2-muted); }
.v2 .blead-actions-cell { white-space: nowrap; width: 1%; }
.v2 .blead-expand-cell { padding-right: 16px; }
.v2 .blead-empty { font-size: 14px; }

.v2 .blead-state-badge {
    display: inline-block;
    font-size: 11px; font-weight: 600;
    padding: 2px 8px; border-radius: 999px;
    background: var(--v2-purple-light);
    color: var(--v2-purple);
}

.v2 .blead-actions { display: flex; gap: 6px; align-items: center; }

.v2 .blead-action-btn {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 12px; font-weight: 500;
    padding: 5px 10px; border-radius: 6px;
    border: 1px solid var(--v2-border);
    background: #fff; color: var(--v2-text);
    text-decoration: none; cursor: pointer;
    transition: border-color 0.15s;
}
.v2 .blead-action-btn i { font-size: 11px; }
.v2 .blead-action-btn:hover { border-color: var(--v2-purple); color: var(--v2-purple); text-decoration: none; }
.v2 .blead-action-btn--edit { color: var(--v2-purple); }
.v2 .blead-action-btn--delete { color: #dc2626; border-color: rgba(220,38,38,0.2); }
.v2 .blead-action-btn--delete:hover { border-color: #dc2626; color: #dc2626; }

.v2 .blead-expand-btn {
    width: 28px; height: 28px;
    border: 1px solid var(--v2-border);
    border-radius: 6px;
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: var(--v2-muted);
    transition: transform 0.2s;
}
.v2 .blead-expand-btn.is-open { transform: rotate(180deg); }

.v2 .blead-summary-row.blead-row-expanded { background: var(--v2-purple-light); }

.v2 .blead-detail-cell { padding: 0; border-bottom: 1px solid var(--v2-border); }

.v2 .blead-detail-panel {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 16px;
    padding: 16px 20px;
    background: #fafafe;
}

.v2 .blead-detail-field { display: flex; flex-direction: column; gap: 2px; }
.v2 .blead-detail-label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--v2-muted); }
.v2 .blead-detail-value { font-size: 13px; font-weight: 500; color: var(--v2-text); }
.v2 .blead-detail-value a { color: var(--v2-purple); }

/* Mobile */
.v2 .blead-mobile-cards { display: none; }

.v2 .blead-mobile-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
}

.v2 .blead-mobile-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 16px 8px;
}
.v2 .blead-mobile-name { font-size: 14px; font-weight: 700; }
.v2 .blead-mobile-email { font-size: 12px; color: var(--v2-muted); margin-top: 2px; }

.v2 .blead-mobile-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 8px 16px; border-top: 1px solid var(--v2-border);
}
.v2 .blead-mobile-label { font-size: 12px; color: var(--v2-muted); }
.v2 .blead-mobile-value { font-size: 13px; font-weight: 500; }

.v2 .blead-mobile-detail { display: none; }
.v2 .blead-mobile-detail.open { display: block; }
.v2 .blead-mobile-detail-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 10px; padding: 12px 16px;
    background: #fafafe; border-top: 1px solid var(--v2-border);
}

.v2 .blead-mobile-actions {
    display: flex; gap: 6px;
    padding: 10px 16px; border-top: 1px solid var(--v2-border);
}

.v2 .blead-empty-mobile { text-align: center; font-size: 14px; }

@media (max-width: 768px) {
    .v2 .blead-table-card { display: none; }
    .v2 .blead-mobile-cards { display: block; }
}

@media (max-width: 480px) {
    .v2 .blead-mobile-detail-grid { grid-template-columns: 1fr; }
    .v2 .blead-mobile-actions { flex-wrap: wrap; }
}

/* =============================================
   BCS — Case Study table page
   ============================================= */
.v2 .bcs-table-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    overflow: hidden;
}

.v2 .bcs-table-wrap { overflow-x: auto; }
.v2 .bcs-table-wrap table { border-collapse: collapse; }

.v2 .bcs-table-wrap thead th {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--v2-muted);
    padding: 12px 16px;
    border-bottom: 1px solid var(--v2-border);
    background: var(--v2-bg);
    white-space: nowrap;
}

.v2 .bcs-table-wrap tbody td {
    font-size: 13px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--v2-border);
    vertical-align: middle;
}

.v2 .bcs-title-link {
    color: var(--v2-purple);
    font-weight: 600;
    text-decoration: none;
}
.v2 .bcs-title-link:hover { text-decoration: underline; }

.v2 .bcs-buyer-name { font-weight: 600; font-size: 13px; }
.v2 .bcs-buyer-email { font-size: 12px; color: var(--v2-muted); margin-top: 2px; }
.v2 .bcs-date { color: var(--v2-muted); font-size: 13px; white-space: nowrap; }
.v2 .bcs-empty { font-size: 14px; }

.v2 .bcs-actions { display: flex; gap: 6px; justify-content: flex-end; }

.v2 .bcs-action-btn {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 12px; font-weight: 500;
    padding: 5px 10px; border-radius: 6px;
    border: 1px solid var(--v2-border);
    background: #fff; color: var(--v2-text);
    text-decoration: none; cursor: pointer;
    transition: border-color 0.15s;
}
.v2 .bcs-action-btn i { font-size: 11px; }
.v2 .bcs-action-btn:hover { border-color: var(--v2-purple); color: var(--v2-purple); text-decoration: none; }
.v2 .bcs-action-btn--edit { color: var(--v2-purple); }
.v2 .bcs-action-btn--delete { color: #dc2626; border-color: rgba(220,38,38,0.2); }
.v2 .bcs-action-btn--delete:hover { border-color: #dc2626; color: #dc2626; }

/* Mobile */
.v2 .bcs-mobile-cards { display: none; }

.v2 .bcs-mobile-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
}

.v2 .bcs-mobile-body { padding: 16px; }
.v2 .bcs-mobile-title { font-size: 14px; font-weight: 800; margin-bottom: 10px; line-height: 1.4; }

.v2 .bcs-mobile-row {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 6px;
}
.v2 .bcs-mobile-label { font-size: 12px; color: var(--v2-muted); }
.v2 .bcs-mobile-value { font-size: 13px; font-weight: 500; }
.v2 .bcs-muted { color: var(--v2-muted); }

.v2 .bcs-mobile-actions {
    display: flex; gap: 6px;
    padding: 10px 16px; border-top: 1px solid var(--v2-border);
}

.v2 .bcs-empty-mobile { text-align: center; font-size: 14px; }

@media (max-width: 768px) {
    .v2 .bcs-table-card { display: none; }
    .v2 .bcs-mobile-cards { display: block; }
}

@media (max-width: 480px) {
    .v2 .bcs-mobile-actions { flex-wrap: wrap; }
}

/* ── Cost Before Retail (CBR) page — fresh rebuild ── */

/* Neutralize legacy selectors */
.v2 .cbr-page .main-container {
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
}
.v2 .cbr-page .main-container .calculated-costs {
    background: transparent;
    display: block;
    padding: 0;
}
.v2 .cbr-page .main-container .total-cost {
    background: transparent;
    padding: 0;
    border-radius: 0;
}
.v2 .cbr-page .main-container .manual-input-cost form .cost-grid {
    display: block;
}

/* Category chip */
.cbr-v2-chip {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    background: var(--v2-purple-light);
    color: #4a3a8a;
    border-radius: 999px;
    padding: 4px 12px;
    margin-bottom: 20px;
}

/* Section wrapper */
.cbr-v2-section { margin-bottom: 32px; }

/* Auto-cost cards */
.cbr-v2-auto-card {
    background: var(--v2-purple-light);
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    padding: 20px 24px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 12px;
}
.cbr-v2-auto-card:last-child { margin-bottom: 0; }

.cbr-v2-auto-icon {
    width: 44px; height: 44px; min-width: 44px;
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: var(--v2-purple-muted);
}
.cbr-v2-auto-icon svg { width: 20px; height: 20px; fill: currentColor; }

.cbr-v2-auto-content { flex: 1; }
.cbr-v2-auto-label { font-size: 15px; font-weight: 600; color: var(--v2-text); margin-bottom: 4px; }
.cbr-v2-auto-desc { font-size: 13px; color: var(--v2-muted); line-height: 1.5; }

.cbr-v2-auto-badge {
    display: inline-block;
    font-size: 11px; font-weight: 600;
    color: var(--v2-purple-muted);
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 999px;
    padding: 3px 10px;
    margin-top: 8px;
}

/* Header row (title + edit button) */
.cbr-v2-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

/* Cost rows (show view) */
.cbr-v2-cost-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--v2-purple-light);
}
.cbr-v2-cost-row:last-child { border-bottom: none; }
.cbr-v2-cost-label { font-size: 13px; color: var(--v2-text); }
.cbr-v2-cost-value { font-size: 14px; font-weight: 600; color: var(--v2-text); }

/* Total card */
.cbr-v2-total {
    background: #fff;
    border: 2px solid var(--v2-purple);
    border-radius: 14px;
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 8px;
}
.cbr-v2-total-label { font-size: 16px; font-weight: 600; color: var(--v2-text); }
.cbr-v2-total-value {
    font-size: 32px; font-weight: 800;
    font-family: var(--v2-font-heading);
    color: var(--v2-purple);
}

/* Admin defaults notice banner */
.cbr-v2-admin-notice {
    display: flex; align-items: center; gap: 14px;
    background: var(--v2-purple-light, #f0eef8); border: 1px solid var(--v2-purple-muted, #8b7bc7);
    border-radius: var(--v2-radius, 10px); padding: 16px 20px; margin-bottom: 20px;
}
.cbr-v2-admin-notice-icon { font-size: 20px; color: var(--v2-purple, #6143e4); flex-shrink: 0; }
.cbr-v2-admin-notice-text { flex: 1; font-size: 13px; line-height: 1.5; color: var(--v2-text, #1e1e28); }
.cbr-v2-admin-notice-text strong { display: block; font-weight: 700; margin-bottom: 2px; }
.cbr-v2-admin-notice-text span { color: var(--v2-muted, #6a6a7a); }
.cbr-v2-admin-notice-btn { flex-shrink: 0; padding: 8px 16px !important; font-size: 13px !important; }

/* Form grid (edit overlay + edit page) */
.cbr-v2-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
.cbr-v2-form-group { margin-bottom: 0; }
.cbr-v2-form-label {
    display: block;
    font-size: 12px; font-weight: 600; color: var(--v2-text); margin-bottom: 6px;
}
.cbr-v2-input-wrap {
    display: flex; align-items: center;
    background: var(--v2-bg); border: 1px solid var(--v2-border);
    border-radius: 8px; padding: 0 12px; overflow: hidden;
}
.cbr-v2-dollar {
    font-size: 14px; color: var(--v2-muted); margin-right: 4px;
}
.cbr-v2-input-wrap input,
.cbr-v2-input-wrap select {
    border: none; background: transparent; padding: 10px 0;
    font-size: 14px; width: 100%; outline: none;
    font-family: var(--v2-font-body); color: var(--v2-text);
}

/* Section heading override for CBR */
.cbr-v2-section .v2-section-heading { font-size: 20px; font-weight: 800; }

/* Responsive: 768px */
@media (max-width: 768px) {
    .cbr-v2-auto-card { padding: 16px 18px; }
    .cbr-v2-section .v2-section-heading { font-size: 18px; }
    .cbr-v2-total-value { font-size: 28px; }
}

/* Responsive: 480px */
@media (max-width: 480px) {
    .cbr-v2-auto-card { padding: 16px; flex-direction: column; gap: 10px; }
    .cbr-v2-total { padding: 16px 18px; flex-direction: column; align-items: flex-start; gap: 4px; }
    .cbr-v2-total-value { font-size: 24px; }
    .cbr-v2-section .v2-section-heading { font-size: 16px; }
    .cbr-v2-header-row { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ── Invoices Page (consoler view) ─────────────────────────────────── */

/* Neutralize legacy styles.css selectors */
.main-invoice-container .invoices-container { background-color: transparent; border: none; border-radius: 0; }
.main-invoice-container .invoices-container .table-container { overflow-x: visible; }
.main-invoice-container .invoices-container .table-container thead tr th { background-color: transparent; font-size: inherit; font-weight: inherit; padding: 0; vertical-align: baseline; text-align: left; color: inherit; border-radius: 0; }
.main-invoice-container .invoices-container .table-container tr { font-size: inherit; border-bottom: none; }
.main-invoice-container .invoices-container .table-container tbody tr { border-bottom: none; }
.main-invoice-container .invoices-container .table-container tbody tr:hover { background-color: transparent; }
.main-invoice-container .invoices-container .table-container tr:first-child { border-top: none; }
.main-invoice-container .invoices-container .table-container tbody td { font-size: inherit; color: inherit; padding: 0; text-align: left; }
.main-invoice-container .invoices-container .table-container form { display: inline; justify-content: initial; align-items: initial; }
.main-invoice-container .invoices-container .table-container form select { width: auto; padding: 0; border-radius: 0; border: none; font-size: inherit; color: inherit; }
.main-invoice-container .invoices-container .mobile-grid { display: none; }
.main-invoice-container .invoices-container .mobile-grid .invoice-card { display: none; }

/* Table card wrapper */
.inv-v2-table-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    overflow: hidden;
}

/* Table */
.inv-v2-table { width: 100%; border-collapse: collapse; }

.inv-v2-table thead th {
    background: #f8f8fc;
    font-size: 12px;
    font-weight: 700;
    color: var(--v2-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 14px 20px;
    text-align: left;
    border-bottom: 1px solid var(--v2-border);
}
.inv-v2-table thead th:last-child { text-align: right; }

.inv-v2-table tbody tr {
    border-bottom: 1px solid #f0f0f4;
    transition: background 0.12s;
}
.inv-v2-table tbody tr:last-child { border-bottom: none; }
.inv-v2-table tbody tr:hover { background: rgba(97, 67, 228, 0.03); }

.inv-v2-table tbody td {
    padding: 16px 20px;
    font-size: 14px;
    vertical-align: middle;
    color: var(--v2-text);
}
.inv-v2-table tbody td:last-child { text-align: right; }

.inv-v2-number { font-weight: 600; color: var(--v2-text); }
.inv-v2-amount { font-weight: 600; font-variant-numeric: tabular-nums; }

/* Status badges */
.inv-v2-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.inv-v2-badge--paid { background: rgba(52, 211, 153, 0.12); color: #059669; }
.inv-v2-badge--pending { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.inv-v2-badge--reminder-sent,
.inv-v2-badge--reminder_sent { background: var(--v2-purple-light); color: #4a3a8a; }
.inv-v2-badge--no-status { background: #f0f0f4; color: var(--v2-muted); }

/* Action buttons (ghost) */
.inv-v2-actions { display: flex; gap: 8px; justify-content: flex-end; }

.inv-v2-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    background: transparent;
    color: var(--v2-muted);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    text-decoration: none;
}
.inv-v2-btn-ghost:hover {
    border-color: var(--v2-purple-muted);
    color: var(--v2-purple);
    text-decoration: none;
}
.inv-v2-btn-ghost svg { width: 14px; height: 14px; flex-shrink: 0; }

/* Pagination */
.inv-v2-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 24px 20px;
    border-top: 1px solid var(--v2-border);
}

/* Empty state */
.inv-v2-empty {
    text-align: center;
    font-size: 14px;
    color: var(--v2-muted);
    padding: 40px 20px;
}

/* Mobile cards */
.inv-v2-mobile-cards { display: none; }

.inv-v2-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 12px;
}
.inv-v2-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}
.inv-v2-card-number { font-weight: 600; font-size: 15px; color: var(--v2-text); }
.inv-v2-card-date { font-size: 13px; color: var(--v2-muted); margin-top: 2px; }
.inv-v2-card-body { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.inv-v2-card-row { display: flex; justify-content: space-between; font-size: 14px; }
.inv-v2-card-label { color: var(--v2-muted); }
.inv-v2-card-value { font-weight: 500; }
.inv-v2-card-actions {
    display: flex;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid #f0f0f4;
}
.inv-v2-card-actions .inv-v2-btn-ghost { flex: 1; justify-content: center; }

/* Responsive: 768px */
@media (max-width: 768px) {
    .inv-v2-table-card { display: none; }
    .inv-v2-mobile-cards { display: block; }

    /* Neutralize legacy mobile overrides */
    .main-invoice-container .invoices-container .table-container { display: none; }
    .main-invoice-container .invoices-container .mobile-grid { display: none !important; }
}

/* Responsive: 480px */
@media (max-width: 480px) {
    .inv-v2-card { padding: 16px; }
    .inv-v2-pagination { gap: 2px; }
}

/* ===================================================================
   CONSOLER SETTINGS PAGE (cset-*)
   =================================================================== */

.cset-container {
    padding: 0 0 40px;
}

.cset-container .v2-eyebrow {
    margin-bottom: 16px;
}

.cset-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cset-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

.cset-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(97, 67, 228, 0.08);
    text-decoration: none;
    color: inherit;
}

.cset-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 10px;
    background: var(--v2-purple-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cset-icon svg {
    width: 20px;
    height: 20px;
    color: var(--v2-purple-muted);
}

.cset-body {
    flex: 1;
    min-width: 0;
}

.cset-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--v2-text);
    margin-bottom: 2px;
}

.cset-desc {
    font-size: 13px;
    color: var(--v2-muted);
    font-weight: 400;
}

.cset-action {
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-purple);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
}

.cset-action svg {
    width: 14px;
    height: 14px;
}

/* Responsive: 768px */
@media (max-width: 768px) {
    .cset-container { padding: 0 0 30px; }
}

/* Responsive: 480px */
@media (max-width: 480px) {
    .cset-card { padding: 18px 16px; gap: 12px; }
    .cset-desc { display: none; }
}


/* ─────────────────────────────────────────────────────────────
   REMINDER PREFERENCE PAGE (rpref-*)
   ───────────────────────────────────────────────────────────── */

.rpref-container { padding: 0 0 30px; }

.rpref-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    overflow: hidden;
}

.rpref-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    gap: 16px;
}
.rpref-row + .rpref-row {
    border-top: 1px solid #f0eef8;
}

.rpref-left {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1;
    min-width: 0;
}

.rpref-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 10px;
    background: var(--v2-purple-light);
    display: flex;
    align-items: center;
    justify-content: center;
}
.rpref-icon svg {
    width: 20px;
    height: 20px;
    color: var(--v2-purple-muted);
}

.rpref-info { min-width: 0; }
.rpref-info h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--v2-text);
    margin: 0 0 2px;
}
.rpref-info p {
    font-size: 13px;
    color: var(--v2-muted);
    line-height: 1.4;
    margin: 0;
}

.rpref-right {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.rpref-toggle-group {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rpref-toggle-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rpref-toggle-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--v2-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Button-based toggle (iOS style) */
.rpref-toggle {
    position: relative;
    width: 44px;
    height: 26px;
    background: #d1d1d8;
    border: none;
    border-radius: 13px;
    cursor: pointer;
    transition: background 0.25s ease;
    outline: none;
    padding: 0;
}
.rpref-toggle::after {
    content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    left: 2px;
    top: 2px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.25s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.rpref-toggle.active {
    background: var(--v2-purple);
}
.rpref-toggle.active::after {
    transform: translateX(18px);
}

/* Send button */
.rpref-send-btn {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--v2-purple);
    background: var(--v2-purple-light);
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    padding: 6px 14px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}
.rpref-send-btn:hover {
    background: var(--v2-purple);
    color: #fff;
}

/* Loading overlay */
.rpref-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}
.rpref-overlay-content {
    text-align: center;
    color: #fff;
}
.rpref-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(255,255,255,0.2);
    border-top-color: #fff;
    border-radius: 50%;
    animation: rpref-spin 0.8s linear infinite;
    margin: 0 auto 12px;
}
@keyframes rpref-spin {
    to { transform: rotate(360deg); }
}

/* Neutralise legacy styles.css selectors for reminder list */
.v2 .reminder-container .reminder-card,
.v2 .reminder-container .reminder-item,
.v2 .reminder-container .reminder-icon,
.v2 .reminder-container .custom-reminder-section,
.v2 .reminder-container .custom-reminder-header,
.v2 .reminder-container .custom-reminder-left,
.v2 .reminder-container .custom-reminder-info,
.v2 .reminder-container .custom-reminder-actions,
.v2 .reminder-container .custom-reminder-list,
.v2 .reminder-container .custom-reminder-item,
.v2 .reminder-container .custom-reminder-details,
.v2 .reminder-container .custom-reminder-specs,
.v2 .reminder-container .custom-reminder-subtitle,
.v2 .reminder-container .shortlist-reminder-section,
.v2 .reminder-container .shortlist-reminder-header,
.v2 .reminder-container .shortlist-reminder-left,
.v2 .reminder-container .shortlist-reminder-info,
.v2 .reminder-container .shortlist-reminder-subtitle,
.v2 .reminder-container .shortlist-reminder-actions,
.v2 .reminder-container .toggle-switch,
.v2 .reminder-container .toggle-group,
.v2 .reminder-container .toggle-label,
.v2 .reminder-container .toggle-item,
.v2 .reminder-container .send-btn,
.v2 .reminder-container .total-btn,
.v2 .reminder-container .add-btn,
.v2 .reminder-container .list-btn,
.v2 .reminder-container .action-btn,
.v2 .reminder-container .empty-state {
    all: revert;
}

/* ─────────────────────────────────────────────────────────────
   AUCTIONEERS PAGE (auc-*)
   ───────────────────────────────────────────────────────────── */

/* Neutralise legacy */
.v2 .auctioneer-main-container form .search-filter,
.v2 .auctioneer-main-container form .search-filter input,
.v2 .auctioneer-main-container form .search-filter button,
.v2 .auctioneer-main-container .cards-container,
.v2 .auctioneer-main-container .cards-container .card,
.v2 .auctioneer-main-container .cards-container .card .card-header,
.v2 .auctioneer-main-container .cards-container .card .card-title,
.v2 .auctioneer-main-container .cards-container .card .card-body,
.v2 .auctioneer-main-container .cards-container .card .location-text,
.v2 .auctioneer-main-container .cards-container .card .star-rating,
.v2 .auctioneer-main-container .cards-container .card .rating-text {
    all: revert;
}

/* Search bar */
.auc-search-wrapper {
    position: relative; margin-bottom: 32px;
}
.auc-search-wrapper .auc-search-icon {
    position: absolute; left: 18px; top: 50%;
    transform: translateY(-50%);
    color: var(--v2-muted); font-size: 15px;
    pointer-events: none;
}
.auc-search-input {
    width: 100%; padding: 14px 48px 14px 48px;
    font-family: 'Inter', sans-serif; font-size: 15px;
    color: var(--v2-text); background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 12px; outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.auc-search-input::placeholder { color: #a0a0b0; }
.auc-search-input:focus {
    border-color: var(--v2-purple);
    box-shadow: 0 0 0 3px rgba(97,67,228,0.08);
}
.auc-search-clear {
    position: absolute; right: 16px; top: 50%;
    transform: translateY(-50%);
    background: none; border: none;
    color: var(--v2-muted); font-size: 14px;
    cursor: pointer; padding: 4px;
    display: none; border-radius: 4px;
    transition: color 0.15s;
}
.auc-search-clear:hover { color: var(--v2-text); }
.auc-search-clear.visible { display: block; }

/* Card grid */
.auc-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; margin-bottom: 32px;
}

.auc-card {
    background: #fff; border-radius: 14px;
    padding: 28px 24px 24px;
    border: 1px solid var(--v2-border);
    cursor: pointer; text-decoration: none;
    color: inherit; display: block;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.auc-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.auc-card-icon {
    width: 44px; height: 44px;
    border: 1px solid var(--v2-border); background: #fff; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 18px;
}
.auc-card-icon i { color: var(--v2-purple-muted); font-size: 18px; }

.auc-card-name {
    font-family: 'Inter', sans-serif;
    font-weight: 700; font-size: 17px;
    color: var(--v2-text);
    margin-bottom: 6px; line-height: 1.3;
}

.auc-card-location {
    font-family: 'Inter', sans-serif;
    font-size: 13px; color: var(--v2-muted);
    margin-bottom: 14px;
    display: flex; align-items: center; gap: 5px;
}
.auc-card-location i { font-size: 12px; color: var(--v2-purple-muted); }

.auc-card-rating { display: flex; align-items: center; gap: 6px; }
.auc-card-stars { display: flex; gap: 2px; }
.auc-card-stars i { font-size: 12px; color: #f0c040; }
.auc-card-stars i.empty { color: #e0dde8; }
.auc-rating-number {
    font-family: 'Inter', sans-serif;
    font-size: 13px; font-weight: 600; color: var(--v2-text);
}
.auc-rating-count { font-size: 13px; color: var(--v2-muted); }

/* Footer */
.auc-footer {
    display: flex; align-items: center;
    justify-content: space-between; padding-bottom: 24px;
}
.auc-result-count {
    font-family: 'Inter', sans-serif;
    font-size: 14px; color: var(--v2-muted);
}

/* Empty state */
.auc-empty {
    text-align: center; padding: 48px 24px;
}
.auc-empty-icon {
    font-size: 28px; color: var(--v2-muted);
    margin-bottom: 12px;
}
.auc-empty-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px; color: var(--v2-muted);
}

/* Responsive */
@media (max-width: 768px) {
    .auc-card-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
    .auc-card-grid { grid-template-columns: 1fr; gap: 14px; }
    .auc-search-input { padding: 12px 44px; font-size: 14px; }
    .auc-footer { flex-direction: column; gap: 12px; }
}


/* ─────────────────────────────────────────────────────────────
   AUCTIONEER DETAILS PAGE (aucdet-*)
   ───────────────────────────────────────────────────────────── */

/* Legacy neutralisation */
.v2 .auctioneer-main-container .main-container { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .basic-info { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .basic-info .header-title { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .basic-info .rating-display { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .info-text { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .info-item { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .info-item .label { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .info-item .value { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .info-item i { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .info-item span { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-info-card .info-item .info-val { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .heading { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container .event-card-scroll-container { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container .event-card-scroll-container .event-card { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container .event-card-scroll-container .event-card .event-content .event-car { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container .event-card-scroll-container .event-card .event-content .info .label { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container .event-card-scroll-container .event-card .event-content .info .value { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container .no-events { all: revert; }
.v2 .auctioneer-main-container .main-container .partner-events .event-container .no-events div { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .form-overlay { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .form-overlay .unlock-btn { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .rate-text { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .form-item { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .form-item .form-label { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .form-item .rating-stars i { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .form-item select,
.v2 .auctioneer-main-container .main-container .review-form .form-item textarea { all: revert; }
.v2 .auctioneer-main-container .main-container .review-form .submit-btn { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-title-text { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item .reviews-card { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item .reviews-card .review-header { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item .reviews-card .review-header .action-btn { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item .reviews-card .review-header .reviewer-name { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item .reviews-card .review-header .review-date { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item .reviews-card .review-rating { all: revert; }
.v2 .auctioneer-main-container .main-container .reviews-section .review-item .reviews-card .review-text { all: revert; }

/* Back link */
.aucdet-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--v2-purple);
    margin-bottom: 24px;
    text-decoration: none;
    transition: color 0.15s;
}
.aucdet-back:hover { color: var(--v2-purple-hover); text-decoration: none; }
.aucdet-back i { font-size: 12px; }

/* Card base */
.aucdet-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 24px;
}

/* Partner header */
.aucdet-partner-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 24px;
}
.aucdet-avatar {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    border: 1px solid var(--v2-border);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.aucdet-avatar i { font-size: 28px; color: var(--v2-purple-muted); }
.aucdet-partner-meta { flex: 1; min-width: 0; }
.aucdet-partner-name {
    font-family: Inter, sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--v2-heading);
    margin-bottom: 6px;
}
.aucdet-partner-rating {
    display: flex;
    align-items: center;
    gap: 8px;
}
.aucdet-stars { display: flex; gap: 2px; }
.aucdet-stars i { font-size: 14px; color: #f5a623; }
.aucdet-stars i.empty { color: #e0dde8; }
.aucdet-rating-text { font-size: 14px; color: var(--v2-muted); }
.aucdet-rating-text strong { color: var(--v2-heading); font-weight: 600; }

/* Info list */
.aucdet-info-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--v2-border);
}
.aucdet-info-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    color: var(--v2-heading);
    line-height: 1.5;
}
.aucdet-info-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid var(--v2-border);
    background: #fff;
    color: var(--v2-purple-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
}
.aucdet-info-row a { color: var(--v2-purple); word-break: break-all; }
.aucdet-info-row a:hover { color: var(--v2-purple-hover); }
.aucdet-info-value { display: flex; align-items: center; min-height: 44px; }

/* About section */
.aucdet-about {
    padding-top: 20px;
    border-top: 1px solid var(--v2-border);
}
.aucdet-about h3 {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--v2-heading);
    margin-bottom: 10px;
}
.aucdet-about p {
    font-size: 14px;
    color: var(--v2-muted);
    line-height: 1.7;
}

/* Auction events */
.aucdet-events {
    margin-bottom: 24px;
}
.aucdet-section-title {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--v2-heading);
    margin-bottom: 4px;
}
.aucdet-section-subtitle {
    font-size: 14px;
    color: var(--v2-muted);
    margin-bottom: 20px;
}
.aucdet-event-scroll {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
}
.aucdet-event-card {
    min-width: 220px;
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    padding: 18px;
    flex-shrink: 0;
}
.aucdet-event-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--v2-purple);
    margin-bottom: 10px;
}
.aucdet-event-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    padding: 4px 0;
}
.aucdet-event-row .aucdet-ev-label { color: var(--v2-muted); }
.aucdet-event-row .aucdet-ev-value { color: var(--v2-heading); font-weight: 500; }
.aucdet-no-events {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px 0;
    color: var(--v2-muted);
    font-size: 14px;
    gap: 10px;
}
.aucdet-no-events i { font-size: 28px; color: var(--v2-border); }

/* Reviews section */
.aucdet-review-item {
    padding: 20px 0;
    border-bottom: 1px solid var(--v2-border);
}
.aucdet-review-item:first-child { padding-top: 0; }
.aucdet-review-item:last-child { border-bottom: none; padding-bottom: 0; }
.aucdet-review-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.aucdet-review-author { font-size: 15px; font-weight: 600; color: var(--v2-heading); }
.aucdet-review-date { font-size: 13px; color: var(--v2-muted); }
.aucdet-review-stars { display: flex; gap: 2px; margin-bottom: 8px; }
.aucdet-review-stars i { font-size: 13px; color: #f5a623; }
.aucdet-review-text { font-size: 14px; color: var(--v2-heading); line-height: 1.6; }
.aucdet-review-actions {
    display: flex;
    gap: 8px;
}
.aucdet-action-btn {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--v2-border);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--v2-muted);
    transition: all 0.15s;
}
.aucdet-action-btn:hover { border-color: var(--v2-purple); color: var(--v2-purple); }
.aucdet-action-btn i { font-size: 13px; }

/* Write a review */
.aucdet-review-form-card .aucdet-form-overlay {
    position: relative;
}
.aucdet-form-overlay-banner {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #f0eef8;
    border-radius: 10px;
    font-size: 13px;
    color: #4a3a8a;
    margin-bottom: 20px;
}
.aucdet-form-overlay-banner i { flex-shrink: 0; }
.aucdet-form-overlay-banner button {
    background: var(--v2-purple);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    margin-left: auto;
    white-space: nowrap;
}
.aucdet-form-overlay-banner button:hover { background: var(--v2-purple-hover); }

.aucdet-star-selector {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
}
.aucdet-star-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid var(--v2-border);
    background: var(--v2-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s;
}
.aucdet-star-btn i { font-size: 16px; color: #d0cde0; }
.aucdet-star-btn.active i { color: #f5a623; }
.aucdet-star-btn:hover { border-color: #f5a623; }

.aucdet-field { margin-bottom: 16px; }
.aucdet-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-heading);
    margin-bottom: 6px;
}
.aucdet-field select,
.aucdet-field textarea {
    width: 100%;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    padding: 12px 16px;
    font-family: Inter, sans-serif;
    font-size: 14px;
    color: var(--v2-heading);
    background: var(--v2-bg);
    outline: none;
    transition: border-color 0.15s;
}
.aucdet-field select:focus,
.aucdet-field textarea:focus { border-color: var(--v2-purple); }
.aucdet-field textarea { resize: vertical; min-height: 100px; }
.aucdet-field textarea::placeholder { color: #b0afc0; }

.aucdet-disabled-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 12px 16px;
    background: #f0eef8;
    border-radius: 10px;
    font-size: 13px;
    color: #4a3a8a;
}
.aucdet-disabled-notice i { flex-shrink: 0; }

.aucdet-submit-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--v2-purple);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    margin-top: 14px;
}
.aucdet-submit-btn:hover { background: var(--v2-purple-hover); }

/* Empty reviews */
.aucdet-no-reviews {
    text-align: center;
    padding: 40px 0;
    color: var(--v2-muted);
}
.aucdet-no-reviews i { font-size: 28px; color: var(--v2-border); margin-bottom: 10px; display: block; }
.aucdet-no-reviews p { font-size: 14px; margin: 0; }

/* Responsive */
@media (max-width: 768px) {
    .aucdet-partner-header { flex-direction: column; gap: 14px; }
    .aucdet-avatar { width: 52px; height: 52px; }
    .aucdet-avatar i { font-size: 22px; }
    .aucdet-partner-name { font-size: 20px; }
    .aucdet-section-title { font-size: 15px; }
    .aucdet-review-top { flex-direction: column; align-items: flex-start; gap: 4px; }
    .aucdet-info-icon { width: 38px; height: 38px; font-size: 14px; }
}
@media (max-width: 480px) {
    .aucdet-card { padding: 18px; }
    .aucdet-info-row { font-size: 13px; }
    .aucdet-event-card { min-width: 180px; padding: 14px; }
}


/* ─────────────────────────────────────────────────────────────
   REMINDER LIST PAGE (rml-*)
   ───────────────────────────────────────────────────────────── */

/* Category chips */
.rml-chips {
    display: flex; gap: 10px; flex-wrap: wrap;
    padding: 20px 0 0;
}
.rml-chip {
    display: inline-flex; align-items: center;
    padding: 7px 18px; border-radius: 999px;
    font-family: 'Inter', sans-serif;
    font-size: 13px; font-weight: 500;
    cursor: pointer; text-decoration: none;
    border: 1px solid var(--v2-border);
    background: #fff; color: var(--v2-muted);
    transition: all 0.15s;
}
.rml-chip:hover {
    border-color: var(--v2-purple); color: var(--v2-purple);
    text-decoration: none !important;
}
.rml-chip:focus { text-decoration: none; }
.rml-chip.active {
    background: var(--v2-purple-light); color: #4a3a8a;
    border-color: #d4d0e8; font-weight: 600;
    text-decoration: none;
}

/* Section header (custom / shortlist) */
.rml-section { margin-top: 32px; margin-bottom: 0; }
.rml-section-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 12px; flex-wrap: wrap; gap: 12px;
}
.rml-section-left { display: flex; align-items: center; gap: 12px; }
.rml-section-icon {
    width: 40px; height: 40px; border-radius: 10px;
    border: 1px solid var(--v2-border);
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    color: var(--v2-purple-muted); font-size: 16px; flex-shrink: 0;
}
.rml-section-title {
    font-family: 'Inter', sans-serif;
    font-size: 15px; font-weight: 700; color: var(--v2-text); margin: 0;
}
.rml-section-subtitle {
    font-size: 13px; color: var(--v2-muted); margin: 2px 0 0;
}
.rml-section-actions { display: flex; gap: 8px; align-items: center; }

/* Table card */
.rml-table-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    overflow: hidden;
}
.rml-table {
    width: 100%; border-collapse: collapse;
    table-layout: fixed;
}
.rml-table thead th {
    text-align: left;
    font-family: 'Inter', sans-serif;
    font-size: 12px; font-weight: 600;
    color: var(--v2-muted);
    text-transform: uppercase; letter-spacing: 0.5px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--v2-border);
    background: var(--v2-bg);
}
.rml-table thead th:first-child { width: auto; }
.rml-table thead th.rml-col-matches { width: 120px; text-align: center; }
.rml-table thead th.rml-col-date { width: 120px; text-align: center; }
.rml-table thead th.rml-col-actions { width: 140px; text-align: center; }
.rml-table tbody td {
    padding: 16px 20px; font-size: 14px;
    border-bottom: 1px solid #f0eef8;
    vertical-align: middle;
    font-family: 'Inter', sans-serif;
}
.rml-table tbody td.rml-col-matches { text-align: center; }
.rml-table tbody td.rml-col-date { text-align: center; }
.rml-table tbody td.rml-col-actions { text-align: center; }
.rml-table tbody tr:last-child td { border-bottom: none; }
.rml-table tbody tr:hover { background: #fafaff; }

/* Vehicle cell */
.rml-vehicle-cell { display: flex; align-items: center; gap: 14px; }
.rml-vehicle-thumb {
    width: 40px; height: 40px; border-radius: 10px;
    border: 1px solid var(--v2-border);
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; color: var(--v2-purple-muted); font-size: 16px;
}
.rml-vehicle-name {
    font-weight: 600; color: var(--v2-text); font-size: 14px;
}
.rml-vehicle-specs {
    font-size: 12px; color: var(--v2-muted); margin-top: 2px;
}

/* Cell modifiers */
.rml-muted { color: var(--v2-muted); }
.rml-bold { font-weight: 700; color: var(--v2-text); }

/* Toggle switch */
.rml-toggle {
    position: relative; width: 44px; height: 24px;
    cursor: pointer; display: inline-block;
}
.rml-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.rml-toggle .rml-slider {
    position: absolute; inset: 0;
    background: #d1d1d8; border-radius: 12px;
    transition: background 0.2s;
}
.rml-toggle .rml-slider::after {
    content: ''; position: absolute;
    width: 18px; height: 18px;
    background: #fff; border-radius: 50%;
    top: 3px; left: 3px;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.rml-toggle input:checked + .rml-slider { background: var(--v2-purple); }
.rml-toggle input:checked + .rml-slider::after { transform: translateX(20px); }

/* Action buttons */
.rml-actions { display: flex; gap: 8px; justify-content: center; }
.rml-btn-sm {
    padding: 6px 14px; border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px; font-weight: 600;
    cursor: pointer;
    text-decoration: none; display: inline-flex;
    align-items: center; gap: 5px;
    transition: all 0.15s;
}
.rml-btn-view {
    background: #fff; color: var(--v2-purple);
    border: 1px solid var(--v2-border);
}
.rml-btn-view:hover {
    border-color: var(--v2-purple); background: var(--v2-purple-light);
    text-decoration: none;
}
.rml-btn-edit { background: var(--v2-purple-light); color: #4a3a8a; border: none; }
.rml-btn-edit:hover { background: #e4e0f3; }
.rml-btn-delete {
    background: none; border: 1px solid var(--v2-border);
    color: var(--v2-muted); padding: 6px 10px;
    border-radius: 8px; cursor: pointer; font-size: 12px;
    transition: all 0.15s;
}
.rml-btn-delete:hover { border-color: #dc2626; color: #dc2626; }
.rml-btn-add {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 12px; font-weight: 600;
    padding: 7px 14px; border-radius: 8px;
    text-decoration: none;
    border: 1px solid var(--v2-border);
    background: #fff; color: var(--v2-purple);
    transition: all 0.15s;
}
.rml-btn-add:hover {
    border-color: var(--v2-purple); background: var(--v2-purple-light);
    text-decoration: none;
}

/* Empty state */
.rml-empty {
    background: #fff;
    border: 1px dashed var(--v2-border);
    border-radius: 14px;
    padding: 32px; text-align: center;
    color: var(--v2-muted); font-size: 14px;
    font-family: 'Inter', sans-serif;
}
.rml-empty-icon {
    font-size: 18px;
    margin: 0 auto 10px;
    width: 44px; height: 44px; border-radius: 10px;
    border: 1px solid var(--v2-border);
    background: #fff;
    color: var(--v2-purple-muted);
    display: flex; align-items: center; justify-content: center;
}

/* Pagination inside table card */
.rml-table-pagination {
    padding: 14px 20px;
    border-top: 1px solid var(--v2-border);
    display: flex; justify-content: center;
}

/* Responsive: 768px — table → stacked cards */
@media (max-width: 768px) {
    .rml-chips { padding: 16px 0 0; }
    .rml-table-card { border-radius: 12px; }
    .rml-table, .rml-table thead, .rml-table tbody,
    .rml-table th, .rml-table td, .rml-table tr { display: block; }
    .rml-table thead { display: none; }
    .rml-table tbody tr {
        padding: 16px;
        border-bottom: 1px solid #f0eef8;
        display: flex; align-items: center;
        gap: 12px;
    }
    .rml-table tbody tr:last-child { border-bottom: none; }
    .rml-table tbody td { padding: 0; border: none; font-size: 13px; }
    .rml-table tbody td::before { display: none; }
    .rml-table tbody td:first-child { flex: 1; min-width: 0; }
    .rml-table tbody td.rml-col-matches,
    .rml-table tbody td.rml-col-date { display: none; }
    .rml-table tbody td.rml-col-actions { margin-left: auto; flex-shrink: 0; }
    .rml-vehicle-cell { gap: 10px; }
    .rml-vehicle-thumb { width: 36px; height: 36px; font-size: 14px; }
    .rml-vehicle-name { font-size: 13px; }
    .rml-vehicle-specs { font-size: 11px; }
    .rml-vehicle-mobile-extra { display: block !important; font-size: 11px; color: var(--v2-muted); margin-top: 2px; }
    .rml-actions { flex-direction: column; gap: 4px; align-items: center; }
    .rml-section-header { flex-direction: column; align-items: flex-start; }
    .rml-section-icon { width: 32px; height: 32px; font-size: 14px; }
    .rml-btn-sm { padding: 5px 10px; font-size: 11px; }
}

/* Responsive: 640px */
@media (max-width: 640px) {
    .rpref-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding: 18px 18px;
    }
    .rpref-right {
        padding-left: 58px;
        width: 100%;
        flex-wrap: wrap;
        gap: 12px;
    }
    .rpref-toggle-group { gap: 16px; }
}

/* Responsive: 480px */
@media (max-width: 480px) {
    .rpref-right { padding-left: 0; }
}


/* ─────────────────────────────────────────────────────────────
   SUBSCRIPTION SETTINGS PAGE (subsset-*)
   ───────────────────────────────────────────────────────────── */

.subsset-container { padding: 0 0 30px; }

.subsset-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    overflow: hidden;
}

.subsset-row {
    display: flex;
    align-items: center;
    padding: 20px 24px;
    gap: 14px;
}
.subsset-row + .subsset-row {
    border-top: 1px solid #f0eef8;
}

.subsset-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 10px;
    background: var(--v2-purple-light);
    display: flex;
    align-items: center;
    justify-content: center;
}
.subsset-icon svg {
    width: 20px;
    height: 20px;
    color: var(--v2-purple-muted);
}

.subsset-icon--danger {
    background: #fef2f2;
}
.subsset-icon--danger svg {
    color: #dc2626;
}

.subsset-body {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 14px;
}

.subsset-text {
    flex: 1;
    min-width: 0;
}

.subsset-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--v2-text);
    margin-bottom: 2px;
}

.subsset-desc {
    font-size: 13px;
    color: var(--v2-muted);
    line-height: 1.4;
}

/* Action link / button — matches cset-action */
.subsset-action {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-purple);
    text-decoration: none;
    white-space: nowrap;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-family: 'Inter', sans-serif;
}
.subsset-action:hover { text-decoration: underline; }
.subsset-action svg {
    width: 14px;
    height: 14px;
}

.subsset-action--danger {
    color: #dc2626;
}
.subsset-action--danger:hover {
    color: #b91c1c;
}

.subsset-inline-action {
    flex-shrink: 0;
}

/* Status badges */
.subsset-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 999px;
    letter-spacing: 0.02em;
}
.subsset-badge--active {
    background: #ecfdf5;
    color: #059669;
}
.subsset-badge--grace {
    background: #fefce8;
    color: #ca8a04;
}
.subsset-badge--inactive {
    background: #f3f4f6;
    color: #6b7280;
}

/* Cancel modal — v2 styled */
.subsset-modal {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
}
.subsset-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--v2-border);
}
.subsset-modal-header h5 {
    font-size: 17px;
    font-weight: 700;
    color: var(--v2-text);
    margin: 0;
}
.subsset-modal-close {
    background: none;
    border: none;
    color: var(--v2-muted);
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.subsset-modal-close:hover {
    background: var(--v2-purple-light);
    color: var(--v2-text);
}
.subsset-modal-body {
    padding: 24px;
}
.subsset-modal-body p {
    font-size: 15px;
    color: var(--v2-text);
    margin: 0 0 8px;
}
.subsset-modal-muted {
    font-size: 13px !important;
    color: var(--v2-muted) !important;
    margin: 0 !important;
}
.subsset-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 24px;
    border-top: 1px solid var(--v2-border);
}
.subsset-modal-btn {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
    transition: background 0.2s, color 0.2s;
}
.subsset-modal-btn--secondary {
    background: var(--v2-purple-light);
    color: var(--v2-purple);
}
.subsset-modal-btn--secondary:hover {
    background: var(--v2-purple);
    color: #fff;
}
.subsset-modal-btn--danger {
    background: #dc2626;
    color: #fff;
}
.subsset-modal-btn--danger:hover {
    background: #b91c1c;
}

/* Responsive: 640px */
@media (max-width: 640px) {
    .subsset-row {
        padding: 18px 18px;
    }
    .subsset-body {
        flex-direction: column;
        align-items: flex-start;
    }
    .subsset-inline-action {
        margin-top: 6px;
    }
    .subsset-modal-footer { flex-direction: column; }
    .subsset-modal-btn { width: 100%; text-align: center; }
}

/* ============================================================
   CONSOLER DETAILS PAGE  (cdet-*)
   /admin/consolers/{id}
   ============================================================ */

/* --- Legacy neutralisers --- */
.cdet-container.page-main-container {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
}
.cdet-container .user-section,
.cdet-container .details-container,
.cdet-container .section-card {
    all: unset;
    display: block;
}

/* --- Profile Strip --- */
.cdet-profile-strip {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    padding: 24px 28px;
    margin-bottom: 20px;
}
.cdet-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--v2-purple-light);
    color: var(--v2-purple);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 800;
    flex-shrink: 0;
}
.cdet-profile-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}
.cdet-name {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: var(--v2-text);
    margin: 0;
}
.cdet-email {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: var(--v2-muted);
    margin: 0;
}
.cdet-status-badge {
    display: inline-block;
    width: fit-content;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 6px;
    background: var(--v2-purple-light);
    color: var(--v2-purple);
    margin-top: 2px;
}

/* --- Card Row Layout --- */
.cdet-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

/* --- Card --- */
.cdet-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    padding: 24px 28px;
}
.cdet-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    position: relative;
}
.cdet-card-header h3 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--v2-text);
    margin: 0;
}
.cdet-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--v2-purple-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cdet-card-icon svg {
    width: 20px;
    height: 20px;
    color: var(--v2-purple-muted);
}

/* --- Detail List --- */
.cdet-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cdet-list li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid var(--v2-border);
}
.cdet-list li:last-child {
    border-bottom: none;
}
.cdet-label {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--v2-muted);
}
.cdet-value {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-text);
    text-align: right;
}

/* --- Agreement Links --- */
.cdet-agreement-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--v2-purple);
    text-decoration: none;
    transition: color 0.2s;
}
.cdet-agreement-link:hover {
    color: var(--v2-purple-hover);
}
.cdet-unverified {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--v2-muted);
    padding: 10px 0;
    margin: 0;
}

/* --- Location Marker & Tooltip --- */
.cdet-location-marker {
    position: relative;
    margin-left: auto;
    cursor: pointer;
}
.cdet-location-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cdet-location-dot--ok {
    background: #dcfce7;
    color: #16a34a;
}
.cdet-location-dot--missing {
    background: #fee2e2;
    color: #dc2626;
}
.cdet-location-tooltip {
    display: none;
    position: absolute;
    top: 36px;
    right: 0;
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    padding: 14px 18px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    z-index: 10;
    min-width: 200px;
}
.cdet-location-tooltip.active {
    display: block;
}
.cdet-tooltip-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--v2-text);
}
.cdet-tooltip-status--ok { color: #16a34a; }
.cdet-tooltip-status--missing { color: #dc2626; }
.cdet-tooltip-coords {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: var(--v2-muted);
}

/* ── Update Log (consoler profile strip) ── */
.cdet-update-log {
    text-align: right;
    flex-shrink: 0;
}
.cdet-update-log .label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    color: var(--v2-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cdet-update-log .date {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-text);
    margin-top: 4px;
}

/* --- Responsive: 768px --- */
@media (max-width: 768px) {
    .cdet-row {
        grid-template-columns: 1fr;
    }
    .cdet-profile-strip {
        flex-wrap: wrap;
        padding: 20px;
    }
    .cdet-update-log {
        width: 100%;
        text-align: left;
        margin-top: 8px;
        padding-top: 12px;
        border-top: 1px solid var(--v2-border);
    }
    .cdet-card {
        padding: 20px;
    }
}

/* --- Responsive: 480px --- */
@media (max-width: 480px) {
    .cdet-profile-strip {
        flex-direction: column;
        text-align: center;
        gap: 14px;
    }
    .cdet-profile-info {
        align-items: center;
    }
    .cdet-list li {
        flex-direction: column;
        gap: 2px;
    }
    .cdet-value {
        text-align: left;
    }
}

/* ══════════════════════════════════════════
   Consoler Dashboard (cdb-*)
   ══════════════════════════════════════════ */

/* ── Container ── */
.v2 .cdb-container { padding: 20px 0 40px; }

/* ── Filter bar ── */
.v2 .cdb-filter-bar { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.v2 .cdb-filter-label {
    font-size: 12px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.06em; color: #8a8a96;
}
.v2 .cdb-filter-select {
    border: 1px solid var(--v2-border); border-radius: 8px;
    padding: 9px 32px 9px 14px; font-size: 13px; font-weight: 500;
    font-family: 'Inter', sans-serif; color: var(--v2-text);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a96' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
    appearance: none; -webkit-appearance: none;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    transition: border-color .15s, box-shadow .15s; cursor: pointer;
}
.v2 .cdb-filter-select:hover { border-color: var(--v2-purple-muted); }
.v2 .cdb-filter-select:focus {
    border-color: var(--v2-purple); outline: none;
    box-shadow: 0 0 0 3px rgba(97,67,228,0.1);
}

/* ── Stat cards grid ── */
.v2 .cdb-stats-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 16px; margin-bottom: 24px;
}
.v2 .cdb-stat-card {
    background: #fff; border: 1px solid var(--v2-border); border-radius: 14px;
    padding: 22px 24px; transition: box-shadow .15s, transform .15s;
}
.v2 .cdb-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 18px rgba(97,67,228,0.08);
}
.v2 .cdb-stat-content {
    display: flex; align-items: flex-start; justify-content: space-between;
}
.v2 .cdb-stat-data { display: flex; flex-direction: column; gap: 2px; }
.v2 .cdb-stat-label { font-size: 14px; font-weight: 500; color: #8a8a96; }
.v2 .cdb-stat-count {
    font-family: var(--v2-font-heading); font-weight: 800;
    font-size: 32px; letter-spacing: -0.02em; color: var(--v2-text);
}
.v2 .cdb-stat-sub { font-size: 12px; color: #b0b0be; }

/* ── Two-column row ── */
.v2 .cdb-two-col {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 20px; margin-bottom: 24px;
}
.v2 .cdb-section-card {
    background: #fff; border: 1px solid var(--v2-border); border-radius: 14px;
    padding: 28px;
}
.v2 .cdb-section-heading {
    font-family: var(--v2-font-heading); font-weight: 800;
    font-size: 15px; color: #0f0f14; letter-spacing: -0.01em;
    margin-bottom: 16px;
}
.v2 .cdb-section-sub {
    font-size: 12px; font-weight: 600; color: #8a8a96;
    text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 12px;
}

/* ── Event cards ── */
.v2 .cdb-event-card {
    border: 1px solid #eceaf4; border-left: 3px solid var(--v2-purple);
    border-radius: 8px; background: transparent;
    padding: 14px 16px; margin-bottom: 10px; transition: background .15s;
}
.v2 .cdb-event-card:last-child { margin-bottom: 0; }
.v2 .cdb-event-card:hover { background: #faf9ff; }
.v2 .cdb-event-name { font-weight: 600; color: #0f0f14; font-size: 14px; }
.v2 .cdb-event-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.v2 .cdb-event-meta span { font-size: 12px; color: #8a8a96; }

/* ── Regional distribution ── */
.v2 .cdb-chart-title {
    font-family: var(--v2-font-heading); font-weight: 800;
    font-size: 12px; color: #8a8a96; text-transform: uppercase;
    letter-spacing: 0.06em; margin-bottom: 16px;
}
.v2 .cdb-regions-list { display: flex; flex-direction: column; gap: 10px; }
.v2 .cdb-region-item {
    display: flex; align-items: center; justify-content: space-between;
    text-decoration: none; color: var(--v2-text); transition: color .15s;
    padding: 4px 0;
}
.v2 .cdb-region-item:hover { color: var(--v2-purple); }
.v2 .cdb-region-info { display: flex; align-items: center; gap: 12px; flex: 1; }
.v2 .cdb-region-name { font-size: 13px; font-weight: 500; min-width: 80px; }
.v2 .cdb-progress-container {
    flex: 1; height: 6px; background: #f0eef4; border-radius: 3px; overflow: hidden;
}
.v2 .cdb-progress-bar {
    height: 100%; background: var(--v2-purple-hover); border-radius: 3px;
    transition: width 0.8s ease;
}
.v2 .cdb-region-count { font-size: 12px; font-weight: 600; color: var(--v2-muted); min-width: 60px; text-align: right; }
.v2 .cdb-total-section {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--v2-border);
}
.v2 .cdb-total-label { font-size: 13px; font-weight: 600; color: var(--v2-muted); }
.v2 .cdb-total-count { font-size: 15px; font-weight: 800; color: var(--v2-purple); }

/* ── Insights row (2+1 layout: fuel+bid top, odometer full-width bottom) ── */
.v2 .cdb-insights-grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 20px; margin-bottom: 24px; min-width: 0;
}
.v2 .cdb-insight-card {
    background: #fff; border: 1px solid var(--v2-border); border-radius: 14px;
    padding: 28px; min-width: 0; overflow: hidden;
}
.v2 .cdb-insight-card--full { grid-column: 1 / -1; }
.v2 .cdb-insight-heading {
    font-family: var(--v2-font-heading); font-weight: 800;
    font-size: 15px; color: #0f0f14; margin-bottom: 12px;
}
.v2 .cdb-insight-avg { font-size: 13px; color: #8a8a96; margin-bottom: 16px; }
.v2 .cdb-insight-avg strong { color: #1e1e28; }
.v2 .cdb-chart-wrap { height: 200px; width: 100%; position: relative; }
.v2 .cdb-insight-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 14px; }
.v2 .cdb-legend-item {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 11px; color: var(--v2-muted);
}
.v2 .cdb-legend-item i {
    display: inline-block; width: 8px; height: 8px; border-radius: 2px;
}
.v2 .cdb-legend-item strong { color: var(--v2-text); font-weight: 700; }

/* ── Live auctions section ── */
.v2 .cdb-live-section {
    background: #fff; border: 1px solid var(--v2-border); border-radius: 14px;
    padding: 28px; overflow: hidden;
}
.v2 .cdb-live-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 20px;
}
.v2 .cdb-live-header .left { display: flex; align-items: center; gap: 8px; }
.v2 .cdb-live-title {
    font-family: var(--v2-font-heading); font-weight: 800;
    font-size: 15px; color: #0f0f14;
}
.v2 .cdb-view-all {
    font-size: 13px; font-weight: 600; color: var(--v2-purple);
    text-decoration: none; transition: color .15s;
}
.v2 .cdb-view-all:hover { color: var(--v2-purple-hover); }

/* ── Auction table ── */
.v2 .cdb-table { width: 100%; border-collapse: collapse; }
.v2 .cdb-table th {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.06em; color: #8a8a96; text-align: left;
    padding: 8px 12px; border-bottom: 1px solid var(--v2-border);
}
.v2 .cdb-table td {
    font-size: 13px; padding: 12px; border-bottom: 1px solid var(--v2-border);
    vertical-align: middle;
}
.v2 .cdb-table tr:last-child td { border-bottom: none; }
.v2 .cdb-table tr:hover td { background: #faf9ff; }

/* ── Mobile cards (hidden on desktop) ── */
.v2 .cdb-mobile-cards { display: none; }
.v2 .cdb-mobile-card {
    background: #fff; border: 1px solid var(--v2-border); border-radius: 12px;
    padding: 16px; margin-bottom: 12px;
}
.v2 .cdb-mobile-card-header {
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 12px;
}
.v2 .cdb-mobile-card-header h3 { font-size: 14px; font-weight: 700; margin: 0; }
.v2 .cdb-mobile-card-body {
    display: grid; grid-template-columns: auto 1fr; gap: 6px 16px;
    font-size: 12px; margin-bottom: 12px;
}
.v2 .cdb-mobile-key { color: #8a8a96; font-weight: 500; }
.v2 .cdb-mobile-val { font-weight: 600; }
.v2 .cdb-mobile-action { margin-top: 8px; }
.v2 .cdb-mobile-action button {
    width: 100%; padding: 8px; border-radius: 6px;
    background: transparent; color: #8b7bc7;
    font-size: 12px; font-weight: 500;
    border: 1px solid var(--v2-border);
    cursor: pointer; transition: all .15s;
    font-family: 'Inter', sans-serif;
}
.v2 .cdb-mobile-action button:hover { border-color: #8b7bc7; color: var(--v2-purple); }

/* ── Responsive ── */
@media (max-width: 1200px) {
    .v2 .cdb-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .v2 .cdb-container { padding: 16px 0 32px; }
    .v2 .cdb-stats-grid { grid-template-columns: 1fr 1fr; }
    .v2 .cdb-two-col { grid-template-columns: 1fr; }
    .v2 .cdb-insights-grid { grid-template-columns: 1fr; }
    .v2 .cdb-insight-card--full { grid-column: auto; }
    .v2 .cdb-table { display: none; }
    .v2 .cdb-mobile-cards { display: block; }
}
@media (max-width: 480px) {
    .v2 .cdb-container { padding: 16px 0 24px; }
    .v2 .cdb-stats-grid { grid-template-columns: 1fr; }
    .v2 .cdb-stat-count { font-size: 26px; }
}

/* ═══════════════════════════════════════════════════════════
   AUCTION EVENT V2 — Month Calendar (aev2-*)
   ═══════════════════════════════════════════════════════════ */

/* ── Toolbar ── */
.aev2-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    background: #fff; border: 1px solid var(--v2-border); border-radius: 14px;
    padding: 14px 18px; margin-bottom: 16px; gap: 12px; flex-wrap: wrap;
    font-family: 'Inter', sans-serif;
}
.aev2-toolbar-left {
    display: flex; align-items: center; gap: 8px;
}
.aev2-toolbar-right {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.aev2-nav-arrow {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border: 1px solid var(--v2-border); border-radius: 8px;
    color: var(--v2-text); text-decoration: none; transition: background .15s;
}
.aev2-nav-arrow:hover { background: var(--v2-purple-light); color: var(--v2-purple); }
.aev2-month-label {
    font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 800;
    color: var(--v2-text); margin: 0; white-space: nowrap;
}
.aev2-date-input {
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500;
    border: 1px solid var(--v2-border); border-radius: 8px; padding: 6px 10px;
    color: var(--v2-text); background: #fff; cursor: pointer;
}

/* ── Calendar Grid ── */
.aev2-grid {
    background: #fff; border: 1px solid var(--v2-border); border-radius: 14px;
    overflow: hidden; font-family: 'Inter', sans-serif;
}
.aev2-day-names {
    display: grid; grid-template-columns: repeat(7, 1fr);
    border-bottom: 1px solid var(--v2-border);
}
.aev2-day-name {
    text-align: center; text-transform: uppercase; font-size: 12px; font-weight: 600;
    color: var(--v2-muted); padding: 10px 0;
}
.aev2-week {
    display: grid; grid-template-columns: repeat(7, 1fr);
}
.aev2-cell {
    min-height: 100px; padding: 6px 8px;
    border-right: 1px solid var(--v2-border);
    border-bottom: 1px solid var(--v2-border);
    position: relative;
}
.aev2-cell--last-col { border-right: none; }
.aev2-cell--last-row { border-bottom: none; }
.aev2-cell--outside { background: #f8f8fb; }
.aev2-cell--outside .aev2-day-num { color: #c5c5d0; }

.aev2-day-num {
    font-size: 13px; font-weight: 600; color: var(--v2-text);
    margin-bottom: 4px; display: inline-block;
}
.aev2-day-num--today {
    background: var(--v2-purple); color: #fff !important;
    width: 26px; height: 26px; line-height: 26px; text-align: center;
    border-radius: 50%; font-size: 12px;
}
.aev2-cell-events { display: flex; flex-direction: column; gap: 2px; }

/* ── Event Bar ── */
.aev2-bar {
    display: flex; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 600; color: #fff;
    background: #6143e4;
    padding: 3px 7px; border-radius: 5px; margin-bottom: 3px;
    cursor: pointer; transition: opacity .15s; overflow: hidden;
    white-space: nowrap; text-overflow: ellipsis;
}
.aev2-bar:hover { opacity: 0.85; }
.aev2-bar--deadline {
    background: rgba(97, 67, 228, 0.18) !important; color: #6143e4 !important;
}
.aev2-bar--deadline .aev2-bar-time { color: #6143e4; opacity: 0.7; }
.aev2-bar-name {
    overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0;
}
.aev2-bar-time {
    font-weight: 400; opacity: 0.85; flex-shrink: 0;
}

/* ── "+X more" Badge ── */
.aev2-more {
    font-size: 11px; font-weight: 600; color: var(--v2-purple);
    padding: 2px 4px; cursor: pointer;
}
.aev2-more:hover { text-decoration: underline; }

/* ── No Results ── */
.aev2-no-results {
    text-align: center; padding: 48px 16px; color: var(--v2-muted);
    font-size: 14px; font-weight: 500;
}

/* ── Modal (shared by event detail + more popup) ── */
.aev2-modal-backdrop {
    position: fixed; inset: 0; z-index: 100001;
    background: rgba(15, 15, 20, 0.65); backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
}
.aev2-modal {
    background: #fff; border-radius: 14px; width: 440px; max-width: 94vw;
    max-height: 90vh; overflow-y: auto;
    box-shadow: 0 24px 64px rgba(15, 15, 20, 0.25);
    animation: aev2FadeIn .2s ease-out;
    font-family: 'Inter', sans-serif;
}
@keyframes aev2FadeIn {
    from { opacity: 0; transform: scale(0.92); }
    to   { opacity: 1; transform: scale(1); }
}
.aev2-modal-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 24px 0; gap: 12px;
}
.aev2-modal-title {
    font-family: 'Inter', sans-serif; font-size: 22px; font-weight: 800;
    color: var(--v2-text); margin: 0;
}
.aev2-modal-close {
    width: 32px; height: 32px; border: none; background: transparent;
    border-radius: 50%; font-size: 20px; color: var(--v2-muted);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background .15s;
}
.aev2-modal-close:hover { background: var(--v2-purple-light); color: var(--v2-purple); }

/* ── Modal Body Rows ── */
.aev2-modal-body { padding: 20px 24px; }
.aev2-modal-row {
    display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px;
}
.aev2-modal-row:last-child { margin-bottom: 0; }
.aev2-modal-icon {
    width: 44px; height: 44px; min-width: 44px; border-radius: 10px;
    background: var(--v2-purple-light); color: var(--v2-purple-muted);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
}
.aev2-modal-label {
    font-size: 12px; font-weight: 500; color: var(--v2-muted); margin-bottom: 2px;
}
.aev2-modal-value {
    font-size: 14px; font-weight: 600; color: var(--v2-text);
}

/* ── State Chips ── */
.aev2-chip {
    display: inline-block; background: var(--v2-purple-light); color: #4a3a8a;
    padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 600;
    margin: 2px 4px 2px 0;
}

/* ── Modal Actions ── */
.aev2-modal-actions {
    display: flex; gap: 10px; padding: 0 24px 24px;
}
.aev2-modal-btn-primary {
    flex: 1; text-align: center; text-decoration: none;
}
.aev2-modal-btn-outline { flex: 0 0 auto; }

/* ── "+More" Popup ── */
.aev2-more-modal { width: 380px; max-height: 85vh; display: flex; flex-direction: column; }
.aev2-more-events { overflow-y: auto; }
.aev2-more-day {
    font-size: 12px; font-weight: 600; color: var(--v2-muted);
    text-transform: uppercase; margin-right: 6px;
}
.aev2-more-date {
    font-size: 18px; font-weight: 800; color: var(--v2-text);
}
.aev2-more-events { padding: 12px 24px 24px; display: flex; flex-direction: column; gap: 6px; }
.aev2-more-event-bar {
    display: flex; align-items: center; gap: 4px;
    font-size: 12px; font-weight: 600; color: #fff;
    background: #6143e4;
    padding: 8px 12px; border-radius: 8px; cursor: pointer;
    transition: opacity .15s;
}
.aev2-more-event-bar:hover { opacity: 0.85; }
.aev2-more-event-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aev2-more-event-time { font-weight: 400; opacity: 0.85; flex-shrink: 0; }

/* ── Toolbar Controls ── */
.aev2-select {
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500;
    border: 1px solid var(--v2-border); border-radius: 8px;
    padding: 7px 12px; color: var(--v2-text); background: #fff; cursor: pointer;
    appearance: auto;
}
.aev2-view-toggle {
    display: flex; border: 1px solid var(--v2-border); border-radius: 8px; overflow: hidden;
}
.aev2-view-btn {
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500;
    border: none; padding: 7px 16px; cursor: pointer; background: #fff;
    color: var(--v2-muted); transition: all .15s;
}
.aev2-view-btn--active {
    background: var(--v2-purple); color: #fff;
}

/* ── "Current Month" states ── */
.page-header .action-container .primary-action--current {
    background: transparent; color: var(--v2-muted);
    border: 1px solid var(--v2-border);
    cursor: default; pointer-events: none;
}
.page-header .action-container .primary-action--away {
    background: transparent; color: var(--v2-purple);
    border: 1px solid var(--v2-purple);
}
.page-header .action-container .primary-action--away:hover {
    text-decoration: none;
}

/* ── Neutralize legacy styles inside .aev2-month ── */
.aev2-month .calendar-wrapper,
.aev2-month .calendar-header,
.aev2-month .calendar-container { all: unset; display: contents; }
.aev2-month table { display: none; }

/* ── Hide legacy event popup when v2 month is active ── */
.aev2-month ~ .event-popup { display: none !important; }

/* ── Responsive ── */
@media (max-width: 680px) {
    .aev2-toolbar { flex-direction: column; align-items: stretch; text-align: center; }
    .aev2-toolbar-left { justify-content: center; }
    .aev2-toolbar-right { justify-content: center; }
    .aev2-week { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .aev2-cell { min-height: 80px; padding: 4px; overflow: hidden; }
    .aev2-bar { font-size: 10px; padding: 2px 4px; max-width: 100%; }
    .aev2-bar-name { max-width: calc(100% - 30px); }
    .aev2-day-num { font-size: 11px; }
    .aev2-modal { width: 96vw; max-height: 88vh; }
    .aev2-more-modal { width: 96vw; max-height: 80vh; }
    .aev2-modal-header { padding: 16px 16px 0; }
    .aev2-modal-body { padding: 16px; }
    .aev2-modal-row { gap: 10px; margin-bottom: 12px; }
    .aev2-modal-icon { width: 36px; height: 36px; min-width: 36px; font-size: 15px; border-radius: 8px; }
    .aev2-modal-actions { flex-direction: column; padding: 0 16px 16px; }
    .aev2-more-events { padding: 10px 16px 16px; }
}

/* ══════════════════════════════════════════════════════════════
   CONDITION REPORT PUBLIC/SEO PAGE (crpub-*)
   ══════════════════════════════════════════════════════════════ */

/* ── Page container — full width like car detail page ── */
.v2 .crpub-page { margin: 0 !important; }

/* ── Main row: cover image + vehicle info side by side (mirrors cdv2-main-row) ── */
.v2 .crpub-main-row { display: grid !important; grid-template-columns: 58% 1fr !important; gap: 20px; margin-bottom: 20px; }

/* ── Cover image card ── */
.v2 .crpub-cover-card { padding: 0 !important; overflow: hidden; }
.v2 .crpub-cover-img { width: 100%; height: auto; min-height: 280px; max-height: 420px; object-fit: cover; display: block !important; border-radius: 14px 14px 0 0; }
.v2 .crpub-cover-placeholder { display: flex !important; align-items: center; justify-content: center; min-height: 280px; background: var(--v2-purple-light); color: var(--v2-purple-muted); font-size: 48px; opacity: 0.35; }
.v2 .crpub-cover-card .crpub-badges { display: flex !important; flex-wrap: wrap; gap: 8px; padding: 16px 20px; }

/* ── Badges ── */
.v2 .crpub-hb { display: inline-flex !important; align-items: center; gap: 5px; padding: 4px 12px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.v2 .crpub-hb i { font-size: 11px; }
.v2 .crpub-hb--condition { background: rgba(96,165,250,0.12); color: var(--c-fair); }
.v2 .crpub-hb--odo { background: var(--v2-purple-light); color: #4a3a8a; }
.v2 .crpub-hb--ai { background: rgba(139,123,199,0.12); color: var(--v2-purple-muted); }
.v2 .crpub-hb--age { background: rgba(251,191,36,0.12); color: #b45309; }

/* ── Card base ── */
.v2 .crpub-card { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; padding: 24px; margin-bottom: 20px; }

/* ── Card heading (icon + title, mirrors cdv2-card-heading) ── */
.v2 .crpub-card-heading { display: flex !important; align-items: center; gap: 10px; margin-bottom: 16px; }
.v2 .crpub-card-heading-icon { width: 36px; height: 36px; border-radius: 10px; background: var(--v2-purple-light); display: flex !important; align-items: center; justify-content: center; color: var(--v2-purple); font-size: 15px; flex-shrink: 0; }
.v2 .crpub-card-heading h4 { font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 700; margin: 0; }

/* ── Detail items (label + value rows, mirrors cdv2-detail-item) ── */
.v2 .crpub-detail-section { display: flex !important; flex-direction: column; }
.v2 .crpub-detail-item { display: flex !important; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--v2-border); }
.v2 .crpub-detail-item:last-child { border-bottom: none; }
.v2 .crpub-detail-label { font-size: 13px; font-weight: 500; color: var(--v2-muted); white-space: nowrap; }
.v2 .crpub-detail-value { font-size: 13px; font-weight: 600; text-align: right; }

/* ── Condition divider inside vehicle info card ── */
.v2 .crpub-condition-divider { height: 1px; background: var(--v2-border); margin: 16px 0; }
.v2 .crpub-condition-summary { display: flex !important; flex-direction: column; }

/* ── Disclaimer card ── */
.v2 .crpub-disclaimer-text { font-size: 14px; line-height: 1.7; margin-bottom: 12px; }
.v2 .crpub-disclaimer-text strong { font-weight: 700; }
.v2 .crpub-includes { display: flex !important; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.v2 .crpub-include-tag { display: inline-flex !important; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: var(--v2-purple-muted); }
.v2 .crpub-include-tag i { font-size: 11px; }
.v2 .crpub-limitation { padding-top: 12px; border-top: 1px solid var(--v2-border); font-size: 13px; color: var(--v2-muted); font-style: italic; }

/* ── Condition Assessment Table ── */
.v2 .crpub-condition-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.v2 .crpub-condition-table thead th { text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--v2-muted); padding: 10px 12px; border-bottom: 1px solid var(--v2-border); background: var(--v2-bg); }
.v2 .crpub-condition-table tbody tr { border-bottom: 1px solid var(--v2-border); }
.v2 .crpub-condition-table tbody tr:last-child { border-bottom: none; }
.v2 .crpub-condition-table tbody tr:hover { background: var(--v2-purple-light); }
.v2 .crpub-condition-table td { padding: 12px; vertical-align: middle; }
.v2 .crpub-condition-table td:first-child { font-weight: 600; }

.v2 .crpub-rating-dot { display: inline-flex !important; align-items: center; gap: 6px; font-weight: 600; font-size: 13px; }
.v2 .crpub-rating-dot::before { content: ''; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.v2 .crpub-rating-excellent { color: var(--c-excellent); }
.v2 .crpub-rating-excellent::before { background: var(--c-excellent); }
.v2 .crpub-rating-good, .v2 .crpub-rating-very_good { color: var(--c-good); }
.v2 .crpub-rating-good::before, .v2 .crpub-rating-very_good::before { background: var(--c-good); }
.v2 .crpub-rating-fair { color: var(--c-fair); }
.v2 .crpub-rating-fair::before { background: var(--c-fair); }
.v2 .crpub-rating-poor { color: var(--c-poor); }
.v2 .crpub-rating-poor::before { background: var(--c-poor); }
.v2 .crpub-condition-note { font-size: 13px; color: var(--v2-muted); }

/* ── Detailed Assessment blocks ── */
.v2 .crpub-detail-block { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--v2-border); }
.v2 .crpub-detail-block:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.v2 .crpub-detail-block-title { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.v2 .crpub-detail-block-text { font-size: 14px; color: var(--v2-muted); line-height: 1.7; }

/* ── PDF download ── */
.v2 .crpub-pdf-text { font-size: 14px; color: var(--v2-muted); margin-bottom: 14px; }
.v2 .crpub-pdf-btn { display: inline-flex !important; align-items: center; gap: 8px; background: var(--v2-purple); color: #fff; border: none; border-radius: 8px; padding: 10px 24px; font-size: 14px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; transition: background 0.15s, transform 0.15s; text-decoration: none; }
.v2 .crpub-pdf-btn:hover { background: var(--v2-purple-hover); transform: translateY(-1px); color: #fff; text-decoration: none; }

/* ── Gated section (kept for when we re-enable) ── */
.v2 .crpub-gated { position: relative; margin-bottom: 20px; }
.v2 .crpub-gated-blur { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; padding: 24px; min-height: 260px; filter: blur(6px); user-select: none; pointer-events: none; }
.v2 .crpub-gated-blur p { font-size: 14px; color: var(--v2-muted); line-height: 1.7; margin-bottom: 10px; }
.v2 .crpub-gated-overlay { position: absolute; inset: 0; border-radius: 14px; display: flex !important; flex-direction: column; align-items: center; justify-content: center; background: rgba(255,255,255,0.6); text-align: center; padding: 24px; }
.v2 .crpub-lock-circle { width: 52px; height: 52px; border-radius: 50%; background: var(--v2-purple-light); color: var(--v2-purple); display: flex !important; align-items: center; justify-content: center; margin-bottom: 14px; font-size: 22px; }
.v2 .crpub-gated-overlay h3 { font-family: 'Inter', sans-serif; font-weight: 800; font-size: 17px; margin-bottom: 6px; }
.v2 .crpub-gated-overlay p { font-size: 13px; color: var(--v2-muted); margin-bottom: 18px; max-width: 400px; }
.v2 .crpub-unlock-btn { display: inline-flex !important; align-items: center; gap: 8px; background: var(--v2-purple); color: #fff; border: none; border-radius: 8px; padding: 12px 28px; font-size: 15px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; transition: background 0.15s, transform 0.15s; text-decoration: none; }
.v2 .crpub-unlock-btn:hover { background: var(--v2-purple-hover); transform: translateY(-1px); color: #fff; text-decoration: none; }

/* ── FAQ ── */
.v2 .crpub-faq { margin-bottom: 20px; }
.v2 .crpub-faq-item { border: 1px solid var(--v2-border); border-radius: 10px; margin-bottom: 10px; overflow: hidden; background: #fff; }
.v2 .crpub-faq-q { display: flex !important; justify-content: space-between; align-items: center; padding: 14px 18px; cursor: pointer; user-select: none; font-weight: 600; font-size: 14px; transition: background 0.15s; }
.v2 .crpub-faq-q:hover { background: var(--v2-purple-light); }
.v2 .crpub-faq-q .arrow { color: var(--v2-muted); font-size: 12px; transition: transform 0.2s; }
.v2 .crpub-faq-q.open .arrow { transform: rotate(180deg); }
.v2 .crpub-faq-a { display: none !important; padding: 0 18px 16px; font-size: 14px; color: var(--v2-muted); line-height: 1.6; border-top: 1px solid var(--v2-border); }
.v2 .crpub-faq-a.open { display: block !important; padding-top: 14px; }

/* ── Cross-links ── */
.v2 .crpub-cross-table-wrap { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; overflow: hidden; margin-bottom: 20px; }
.v2 .crpub-cross-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.v2 .crpub-cross-table tr { border-bottom: 1px solid var(--v2-border); transition: background .1s; }
.v2 .crpub-cross-table tr:last-child { border-bottom: none; }
.v2 .crpub-cross-table tr:hover { background: var(--v2-purple-light); }
.v2 .crpub-cross-table td { padding: 12px 16px; vertical-align: middle; }
.v2 .crpub-cross-vehicle { display: flex !important; align-items: center; gap: 12px; }
.v2 .crpub-cross-thumb { width: 56px; height: 40px; border-radius: 6px; background: #e0ddf0; flex-shrink: 0; display: flex !important; align-items: center; justify-content: center; color: var(--v2-purple-muted); overflow: hidden; font-size: 10px; }
.v2 .crpub-cross-thumb img { width: 100%; height: 100%; object-fit: cover; }
.v2 .crpub-cross-name { font-weight: 600; font-size: 14px; }
.v2 .crpub-cross-meta { font-size: 12px; color: var(--v2-muted); margin-top: 1px; }
.v2 .crpub-cross-link { font-size: 12px; font-weight: 600; color: var(--v2-purple); text-decoration: none; border: 1px solid var(--v2-border); border-radius: 6px; padding: 5px 14px; white-space: nowrap; transition: background .15s; }
.v2 .crpub-cross-link:hover { background: var(--v2-purple-light); text-decoration: none; }

.v2 .crpub-cross-mobile { display: none !important; }
.v2 .crpub-cm-card { background: #fff; border: 1px solid var(--v2-border); border-radius: 12px; padding: 14px; margin-bottom: 10px; display: flex !important; align-items: center; gap: 12px; text-decoration: none; color: var(--v2-text); transition: transform .15s; }
.v2 .crpub-cm-card:hover { transform: translateY(-1px); text-decoration: none; color: var(--v2-text); }
.v2 .crpub-cm-card .crpub-cross-thumb { width: 52px; height: 38px; }
.v2 .crpub-cm-info { flex: 1; min-width: 0; }
.v2 .crpub-cm-info .crpub-cross-name { font-size: 14px; }
.v2 .crpub-cm-info .crpub-cross-meta { font-size: 12px; }

/* ── Neutralize legacy .crp-page when inside .v2 ── */
.v2 .crpub-page.crp-page { background: transparent !important; }

/* ── Condition Report Public Page — Responsive ── */
@media (max-width: 768px) {
    .v2 .crpub-main-row { grid-template-columns: 1fr !important; }
    .v2 .crpub-cross-table-wrap { display: none !important; }
    .v2 .crpub-cross-mobile { display: block !important; }

    .v2 .crpub-condition-table thead { display: none !important; }
    .v2 .crpub-condition-table, .v2 .crpub-condition-table tbody, .v2 .crpub-condition-table tr, .v2 .crpub-condition-table td { display: block !important; width: 100% !important; }
    .v2 .crpub-condition-table tr { background: #fff; border: 1px solid var(--v2-border); border-radius: 10px; padding: 14px; margin-bottom: 10px; }
    .v2 .crpub-condition-table td { padding: 2px 0 !important; border: none !important; }
    .v2 .crpub-condition-table td:first-child { font-size: 14px; margin-bottom: 4px; }
    .v2 .crpub-condition-table td:nth-child(2) { display: inline !important; }
    .v2 .crpub-condition-table td:nth-child(3) { margin-top: 4px; }
}
@media (max-width: 480px) {
    .v2 .crpub-badges { gap: 6px; }
    .v2 .crpub-hb { padding: 3px 10px; font-size: 10px; }
    .v2 .crpub-cross-thumb { width: 48px; height: 34px; }
}

/* ══════════════════════════════════════════════════════════════
   CR COLLAB MARKETPLACE v2 — Table Layout (crmk-*)
   ══════════════════════════════════════════════════════════════ */

/* ── Page Container (full-width) ── */
.v2 .crmk-page { max-width: 100%; }

/* ── Stat Pills ── */
.v2 .crmk-stats { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.v2 .crmk-stat { display: inline-flex; align-items: center; gap: 6px; background: var(--v2-purple-light); color: #4a3a8a; border-radius: 999px; padding: 4px 14px; font-size: 13px; font-weight: 600; }
.v2 .crmk-stat i { font-size: 13px; }

/* ── Tab Bar ── */
.v2 .crmk-tab-bar { display: flex; gap: 0; border-bottom: 1px solid var(--v2-border); margin-bottom: 20px; }
.v2 .crmk-tab-item { padding: 10px 20px; font-size: 13px; font-weight: 600; color: var(--v2-muted); background: none; border: none; border-bottom: 2px solid transparent; cursor: pointer; font-family: 'Inter', sans-serif; transition: color 0.15s, border-color 0.15s; text-decoration: none; }
.v2 .crmk-tab-item:hover { color: var(--v2-text); text-decoration: none; }
.v2 .crmk-tab-item.active { color: var(--v2-purple); border-bottom-color: var(--v2-purple); }
.v2 .crmk-tab-count { background: var(--v2-purple-light); color: var(--v2-purple); border-radius: 999px; padding: 1px 7px; font-size: 11px; font-weight: 700; margin-left: 6px; }

/* ── Inline Search Bar ── */
.v2 .crmk-search-bar { display: flex; gap: 10px; margin-bottom: 20px; align-items: center; flex-wrap: wrap; }
.v2 .crmk-search-wrap { position: relative; flex: 1; min-width: 200px; }
.v2 .crmk-search-wrap i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--v2-muted); font-size: 15px; pointer-events: none; }
.v2 .crmk-search-input { width: 100%; background: #fff; border: 1px solid var(--v2-border); border-radius: 8px; padding: 9px 12px 9px 36px; font-size: 14px; font-family: 'Inter', sans-serif; color: var(--v2-text); outline: none; transition: border-color 0.15s; box-sizing: border-box; }
.v2 .crmk-search-input:focus { border-color: var(--v2-purple-muted); }
.v2 .crmk-search-input::placeholder { color: var(--v2-muted); }
.v2 .crmk-filter-select { background: #fff; border: 1px solid var(--v2-border); border-radius: 8px; padding: 9px 32px 9px 12px; font-size: 13px; font-family: 'Inter', sans-serif; color: var(--v2-text); outline: none; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a6a7a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; cursor: pointer; box-sizing: border-box; }
.v2 .crmk-filter-toggle { background-image: none; padding: 9px 12px; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.v2 .crmk-btn { display: inline-flex; align-items: center; gap: 6px; border-radius: 8px; padding: 9px 18px; font-size: 13px; font-weight: 600; cursor: pointer; border: none; font-family: 'Inter', sans-serif; text-decoration: none; transition: background 0.15s, transform 0.15s; }
.v2 .crmk-btn:hover { text-decoration: none; }
.v2 .crmk-btn--active { background: var(--v2-purple); color: #fff; }
.v2 .crmk-btn--active:hover { background: var(--v2-purple-hover); transform: translateY(-1px); color: #fff; }
.v2 .crmk-btn--outline { background: transparent; color: var(--v2-muted); border: 1px solid var(--v2-border); }
.v2 .crmk-btn--outline:hover { border-color: var(--v2-purple-muted); color: var(--v2-purple-muted); }
.v2 .crmk-btn--outline i { font-size: 14px; }

/* ── Expandable Filter Row ── */
.v2 .crmk-filter-row { display: none; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; padding: 20px; align-items: end; }
.v2 .crmk-filter-row.show { display: grid; }
.v2 .crmk-filter-label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 4px; color: var(--v2-muted); text-transform: uppercase; letter-spacing: 0.03em; }
.v2 .crmk-filter-field { width: 100%; background: var(--v2-bg); border: 1px solid var(--v2-border); border-radius: 8px; padding: 9px 12px; font-size: 14px; font-family: 'Inter', sans-serif; color: var(--v2-text); outline: none; appearance: none; -webkit-appearance: none; box-sizing: border-box; transition: border-color 0.15s; }
.v2 .crmk-filter-field:focus { border-color: var(--v2-purple-muted); }
.v2 .crmk-filter-clear { display: flex; align-items: end; }

/* ── Desktop Table ── */
.v2 .crmk-table-wrap { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; overflow: hidden; margin-bottom: 24px; }
.v2 .crmk-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.v2 .crmk-table thead th { text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--v2-muted); padding: 14px 16px; border-bottom: 1px solid var(--v2-border); background: var(--v2-bg); white-space: nowrap; cursor: pointer; user-select: none; }
.v2 .crmk-table thead th:hover { color: var(--v2-purple-muted); }
.v2 .crmk-table thead th .crmk-sort-icon { display: inline-block; width: 10px; margin-left: 4px; opacity: 0.4; }
.v2 .crmk-table tbody tr { border-bottom: 1px solid var(--v2-border); transition: background 0.1s; }
.v2 .crmk-table tbody tr:last-child { border-bottom: none; }
.v2 .crmk-table tbody tr:hover { background: var(--v2-purple-light); }
.v2 .crmk-table td { padding: 14px 16px; vertical-align: middle; }

/* Vehicle cell */
.v2 .crmk-vehicle-cell { display: flex; align-items: center; gap: 12px; }
.v2 .crmk-vehicle-thumb { width: 48px; height: 36px; border-radius: 6px; background: #e8e6f0; flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.v2 .crmk-vehicle-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .crmk-vehicle-thumb .crmk-thumb-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.v2 .crmk-vehicle-thumb .crmk-thumb-placeholder img { width: 28px; height: 28px; opacity: 0.45; object-fit: contain; }
.v2 .crmk-vehicle-name { font-weight: 600; font-size: 14px; line-height: 1.3; color: var(--v2-text); text-decoration: none; display: block; }
.v2 .crmk-vehicle-name:hover { color: var(--v2-purple); text-decoration: none; }
.v2 .crmk-vehicle-vin { font-size: 11px; color: var(--v2-muted); font-family: 'SF Mono', 'Menlo', 'Consolas', monospace; letter-spacing: 0.02em; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.v2 .crmk-tag { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 4px; font-family: Inter, sans-serif; letter-spacing: 0.03em; text-transform: uppercase; line-height: 1.4; }
.v2 .crmk-tag--bought { background: #dbeafe; color: #1d4ed8; }
.v2 .crmk-tag--yours { background: #dcfce7; color: #16a34a; }

/* Country badge */
.v2 .crmk-country-badge { background: var(--v2-purple-light); color: #4a3a8a; border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 600; white-space: nowrap; }

/* Price */
.v2 .crmk-price-free { color: #16a34a; font-weight: 700; font-size: 13px; }
.v2 .crmk-price-paid { color: var(--v2-purple); font-weight: 700; font-size: 13px; }

/* Condition summary */
.v2 .crmk-condition { font-size: 13px; color: var(--v2-muted); max-width: 240px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Votes */
.v2 .crmk-votes-cell { display: flex; align-items: center; gap: 12px; }
.v2 .crmk-vote-btn { background: none; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 3px; color: var(--v2-muted); font-size: 13px; font-family: 'Inter', sans-serif; padding: 0; transition: color 0.15s; }
.v2 .crmk-vote-btn:hover { color: var(--v2-purple); }
.v2 .crmk-vote-btn i { font-size: 14px; }
.v2 .crmk-vote-btn.vote-up:hover { color: #16a34a; }
.v2 .crmk-vote-btn.vote-down:hover { color: #e11d48; }
.v2 .crmk-vote-btn.voted { color: var(--v2-purple); }
.v2 .crmk-vote-btn.voted-down { color: #e74c3c; }

/* Row action */
.v2 .crmk-row-action { background: none; border: 1px solid var(--v2-border); border-radius: 6px; padding: 5px 14px; font-size: 12px; font-weight: 600; cursor: pointer; color: var(--v2-purple); font-family: 'Inter', sans-serif; transition: background 0.15s, border-color 0.15s; white-space: nowrap; text-decoration: none; display: inline-block; }
.v2 .crmk-row-action:hover { background: var(--v2-purple-light); border-color: var(--v2-purple-muted); text-decoration: none; color: var(--v2-purple); }

/* ── Mobile Cards (visible ≤768px only) ── */
.v2 .crmk-mobile-cards { display: none; }
.v2 .crmk-m-card { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; padding: 16px; margin-bottom: 12px; }
.v2 .crmk-m-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.v2 .crmk-m-card-top .crmk-vehicle-thumb { width: 52px; height: 40px; }
.v2 .crmk-m-card-info { flex: 1; min-width: 0; }
.v2 .crmk-m-card-info .crmk-vehicle-name { font-size: 15px; }
.v2 .crmk-m-card-info .crmk-vehicle-vin { margin-top: 1px; }
.v2 .crmk-m-card-price { text-align: right; font-weight: 700; font-size: 14px; flex-shrink: 0; }
.v2 .crmk-m-card-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; font-size: 13px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--v2-border); }
.v2 .crmk-m-card-meta-label { color: var(--v2-muted); font-weight: 500; }
.v2 .crmk-m-card-meta-value { text-align: right; }
.v2 .crmk-m-card-summary { font-size: 13px; color: var(--v2-muted); line-height: 1.4; margin-bottom: 12px; }
.v2 .crmk-m-card-footer { display: flex; align-items: center; justify-content: space-between; }
.v2 .crmk-m-card-footer .crmk-votes-cell { gap: 14px; }
.v2 .crmk-m-card-action { display: inline-block; background: transparent; color: var(--v2-purple); border: 1px solid var(--v2-border); border-radius: 8px; padding: 8px 20px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; text-decoration: none; }
.v2 .crmk-m-card-action:hover { border-color: var(--v2-purple-muted); text-decoration: none; color: var(--v2-purple); }

/* ── Table Footer / Pagination ── */
.v2 .crmk-table-footer { display: flex; justify-content: space-between; align-items: center; padding: 0 4px; }
.v2 .crmk-table-footer-info { font-size: 13px; color: var(--v2-muted); }
.v2 .crmk-pagination { display: flex; justify-content: center; gap: 6px; }

/* ── Empty State ── */
.v2 .crmk-empty { text-align: center; padding: 60px 24px; background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; }
.v2 .crmk-empty i { font-size: 40px; color: var(--v2-purple-muted); opacity: 0.35; display: block; margin-bottom: 16px; }
.v2 .crmk-empty h3 { font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.v2 .crmk-empty p { color: var(--v2-muted); font-size: 13px; margin: 0; }

/* ── Purchase Modal ── */
.v2 .crmk-modal-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--v2-purple-light); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; color: var(--v2-purple); font-size: 20px; }
.v2 .crmk-modal-title { font-family: 'Inter', sans-serif; font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.v2 .crmk-modal-body { color: var(--v2-muted); font-size: 14px; margin-bottom: 24px; line-height: 1.5; }
.v2 .crmk-modal-btns { display: flex; gap: 10px; justify-content: center; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .v2 .crmk-search-bar { flex-direction: column; }
    .v2 .crmk-search-wrap { min-width: 100%; }
    .v2 .crmk-filter-select { width: 100%; }
    .v2 .crmk-filter-row.show { grid-template-columns: repeat(2, 1fr); }
    .v2 .crmk-table-wrap { display: none; }
    .v2 .crmk-mobile-cards { display: block; }
    .v2 .crmk-table-footer { flex-direction: column; gap: 12px; }
}
@media (max-width: 480px) {
    .v2 .crmk-stat { padding: 3px 10px; font-size: 12px; }
    .v2 .crmk-tab-item { padding: 8px 14px; font-size: 12px; }
    .v2 .crmk-filter-row.show { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   Collab Profile Page  (cpp-)
   Page: /Community-Collab/Condition-Report-Collab/Profile
   ═══════════════════════════════════════════════════════════ */

/* ── Neutralise legacy .crmp-page styles ── */
.v2 .cpp-page.crmp-page {
    background: transparent !important;
}

/* ── Header actions ── */
.v2 .cpp-header-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; margin-top: 14px; }

/* ── Stat strip ── */
.v2 .cpp-stat-strip { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 12px !important; margin-bottom: 20px; }
.v2 .cpp-stat-box { background: #fff !important; border: 1px solid var(--v2-border) !important; border-radius: 14px !important; padding: 18px 20px !important; }
.v2 .cpp-stat-box .cpp-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--v2-muted); margin-bottom: 4px; }
.v2 .cpp-stat-box .cpp-big { font-weight: 800; font-size: 24px; line-height: 1.2; }
.v2 .cpp-stat-box .cpp-big.cpp-green { color: #16a34a; }
.v2 .cpp-stat-box .cpp-sub { font-size: 12px; color: var(--v2-muted); margin-top: 2px; }

/* ── Tab bar ── */
.v2 .cpp-tab-bar { display: flex; gap: 0; border-bottom: 1px solid var(--v2-border); margin-bottom: 20px; overflow-x: auto; }
.v2 .cpp-tab-item { padding: 10px 20px; font-size: 13px; font-weight: 600; color: var(--v2-muted); background: none; border: none; border-bottom: 2px solid transparent; cursor: pointer; font-family: 'Inter', sans-serif; transition: color .15s, border-color .15s; white-space: nowrap; }
.v2 .cpp-tab-item:hover { color: var(--v2-text); }
.v2 .cpp-tab-item.active { color: var(--v2-purple); border-bottom-color: var(--v2-purple); }
.v2 .cpp-tab-count { background: var(--v2-purple-light); color: var(--v2-purple); border-radius: 999px; padding: 1px 7px; font-size: 11px; font-weight: 700; margin-left: 6px; }
.v2 .cpp-tab-item.active .cpp-tab-count { background: var(--v2-purple); color: #fff; }

/* ── Tab panels ── */
.v2 .cpp-tab-panel { display: none; }
.v2 .cpp-tab-panel.active { display: block; }
.v2 .cpp-placeholder-msg { text-align: center; padding: 60px 20px; color: var(--v2-muted); font-size: 14px; }

/* ── Search bar ── */
.v2 .cpp-search-bar { display: flex !important; flex-direction: row !important; gap: 10px !important; margin-bottom: 20px; align-items: center; flex-wrap: nowrap !important; }
.v2 .cpp-search-wrap { position: relative; flex: 1 !important; min-width: 200px; }
.v2 .cpp-search-wrap .cpp-search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--v2-muted); font-size: 14px; pointer-events: none; }
.v2 .cpp-search-input { width: 100%; background: #fff; border: 1px solid var(--v2-border); border-radius: 8px; padding: 9px 12px 9px 36px; font-size: 14px; font-family: 'Inter', sans-serif; color: var(--v2-text); outline: none; transition: border-color .15s; }
.v2 .cpp-search-input:focus { border-color: var(--v2-purple-muted); }
.v2 .cpp-search-input::placeholder { color: var(--v2-muted); }
.v2 .cpp-filter-select { background: #fff; border: 1px solid var(--v2-border); border-radius: 8px; padding: 9px 32px 9px 12px; font-size: 13px; font-family: 'Inter', sans-serif; color: var(--v2-text); outline: none; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a6a7a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; cursor: pointer; }

/* ── Table ── */
.v2 .cpp-table-wrap { display: block !important; background: #fff !important; border: 1px solid var(--v2-border) !important; border-radius: 14px !important; overflow: hidden !important; margin-bottom: 24px; }
.v2 .cpp-table { width: 100% !important; border-collapse: collapse !important; font-size: 14px; display: table !important; }
.v2 .cpp-table thead th { text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--v2-muted); padding: 14px 16px; border-bottom: 1px solid var(--v2-border); background: var(--v2-bg); white-space: nowrap; }
.v2 .cpp-table tbody tr { border-bottom: 1px solid var(--v2-border); transition: background .1s; }
.v2 .cpp-table tbody tr:last-child { border-bottom: none; }
.v2 .cpp-table tbody tr:hover { background: var(--v2-purple-light); }
.v2 .cpp-table td { padding: 14px 16px; vertical-align: middle; }

/* Vehicle cell */
.v2 .cpp-vehicle-cell { display: flex; align-items: center; gap: 12px; }
.v2 .cpp-vehicle-thumb { width: 48px; height: 36px; border-radius: 6px; background: #e8e6f0; flex-shrink: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.v2 .cpp-vehicle-thumb img { width: 100%; height: 100%; object-fit: cover; }
.v2 .cpp-vehicle-thumb .cpp-thumb-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.v2 .cpp-vehicle-thumb .cpp-thumb-placeholder img { width: 28px; height: auto; opacity: 0.5; }
.v2 .cpp-vehicle-name { font-weight: 600; font-size: 14px; line-height: 1.3; display: block; }
.v2 .cpp-vehicle-vin { font-size: 11px; color: var(--v2-muted); font-family: 'SF Mono', 'Menlo', monospace; letter-spacing: 0.02em; display: block; }

/* Status badges */
.v2 .cpp-status-badge { font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.03em; display: inline-block; }
.v2 .cpp-status--published { background: #d1fae5; color: #047857; }
.v2 .cpp-status--pending { background: #fef3c7; color: #92400e; }
.v2 .cpp-status--rejected { background: #fee2e2; color: #991b1b; }
.v2 .cpp-status--draft { background: var(--v2-purple-light); color: #4a3a8a; }
.v2 .cpp-status--archived { background: #e5e7eb; color: #4b5563; }

/* Price */
.v2 .cpp-price { font-weight: 700; font-size: 13px; }
.v2 .cpp-price--free { color: #16a34a; }
.v2 .cpp-price--paid { color: var(--v2-purple); }

/* Votes */
.v2 .cpp-votes-cell { display: flex; align-items: center; gap: 10px; }
.v2 .cpp-vote-display { display: inline-flex; align-items: center; gap: 3px; font-size: 13px; color: var(--v2-muted); }
.v2 .cpp-vote-display i { font-size: 13px; }
.v2 .cpp-vote-up { color: var(--v2-purple); }
.v2 .cpp-vote-down { color: var(--v2-purple-muted); }

/* Row actions */
.v2 .cpp-row-actions { display: flex; gap: 6px; }
.v2 .cpp-row-action { background: none; border: 1px solid var(--v2-border); border-radius: 6px; padding: 5px 12px; font-size: 12px; font-weight: 600; cursor: pointer; color: var(--v2-purple); font-family: 'Inter', sans-serif; transition: background .15s; white-space: nowrap; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.v2 .cpp-row-action:hover { background: var(--v2-purple-light); border-color: var(--v2-purple-muted); text-decoration: none; color: var(--v2-purple); }

/* Date */
.v2 .cpp-date-cell { font-size: 13px; color: var(--v2-muted); white-space: nowrap; }
.v2 .cpp-muted { color: var(--v2-muted); }

/* ── Mobile cards ── */
.v2 .cpp-mobile-cards { display: none !important; }
.v2 .cpp-m-card { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; padding: 16px; margin-bottom: 12px; }
.v2 .cpp-m-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.v2 .cpp-m-card-top .cpp-vehicle-thumb { width: 52px; height: 40px; }
.v2 .cpp-m-card-info { flex: 1; min-width: 0; }
.v2 .cpp-m-card-info .cpp-vehicle-name { font-size: 15px; }
.v2 .cpp-m-card-status { flex-shrink: 0; }
.v2 .cpp-m-card-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; font-size: 13px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--v2-border); }
.v2 .cpp-m-card-meta-label { color: var(--v2-muted); font-weight: 500; }
.v2 .cpp-m-card-meta-value { text-align: right; }
.v2 .cpp-m-card-footer { display: flex; align-items: center; justify-content: space-between; }
.v2 .cpp-m-card-footer .cpp-votes-cell { gap: 12px; }
.v2 .cpp-m-card-actions { display: flex; gap: 6px; }

/* ── Table footer / pagination ── */
.v2 .cpp-table-footer { display: flex; justify-content: space-between; align-items: center; padding: 0 4px; margin-top: 20px; }
.v2 .cpp-table-footer-info { font-size: 13px; color: var(--v2-muted); }
.v2 .cpp-pagination { display: flex; gap: 4px; }
.v2 .cpp-pagination .page-item .page-link,
.v2 .cpp-pagination .page-link { min-width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; border: 1px solid var(--v2-border); background: #fff; color: var(--v2-text); font-size: 13px; font-family: 'Inter', sans-serif; cursor: pointer; transition: background .15s; padding: 0 8px; text-decoration: none; }
.v2 .cpp-pagination .page-item .page-link:hover,
.v2 .cpp-pagination .page-link:hover { background: var(--v2-purple-light); text-decoration: none; }
.v2 .cpp-pagination .page-item.active .page-link { background: var(--v2-purple); color: #fff; border-color: var(--v2-purple); }
.v2 .cpp-pagination .page-item.disabled .page-link { opacity: 0.4; cursor: default; }

/* ── Empty state ── */
.v2 .cpp-empty-state { text-align: center; padding: 60px 20px; color: var(--v2-muted); font-size: 14px; }
.v2 .cpp-empty-state i { font-size: 32px; margin-bottom: 12px; display: block; opacity: 0.4; }
.v2 .cpp-empty-state p { margin-top: 8px; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .v2 .cpp-stat-strip { grid-template-columns: repeat(2, 1fr); }
    .v2 .cpp-search-bar { flex-direction: column !important; flex-wrap: wrap !important; }
    .v2 .cpp-search-wrap { min-width: 100% !important; }
    .v2 .cpp-filter-select { width: 100% !important; }
    .v2 .cpp-table-wrap { display: none !important; }
    .v2 .cpp-mobile-cards { display: block !important; }
    .v2 .cpp-table-footer { flex-direction: column; gap: 12px; }
}
@media (max-width: 480px) {
    .v2 .cpp-stat-strip { grid-template-columns: 1fr; }
    .v2 .cpp-tab-item { padding: 8px 14px; font-size: 12px; }
    .v2 .cpp-header-actions { flex-direction: column; }
    .v2 .cpp-header-actions .v2-btn,
    .v2 .cpp-header-actions .primary-action { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════
   CRV — Condition Report View (detail/show page)
   Prefix: crv-
   ═══════════════════════════════════════════════════════════ */

.v2 .crv-page { max-width: 900px; margin: 0 auto; padding: 32px 24px 64px; }

/* Action bar */
.v2 .crv-action-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }

/* Header */
.v2 .crv-header { display: flex; gap: 28px; margin-bottom: 28px; }
.v2 .crv-cover { width: 380px; min-width: 280px; height: 300px; border-radius: 14px; object-fit: cover; background: #e0ddf0; flex-shrink: 0; }
.v2 .crv-header-info { display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.v2 .crv-title { font-family: 'Inter', sans-serif; font-size: 28px; font-weight: 800; margin: 0; }
.v2 .crv-tldr { color: var(--v2-muted); font-size: 14px; margin-bottom: 8px; }
.v2 .crv-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.v2 .crv-badge { padding: 5px 14px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.v2 .crv-badge--country { background: var(--v2-purple-light); color: var(--v2-purple); }
.v2 .crv-badge--price { background: rgba(52,211,153,0.12); color: #059669; }
.v2 .crv-badge--free { background: var(--v2-purple-light); color: var(--v2-purple); }

/* Version dropdown */
.v2 .crv-version-dropdown { margin-top: 8px; }
.v2 .crv-version-dropdown .dropdown-toggle { font-size: 13px; padding: 6px 14px; border-radius: 8px; background: var(--v2-purple-light); color: var(--v2-purple); border: 1px solid var(--v2-border); font-weight: 600; }
.v2 .crv-version-dropdown .dropdown-menu { border-radius: 10px; border: 1px solid var(--v2-border); box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.v2 .crv-version-dropdown .dropdown-item { font-size: 13px; padding: 8px 16px; }
.v2 .crv-version-dropdown .dropdown-item.active { background: var(--v2-purple-light); color: var(--v2-purple); }

/* Cards */
.v2 .crv-card { background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; padding: 24px; margin-bottom: 20px; }
.v2 .crv-card-title { font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 800; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.v2 .crv-card-title i { color: var(--v2-purple-muted); font-size: 18px; }

/* Info grids */
.v2 .crv-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; }
.v2 .crv-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px 32px; }
.v2 .crv-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--v2-muted); margin-bottom: 2px; }
.v2 .crv-value { font-weight: 600; font-size: 15px; }
.v2 .crv-value a { color: var(--v2-purple); text-decoration: none; }
.v2 .crv-value a:hover { text-decoration: underline; }

/* Assessment sections */
.v2 .crv-assess-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.v2 .crv-expand-btn { background: var(--v2-purple-light); color: var(--v2-purple); border: none; padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; }
.v2 .crv-expand-btn:hover { background: #e0dbf5; }

.v2 .crv-assess-item { border: 1px solid var(--v2-border); border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.v2 .crv-assess-item-header { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; cursor: pointer; user-select: none; transition: background 0.15s; }
.v2 .crv-assess-item-header:hover { background: #faf9ff; }
.v2 .crv-assess-name { font-weight: 600; font-size: 14px; }

/* Condition badges */
.v2 .crv-cond { padding: 3px 12px; border-radius: 20px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; }
.v2 .crv-cond--excellent { background: rgba(52,211,153,0.12); color: #34d399; }
.v2 .crv-cond--good { background: rgba(96,165,250,0.12); color: #60a5fa; }
.v2 .crv-cond--fair { background: rgba(251,191,36,0.12); color: #fbbf24; }
.v2 .crv-cond--poor { background: rgba(248,113,113,0.12); color: #f87171; }

.v2 .crv-assess-toggle { background: none; border: none; color: var(--v2-muted); cursor: pointer; padding: 4px; font-size: 14px; transition: transform 0.2s; }
.v2 .crv-assess-item.is-collapsed .crv-assess-toggle i { transform: rotate(0deg); }
.v2 .crv-assess-item:not(.is-collapsed) .crv-assess-toggle i { transform: rotate(180deg); }

/* Assessment body (collapsed by default) */
.v2 .crv-assess-body { display: none; padding: 0 18px 18px; border-top: 1px solid var(--v2-border); }
.v2 .crv-assess-item:not(.is-collapsed) .crv-assess-body { display: block; }
.v2 .crv-sect-label { font-size: 11px; font-weight: 600; text-transform: uppercase; color: var(--v2-muted); margin-top: 14px; margin-bottom: 4px; }
.v2 .crv-assess-text { font-size: 14px; color: var(--v2-text); margin: 0; }

/* Thumbnail grid */
.v2 .crv-thumb-grid { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.v2 .crv-thumb { width: 80px; height: 60px; border-radius: 8px; object-fit: cover; cursor: pointer; transition: opacity 0.15s; }
.v2 .crv-thumb:hover { opacity: 0.75; }

/* Additional details */
.v2 .crv-detail-block { margin-bottom: 16px; }
.v2 .crv-detail-block:last-child { margin-bottom: 0; }
.v2 .crv-detail-block h4 { font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.v2 .crv-detail-block p { font-size: 14px; color: var(--v2-muted); margin: 0; }

/* PDF viewer */
.v2 .crv-pdf-viewer iframe { border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.v2 .crv-pdf-actions { display: flex; gap: 12px; margin-top: 16px; }

/* Admin actions */
.v2 .crv-admin-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; padding: 16px; background: #fff; border: 1px solid var(--v2-border); border-radius: 14px; }

/* Image modal */
.v2 .crv-modal { position: fixed; inset: 0; z-index: 1050; background: rgba(15,15,20,0.7); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; }
.v2 .crv-modal-content { position: relative; max-width: 90vw; max-height: 90vh; }
.v2 .crv-modal-image { max-width: 100%; max-height: 90vh; border-radius: 14px; display: block; }
.v2 .crv-modal-close { position: absolute; top: -40px; right: 0; background: rgba(255,255,255,0.15); border: none; color: #fff; width: 36px; height: 36px; border-radius: 50%; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.v2 .crv-modal-close:hover { background: rgba(255,255,255,0.25); }

/* Buttons (view page specific) */
.v2 .crv-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 20px; border-radius: 8px; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; border: none; text-decoration: none; transition: transform 0.15s, box-shadow 0.15s; }
.v2 .crv-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.v2 .crv-btn--primary { background: var(--v2-purple); color: #fff; }
.v2 .crv-btn--primary:hover { background: var(--v2-purple-hover); color: #fff; text-decoration: none; }
.v2 .crv-btn--outline { background: transparent; color: var(--v2-muted); border: 1px solid var(--v2-border); }
.v2 .crv-btn--outline:hover { color: var(--v2-text); text-decoration: none; }

/* ── CRV Responsive ──────────────────────────────────── */
@media (max-width: 768px) {
    .v2 .crv-header { flex-direction: column; }
    .v2 .crv-cover { width: 100%; height: 220px; min-width: unset; }
    .v2 .crv-grid-3 { grid-template-columns: 1fr 1fr; }
    .v2 .crv-modal-content { width: 90vw; }
}
@media (max-width: 480px) {
    .v2 .crv-page { padding: 16px 12px 48px; }
    .v2 .crv-grid-2 { grid-template-columns: 1fr; }
    .v2 .crv-grid-3 { grid-template-columns: 1fr; }
    .v2 .crv-title { font-size: 22px; }
    .v2 .crv-action-bar { flex-wrap: wrap; gap: 8px; }
    .v2 .crv-thumb { width: 64px; height: 48px; }
    .v2 .crv-pdf-actions { flex-direction: column; }
    .v2 .crv-admin-actions { flex-direction: column; }
}

/* ═══════════════════════════════════════════════════════════════
   CR Collab Admin — Access Requests (cra2- prefix)
   Page: /admin/setting/community-collab
   ═══════════════════════════════════════════════════════════════ */

/* ── Page wrapper ──────────────────────────────────────────── */
.v2 .cra2-page {
    font-family: 'Inter', sans-serif;
    color: var(--v2-text);
}

/* ── Stat cards ────────────────────────────────────────────── */
.v2 .cra2-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.v2 .cra2-stat {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    padding: 20px;
}

.v2 .cra2-stat-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--v2-muted);
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.v2 .cra2-stat-label i { font-size: 13px; }

.v2 .cra2-stat-value {
    font-size: 32px;
    font-weight: 800;
    color: var(--v2-text);
    line-height: 1;
    margin-bottom: 6px;
}

.v2 .cra2-stat-meta {
    font-size: 13px;
    color: var(--v2-muted);
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
}

.v2 .cra2-stat-meta.up { color: var(--v2-green); }
.v2 .cra2-stat-meta.down { color: #e74c3c; }

/* ── Section card ──────────────────────────────────────────── */
.v2 .cra2-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 14px;
    overflow: hidden;
}

/* ── Card header ───────────────────────────────────────────── */
.v2 .cra2-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--v2-border);
}

.v2 .cra2-card-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.v2 .cra2-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    background: var(--v2-purple-light);
    color: var(--v2-purple);
}

.v2 .cra2-card-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--v2-text);
    margin: 0 0 2px;
}

.v2 .cra2-card-subtitle {
    font-size: 13px;
    color: var(--v2-muted);
    margin: 0;
}

.v2 .cra2-card-header-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* ── Toolbar ───────────────────────────────────────────────── */
.v2 .cra2-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--v2-border);
    background: var(--v2-bg);
}

.v2 .cra2-toolbar-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.v2 .cra2-search-wrap {
    position: relative;
}

.v2 .cra2-search-wrap i {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--v2-muted);
    font-size: 13px;
    pointer-events: none;
}

.v2 .cra2-search-input {
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    padding: 7px 12px 7px 32px;
    font-size: 13px;
    color: var(--v2-text);
    background: #fff;
    width: 230px;
    outline: none;
    transition: border-color 0.2s;
    font-family: 'Inter', sans-serif;
}

.v2 .cra2-search-input:focus { border-color: var(--v2-purple); }

.v2 .cra2-filter-select {
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    padding: 7px 28px 7px 10px;
    font-size: 13px;
    color: var(--v2-text);
    background: #fff;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%236a6a7a' d='M5 7L0 2h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 9px center;
    outline: none;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    transition: border-color 0.2s;
}

.v2 .cra2-filter-select:focus { border-color: var(--v2-purple); }

.v2 .cra2-clear-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    color: var(--v2-text);
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 0.2s;
}

.v2 .cra2-clear-btn:hover { border-color: var(--v2-purple); color: var(--v2-purple); text-decoration: none; }

/* ── Table ─────────────────────────────────────────────────── */
.v2 .cra2-table-wrap { overflow-x: auto; }

.v2 .cra2-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 1100px;
}

.v2 .cra2-table thead { background: var(--v2-bg); border-bottom: 1px solid var(--v2-border); }

.v2 .cra2-table thead th {
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--v2-muted);
    text-align: left;
    white-space: nowrap;
    user-select: none;
    font-family: 'Inter', sans-serif;
}

.v2 .cra2-table thead th:first-child { width: 40px; padding-left: 20px; }
.v2 .cra2-table thead th:last-child { text-align: right; padding-right: 20px; }

.v2 .cra2-table tbody tr {
    border-bottom: 1px solid var(--v2-border);
    transition: background 0.12s;
}

.v2 .cra2-table tbody tr:last-child { border-bottom: none; }
.v2 .cra2-table tbody tr:hover { background: var(--v2-bg); }

.v2 .cra2-table tbody td {
    padding: 12px 14px;
    font-size: 13px;
    color: var(--v2-text);
    vertical-align: middle;
    font-family: 'Inter', sans-serif;
}

.v2 .cra2-table tbody td:first-child { padding-left: 20px; }
.v2 .cra2-table tbody td:last-child { text-align: right; padding-right: 20px; }

.v2 .cra2-col-sn { font-size: 13px; color: var(--v2-muted); font-weight: 500; }
.v2 .cra2-col-muted { font-size: 13px; color: var(--v2-muted); }

/* ── User cell ─────────────────────────────────────────────── */
.v2 .cra2-user {
    display: flex;
    align-items: center;
    gap: 9px;
}

.v2 .cra2-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
    background: var(--v2-purple);
}

.v2 .cra2-user-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-text);
    white-space: nowrap;
}

/* ── Status badges ─────────────────────────────────────────── */
.v2 .cra2-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    white-space: nowrap;
}

.v2 .cra2-badge--pending { color: #856404; background: #fff3cd; border: 1px solid #f0d78c; }
.v2 .cra2-badge--approved { color: var(--v2-green); background: #E9F9F1; border: 1px solid #b2e8cc; }
.v2 .cra2-badge--rejected { color: #e74c3c; background: #FDECEA; border: 1px solid #f5b7b1; }

/* ── Earnings cells ────────────────────────────────────────── */
.v2 .cra2-earning { cursor: pointer; color: var(--v2-purple); text-decoration: underline; font-size: 13px; }
.v2 .cra2-earning:hover { color: var(--v2-purple-hover); }
.v2 .cra2-earning-zero { color: var(--v2-muted); font-size: 13px; }
.v2 .cra2-unsettled { color: #e67e22; font-size: 13px; font-weight: 600; }
.v2 .cra2-settled { color: var(--v2-green); font-size: 13px; }

/* ── Row actions ───────────────────────────────────────────── */
.v2 .cra2-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}

.v2 .cra2-action-btn {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.15s;
}

.v2 .cra2-action-btn:hover { background: var(--v2-bg); }
.v2 .cra2-action-btn--approve { color: var(--v2-green); }
.v2 .cra2-action-btn--reject { color: #e74c3c; }
.v2 .cra2-action-btn--revoke { color: #e67e22; }

/* ── Empty state ───────────────────────────────────────────── */
.v2 .cra2-empty {
    text-align: center;
    padding: 48px 20px;
    color: var(--v2-muted);
    font-size: 15px;
}

.v2 .cra2-empty i { font-size: 32px; margin-bottom: 12px; display: block; opacity: 0.4; }

/* ── Pagination ────────────────────────────────────────────── */
.v2 .cra2-pagination {
    padding: 16px 20px;
    border-top: 1px solid var(--v2-border);
}

/* ── Confirm modal ─────────────────────────────────────────── */
.v2 .cra2-modal-content {
    border-radius: 14px;
    border: none;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.v2 .cra2-modal-heading {
    font-size: 15px;
    font-weight: 700;
    color: var(--v2-text);
    font-family: 'Inter', sans-serif;
}

.v2 .cra2-modal-body {
    font-size: 13px;
    color: var(--v2-muted);
    font-family: 'Inter', sans-serif;
}

.v2 .cra2-modal-btn {
    font-size: 13px;
    padding: 8px 20px;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
}

/* ── Toast ─────────────────────────────────────────────────── */
.v2 .cra2-toast-stack {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 768px) {
    .v2 .cra2-stats { grid-template-columns: repeat(2, 1fr); }
    .v2 .cra2-card-header { padding: 14px 16px; }
    .v2 .cra2-toolbar { padding: 12px 16px; }
    .v2 .cra2-search-input { width: 100%; }
    .v2 .cra2-toolbar-left { width: 100%; }
}

@media (max-width: 480px) {
    .v2 .cra2-stats { grid-template-columns: 1fr; }
    .v2 .cra2-stat { padding: 16px; }
    .v2 .cra2-stat-value { font-size: 24px; }
}

/* ========================================================================
   CREATE CUSTOM REMINDER (crcr-*)
   /consoler/custom-reminder/create
   ======================================================================== */

/* Legacy neutralisation */
.v2 .create-reminder-main-container .main-wrapper,
.v2 .create-reminder-main-container .main-wrapper .form-card,
.v2 .create-reminder-main-container .main-wrapper .form-label,
.v2 .create-reminder-main-container .main-wrapper .form-label i,
.v2 .create-reminder-main-container .main-wrapper .form-input,
.v2 .create-reminder-main-container .main-wrapper .form-select,
.v2 .create-reminder-main-container .main-wrapper .section-divider,
.v2 .create-reminder-main-container .main-wrapper .button-group,
.v2 .create-reminder-main-container .main-wrapper .btn-modern,
.v2 .create-reminder-main-container .main-wrapper .btn-outline-modern,
.v2 .create-reminder-main-container .main-wrapper .alert.alert-warning,
.v2 .create-reminder-main-container .main-wrapper .alert .warning-icon,
.v2 .create-reminder-main-container .main-wrapper .glass-select {
    all: revert;
}

/* Back link */
.crcr-back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--v2-muted);
    text-decoration: none;
    margin-bottom: 6px;
}
.crcr-back:hover { color: var(--v2-purple); text-decoration: none; }

/* Form card */
.crcr-card {
    background: #fff;
    border: 1px solid var(--v2-border);
    border-radius: 10px;
    padding: 22px 24px;
    margin-top: 12px;
}

/* Sections */
.crcr-section { margin-bottom: 0; }
.crcr-section-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--v2-text);
    margin: 0 0 10px;
    font-family: 'Inter', sans-serif;
}

.crcr-divider {
    height: 1px;
    background: var(--v2-border);
    margin: 18px 0;
}

/* Form grid */
.crcr-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.crcr-field { display: flex; flex-direction: column; }

.crcr-label {
    font-size: 11px;
    font-weight: 500;
    color: var(--v2-muted);
    margin-bottom: 4px;
}

.crcr-input {
    font-size: 12px;
    font-family: 'Inter', sans-serif;
    color: var(--v2-text);
    padding: 7px 10px;
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    background: #fff;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
}
.crcr-input::placeholder { color: var(--v2-muted); }
.crcr-input:focus {
    border-color: var(--v2-purple);
    box-shadow: 0 0 0 3px rgba(97, 67, 228, 0.08);
}

select.crcr-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236a6a7a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
    cursor: pointer;
}

/* Action buttons */
.crcr-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}

.crcr-btn-submit {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #fff;
    background: var(--v2-purple);
    border: 1px solid var(--v2-purple);
    border-radius: 7px;
    padding: 7px 14px;
    cursor: pointer;
    transition: background 0.2s;
}
.crcr-btn-submit:hover { background: var(--v2-purple-hover); }

/* Notice */
.crcr-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: var(--v2-purple-light);
    border: 1px solid var(--v2-border);
    border-radius: 8px;
    padding: 10px 14px;
    margin-top: 14px;
    font-size: 11px;
    color: var(--v2-text);
    line-height: 1.5;
}

/* Loading overlay */
.crcr-loading {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,0.85);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
.crcr-loading-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--v2-text);
    font-weight: 500;
}
.crcr-spinner {
    width: 28px; height: 28px;
    border: 2.5px solid var(--v2-border);
    border-top-color: var(--v2-purple);
    border-radius: 50%;
    animation: crcr-spin 0.7s linear infinite;
}
@keyframes crcr-spin { to { transform: rotate(360deg); } }

/* Result modal — redesigned */
.v2 .crcr-page #matchResultModal .modal-dialog {
    max-width: min(400px, calc(100vw - 32px));
    margin: auto;
}
.v2 .crcr-page #matchResultModal .modal-content {
    border: 1px solid var(--v2-border);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10);
    overflow: hidden;
}
.v2 .crcr-page #matchResultModal .modal-header {
    border-bottom: 1px solid var(--v2-border);
    padding: 14px 18px;
    background: #fff;
}
.v2 .crcr-page #matchResultModal .modal-title {
    font-size: 14px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    color: var(--v2-text);
    display: flex;
    align-items: center;
    gap: 6px;
}
.v2 .crcr-page #matchResultModal .modal-title i { font-size: 14px; color: var(--v2-purple-muted); }
.v2 .crcr-page #matchResultModal .modal-body {
    padding: 24px 18px;
    text-align: center;
}
.v2 .crcr-page #matchResultModal .modal-body .match-found,
.v2 .crcr-page #matchResultModal .modal-body .reminder-saved {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.v2 .crcr-page #matchResultModal .modal-body .match-found .icon,
.v2 .crcr-page #matchResultModal .modal-body .reminder-saved .icon {
    font-size: 32px;
    margin-bottom: 4px;
}
.v2 .crcr-page #matchResultModal .modal-body .match-found .icon { color: #34d399; }
.v2 .crcr-page #matchResultModal .modal-body .reminder-saved .icon { color: var(--v2-purple-muted); }
.v2 .crcr-page #matchResultModal .modal-body h5 {
    font-size: 15px;
    font-weight: 700;
    color: var(--v2-text);
    margin: 0;
    font-family: 'Inter', sans-serif;
}
.v2 .crcr-page #matchResultModal .modal-body p {
    font-size: 12px;
    color: var(--v2-muted);
    margin: 0;
    line-height: 1.5;
}
.v2 .crcr-page #matchResultModal .modal-footer {
    border-top: 1px solid var(--v2-border);
    padding: 12px 18px;
    background: #fff;
    justify-content: center;
}
.v2 .crcr-page #matchResultModal .modal-footer .btn {
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    background: var(--v2-purple);
    border: none;
    border-radius: 7px;
    padding: 7px 18px;
    color: #fff;
    text-decoration: none;
}
.v2 .crcr-page #matchResultModal .modal-footer .btn:hover { background: var(--v2-purple-hover); }

/* Responsive */
@media (max-width: 768px) {
    .crcr-grid { grid-template-columns: 1fr; }
    .crcr-card { padding: 18px 16px; }
    .crcr-actions { flex-direction: column; }
    .crcr-actions a,
    .crcr-actions button { width: 100%; justify-content: center; }
    .v2 .crcr-page #matchResultModal .modal-dialog { max-width: calc(100vw - 24px); }
}

@media (max-width: 480px) {
    .crcr-card { padding: 16px 14px; border-radius: 8px; }
    .v2 .crcr-page #matchResultModal .modal-dialog { max-width: calc(100vw - 16px); }
    .v2 .crcr-page #matchResultModal .modal-body { padding: 20px 14px; }
}

@media (max-height: 500px) {
    .v2 .crcr-page #matchResultModal .modal-dialog { margin: 16px auto; }
    .v2 .crcr-page #matchResultModal .modal-body { padding: 16px 14px; }
    .v2 .crcr-page #matchResultModal .modal-body .match-found .icon,
    .v2 .crcr-page #matchResultModal .modal-body .reminder-saved .icon { font-size: 24px; }
}

/* =============================================
   RTD — Retail Direct (dark promo card)
   ============================================= */

/* Legacy neutralisation */
.v2 .rtd-wrapper .dashboard-card,
.v2 .rtd-wrapper .card-circle { all: revert; }

.v2 .rtd-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 360px;
    padding: 40px 20px;
}

.v2 .rtd-card {
    position: relative;
    overflow: hidden;
    background: #0f0f14;
    border-radius: 16px;
    padding: 56px 40px;
    text-align: center;
    max-width: 520px;
    width: 100%;
}

.v2 .rtd-glow-tl,
.v2 .rtd-glow-br,
.v2 .rtd-glow-center {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.v2 .rtd-glow-tl {
    width: 260px; height: 260px;
    top: -80px; left: -60px;
    background: radial-gradient(circle, rgba(97,67,228,0.25) 0%, transparent 70%);
}

.v2 .rtd-glow-br {
    width: 220px; height: 220px;
    bottom: -60px; right: -40px;
    background: radial-gradient(circle, rgba(97,67,228,0.18) 0%, transparent 70%);
}

.v2 .rtd-glow-center {
    width: 300px; height: 300px;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(97,67,228,0.08) 0%, transparent 60%);
}

.v2 .rtd-icon {
    width: 52px; height: 52px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    background: rgba(255,255,255,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    color: rgba(255,255,255,0.7);
}

.v2 .rtd-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 10px;
    line-height: 1.3;
}

.v2 .rtd-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.55);
    line-height: 1.6;
    max-width: 380px;
    margin: 0 auto;
}

@media (max-width: 480px) {
    .v2 .rtd-card { padding: 40px 24px; }
    .v2 .rtd-title { font-size: 16px; }
}

/* =========================================================
   Mock Auction View — mauv-* prefix
   Standalone page, loaded via <link> (not inside .v2 wrapper)
   ========================================================= */

/* Layout: sidebar + main */
.mauv-layout {
    display: flex;
    min-height: 100vh;
    background: #f8f7fc;
}

/* --- Sidebar --- */
.mauv-sidebar {
    width: 300px;
    min-width: 300px;
    background: #1e1b2e;
    color: #e2e0ec;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.mauv-sidebar-header {
    padding: 16px 16px 0;
}

.mauv-tab-nav {
    display: flex;
    gap: 4px;
    background: rgba(255,255,255,0.06);
    border-radius: 8px;
    padding: 3px;
}

.mauv-tab {
    flex: 1;
    text-align: center;
    padding: 8px 0;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.2s;
}

.mauv-tab.is-active {
    background: var(--v2-purple, #6143e4);
    color: #fff;
}

.mauv-sidebar-divider {
    height: 1px;
    background: rgba(255,255,255,0.08);
    margin: 12px 16px;
}

.mauv-tab-content {
    flex: 1;
    overflow-y: auto;
    padding: 0 12px 16px;
}

.mauv-tab-pane {
    display: none;
}

.mauv-tab-pane.is-active {
    display: block;
}

.mauv-item {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 4px;
    text-decoration: none;
    color: rgba(255,255,255,0.7);
    transition: background 0.15s;
}

.mauv-item:hover {
    background: rgba(255,255,255,0.06);
    color: #fff;
}

.mauv-item.is-current {
    background: rgba(97,67,228,0.2);
    border-left: 3px solid var(--v2-purple, #6143e4);
    color: #fff;
}

.mauv-item-title {
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 4px;
    line-height: 1.4;
}

.mauv-item-time {
    font-size: 11px;
    color: rgba(255,255,255,0.4);
    margin: 0;
}

.mauv-empty-list {
    font-size: 12px;
    color: rgba(255,255,255,0.35);
    text-align: center;
    padding: 20px 0;
}

/* --- Overlay (mobile sidebar) --- */
.mauv-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 1000;
}

.mauv-overlay.is-open {
    display: block;
}

/* --- Main area --- */
.mauv-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.mauv-topbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border-bottom: 1px solid var(--v2-border, #e5e2f0);
    background: #fff;
}

.mauv-hamburger {
    display: none;
    background: none;
    border: 1px solid var(--v2-border, #e5e2f0);
    border-radius: 6px;
    padding: 6px;
    cursor: pointer;
    color: var(--v2-muted, #6b7280);
}

.mauv-breadcrumb {
    font-size: 12px;
    color: var(--v2-muted, #6b7280);
}

.mauv-content {
    flex: 1;
    padding: 24px;
    overflow-y: auto;
}

/* --- Main card (image + details) --- */
.mauv-card {
    background: #fff;
    border: 1px solid var(--v2-border, #e5e2f0);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.mauv-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

/* Image slider */
.mauv-images {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: #f3f0fb;
    min-height: 300px;
}

.mauv-slider {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 300px;
}

.mauv-slide {
    display: none;
    width: 100%;
    height: 100%;
}

.mauv-slide.is-active {
    display: block;
}

.mauv-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.mauv-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    background: #f3f0fb;
    border-radius: 10px;
}

.mauv-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.85);
    border: none;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1e1b2e;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    transition: background 0.15s;
    z-index: 2;
}

.mauv-slider-btn:hover {
    background: #fff;
}

.mauv-slider-prev { left: 12px; }
.mauv-slider-next { right: 12px; }

.mauv-slider-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 2;
}

.mauv-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    transition: background 0.2s;
}

.mauv-dot.is-active {
    background: #fff;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
}

/* Badges */
.mauv-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    z-index: 2;
}

.mauv-badge--live {
    top: 12px;
    left: 12px;
    background: #10b981;
    color: #fff;
}

.mauv-badge--ended {
    top: 12px;
    left: 12px;
    background: #ef4444;
    color: #fff;
}

.mauv-badge--type {
    top: 12px;
    right: 12px;
    background: rgba(30,27,46,0.75);
    color: #fff;
}

.mauv-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    animation: mauv-pulse 1.5s ease-in-out infinite;
}

@keyframes mauv-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* Details section */
.mauv-details {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mauv-title {
    font-size: 20px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    color: #1e1b2e;
    margin: 0;
    line-height: 1.35;
}

.mauv-info-box {
    background: #f0f4ff;
    border: 1px solid var(--v2-border, #e5e2f0);
    border-radius: 10px;
    padding: 14px;
    max-height: 400px;
    overflow: auto;
    word-break: break-word;
}

.mauv-info-box h3 {
    font-size: 13px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #1e1b2e;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--v2-border, #e5e2f0);
    display: flex;
    align-items: center;
    gap: 6px;
}

.mauv-info-box p {
    font-size: 12px;
    color: #3a3a49;
    line-height: 1.6;
    margin: 0;
}

/* Disclaimer */
.mauv-disclaimer {
    background: linear-gradient(135deg, rgba(255,193,7,0.1), rgba(255,193,7,0.04));
    border: 1px solid #e2e3e5;
    border-radius: 10px;
    padding: 14px;
    text-align: left;
}

.mauv-disclaimer--full {
    grid-column: 1 / -1;
}

.mauv-disclaimer h4 {
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    color: #806520;
    margin: 0 0 4px;
}

.mauv-disclaimer p {
    font-size: 12px;
    color: #806520;
    margin: 0;
    line-height: 1.5;
}

.mauv-disclaimer-icon {
    font-size: 14px;
}

/* --- Bottom section (bids + form) --- */
.mauv-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.mauv-bids-card,
.mauv-bid-form-card {
    background: #fff;
    border: 1px solid var(--v2-border, #e5e2f0);
    border-radius: 10px;
    padding: 20px;
}

.mauv-deadline-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #1e1b2e;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--v2-border, #e5e2f0);
}

.mauv-timer {
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
}

.mauv-timer--active {
    background: var(--v2-purple, #6143e4);
    color: #fff;
}

.mauv-timer--expired {
    background: #f3f4f6;
    color: var(--v2-muted, #6b7280);
}

.mauv-section-title {
    font-size: 13px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #1e1b2e;
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid var(--v2-border, #e5e2f0);
    padding-bottom: 10px;
    margin: 0 0 14px;
}

/* Bids list */
.mauv-bids-list {
    border: 1px solid #e5e7eb;
    padding: 10px;
    border-radius: 8px;
    overflow: auto;
    max-height: 340px;
}

.mauv-bids-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 12px;
    color: #3a3a49;
    font-family: 'Inter', sans-serif;
}

.mauv-bids-list li {
    padding: 6px 4px;
    border-bottom: 1px solid #e5e7eb;
}

.mauv-bids-list li:last-child {
    background: rgba(97,67,228,0.12);
    border-radius: 6px;
}

.mauv-bids-list li strong {
    font-weight: 600;
}

.mauv-bids-list li span {
    float: right;
    font-size: 11px;
    color: var(--v2-muted, #6b7280);
}

.mauv-bids-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 30px 15px;
}

.mauv-bids-empty h4 {
    font-size: 13px;
    font-weight: 600;
    color: #3a3a49;
    margin: 0;
}

/* Bid form */
.mauv-bid-form {
    margin-bottom: 18px;
}

.mauv-form-group {
    margin-bottom: 14px;
}

.mauv-form-label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    color: #374151;
    margin-bottom: 6px;
}

.mauv-input-wrap {
    display: flex;
}

.mauv-currency {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f6f9;
    font-size: 12px;
    padding: 8px 12px;
    border-radius: 8px 0 0 8px;
    border: 1px solid #ccc;
    border-right: none;
    font-family: 'Inter', sans-serif;
}

.mauv-bid-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #e5e7eb;
    border-radius: 0 8px 8px 0;
    font-size: 12px;
    font-family: 'Inter', sans-serif;
    transition: all 0.2s;
    box-sizing: border-box;
}

.mauv-bid-input:focus {
    outline: none;
    border-color: var(--v2-purple, #6143e4);
    box-shadow: 0 0 0 2px rgba(97,67,228,0.12);
}

.mauv-min-bid {
    font-size: 11px;
    color: var(--v2-muted, #6b7280);
    margin-top: 4px;
    font-family: 'Inter', sans-serif;
}

.mauv-bid-button {
    width: 100%;
    background: var(--v2-purple, #6143e4);
    color: #fff;
    padding: 11px;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.mauv-bid-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Quick bids */
.mauv-quick-bids {
    margin-top: 18px;
}

.mauv-quick-bids h4 {
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #374151;
    margin: 0 0 8px;
}

.mauv-quick-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.mauv-quick-btn {
    background: #f3f4f6;
    border: 2px solid #e5e7eb;
    color: #374151;
    padding: 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    transition: all 0.2s;
}

.mauv-quick-btn:hover {
    background: #e5e7eb;
    transform: translateY(-1px);
}

.mauv-quick-btn.active {
    background: #dbeafe;
    border-color: #3b82f6;
    color: #1d4ed8;
}

/* --- Empty state --- */
.mauv-empty {
    background: linear-gradient(135deg, var(--v2-purple, #6143e4) 0%, #7c5ce7 100%);
    border-radius: 12px;
    padding: 40px 24px;
    margin-bottom: 20px;
    color: #fff;
    box-shadow: 0 5px 15px rgba(97,67,228,0.2);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.mauv-empty h2 {
    font-size: 22px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    margin: 16px 0 8px;
}

.mauv-empty p {
    font-size: 14px;
    margin: 0;
    opacity: 0.8;
}

.mauv-empty-icon {
    height: 80px;
}

.mauv-empty-circle {
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
}

.mauv-empty-circle--1 {
    width: 150px;
    height: 150px;
    top: -50px;
    right: -50px;
}

.mauv-empty-circle--2 {
    width: 100px;
    height: 100px;
    bottom: -30px;
    left: 30%;
}

/* --- Responsive: Tablet --- */
@media (max-width: 1024px) {
    .mauv-sidebar {
        width: 260px;
        min-width: 260px;
    }

    .mauv-card-grid,
    .mauv-bottom {
        gap: 18px;
    }
}

/* --- Responsive: sidebar collapses --- */
@media (max-width: 1160px) {
    .mauv-hamburger {
        display: flex;
    }

    .mauv-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1001;
        transform: translateX(-100%);
        height: 100vh;
        width: 300px;
        box-shadow: 2px 0 8px rgba(0,0,0,0.1);
        transition: transform 0.25s ease;
    }

    .mauv-sidebar.is-open {
        transform: translateX(0);
    }

    .mauv-layout {
        display: block;
    }

    .mauv-card-grid,
    .mauv-bottom {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mauv-slider-btn {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }

    .mauv-slider-prev { left: 8px; }
    .mauv-slider-next { right: 8px; }

    .mauv-info-box {
        max-height: 280px;
    }

    .mauv-bids-list {
        max-height: 240px;
    }

    .mauv-deadline-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* --- Responsive: small mobile --- */
@media (max-width: 767px) {
    .mauv-content {
        padding: 14px;
    }

    .mauv-empty h2 {
        font-size: 18px;
    }

    .mauv-empty-icon {
        height: 56px;
    }
}

