@media (min-width: 1200px) {
    .container {
        max-width:1280px !important;
    }
}

.kpi-card {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(2, 6, 23, .04);
}

.kpi-card .hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 14px 8px;
}

.kpi-card .hd h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 900;
    color: #0f172a;
}

.kpi-card .badge {
    font-size: 11px;
    font-weight: 900;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: #304ffe;
    border: 1px solid rgba(48, 79, 254, .18);
}

.kpi-card .badge.ok {
    background: rgba(34, 197, 94, .12);
    color: #15803d;
    border-color: rgba(34, 197, 94, .18);
}

.kpi-card .badge.warn {
    background: rgba(245, 158, 11, .14);
    color: #b45309;
    border-color: rgba(245, 158, 11, .20);
}

.kpi-card .bd {
    padding: 8px 14px 14px;
}

.kpi-card .kpi {
    font-size: 28px;
    font-weight: 1000;
    letter-spacing: -.02em;
    color: #0f172a;
    line-height: 1;
}

.kpi-card .sub {
    margin-top: 8px;
    font-size: 12px;
    color: rgba(15, 23, 42, .65);
    line-height: 1.35;
}

.kpi-card .minirow {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.kpi-card .pill {
    font-size: 11px;
    font-weight: 900;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .04);
    border: 1px solid rgba(0, 0, 0, .06);
    color: #0f172a;
}

.kpi-card .pill b {
    font-weight: 1000;
}

/* Tarjeta vertical (mobile) */
.vh-m-card {
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.vh-m-top {
    position: relative;
    height: 140px;
    background: #f3f4f6;
}

.vh-m-thumb {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: blur(5px);
    opacity: .88;
}

.vh-m-top::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .22);
}

.vh-m-chip {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
}

.vh-m-lock {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 2;
    font-size: 11px;
    font-weight: 900;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
}

.vh-m-body {
    padding: 12px;
}

.vh-m-title {
    font-weight: 900;
    font-size: 13px;
    color: #1f2a37;
}

.vh-m-sub {
    font-size: 12px;
    color: #6b7280;
    margin-top: 4px;
}

.vh-m-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    font-size: 12px;
    color: #6b7280;
}

.vh-m-price {
    font-weight: 900;
    color: #df6999;
}

/* Ajuste del carousel para que no “brinque” */
#vehiculosCarousel .carousel-inner {
    padding-bottom: 8px;
}

#vehiculosCarousel .carousel-control-prev,
#vehiculosCarousel .carousel-control-next {
    width: 12%;
}

#vehiculosCarousel .carousel-control-prev-icon,
#vehiculosCarousel .carousel-control-next-icon {
    filter: invert(1);
    opacity: .65;
}

.price-card {
    height: 100%;
}

.price-box {
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, .06);
    background: #fff;
}

.price-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.price-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.price-title small {
    font-weight: 900;
    font-size: 13px;
    letter-spacing: .3px;
}

.price-icon {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(223, 105, 153, .12);
    color: #df6999;
    flex: 0 0 auto;
}

.price-metrics {
    margin-top: 14px;
}

.metric-label {
    font-size: 13px;
    color: #6c757d;
}

.metric-value {
    font-weight: 900;
    line-height: 1.05;
}

.metric-value.big {
    font-size: 28px;
}

.metric-value.mid {
    font-size: 20px;
}

.metric-muted {
    color: #adb5bd;
    font-weight: 800;
}

.divider-soft {
    height: 1px;
    background: rgba(0, 0, 0, .06);
    margin: 14px 0;
}

.delta-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 900;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .04);
    color: rgba(0, 0, 0, .70);
}

.delta-pill.up {
    background: rgba(220, 53, 69, .10);
    /* rojo suave */
    color: #b02a37;
}

.delta-pill.down {
    background: rgba(25, 135, 84, .10);
    /* verde suave */
    color: #0f5132;
}

.price-desc {
    margin-top: 12px;
    font-size: 12px;
    color: #6c757d;
    line-height: 1.45;
    font-weight: 800;
}

.reco-box {
    margin-top: 14px;
    padding: 12px;
    border-radius: 14px;
    background: rgba(0, 0, 0, .02);
    border: 1px solid rgba(0, 0, 0, .05);
}

.reco-title {
    font-size: 14px;
    font-weight: 900;
    margin: 0 0 2px 0;
}

.reco-text {
    font-size: 13px;
    color: #6c757d;
    margin: 0;
}

.btn-price {
    width: 100%;
    border-radius: 12px;
    font-weight: 900;
    padding: 10px 12px;
}

.btn-price.btn-primary {
    background: #df6999;
    border-color: #df6999;
}

.btn-price.btn-primary:hover {
    filter: brightness(.95);
}

/* ===== CTA Mejorar anuncio ===== */
.cta-upgrade {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px;
    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    background: #fff;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
    height: 100%
}

.cta-upgrade:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .10);
    background: rgba(0, 0, 0, .01);
    text-decoration: none;
    color: inherit
}

.cta-upgrade:active {
    transform: translateY(0);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .08)
}

.cta-upgrade__icon {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(223, 105, 153, .12);
    color: #df6999;
    flex: 0 0 auto
}

.cta-upgrade__title {
    font-weight: 900;
    font-size: 14px;
    line-height: 1.15;
    margin: 0
}

.cta-upgrade__sub {
    font-size: 12px;
    opacity: .75;
    margin-top: 2px;
    line-height: 1.25
}

.cta-pill {
    font-size: 11px;
    font-weight: 800;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .05);
    color: rgba(0, 0, 0, .70);
    display: inline-flex;
    align-items: center;
    gap: 6px
}

.cta-upgrade__arrow {
    font-size: 22px;
    opacity: .45;
    margin-left: 6px;
    flex: 0 0 auto
}

.cta-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 900;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 130, 4, .14);
    color: #ff8204;
    margin-bottom: 6px
}

/* ===== Base UI ===== */
:root {
    --bg: #f5f5f5;
    --card: #fff;
    --text: #1f2a37;
    --muted: #6b7280;
    --line: #e5e7eb;
    --primary: #304ffe;
    --ok: #16a34a;
    --warn: #f59e0b
}

body {
    background: var(--bg)
}

.ct-wrap {
    max-width: 1280px;
    margin: 24px auto;
    padding: 0 14px
}

.ct-header {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 14px
}

.ct-title h1 {
    margin: 0;
    font-size: 22px;
    color: var(--text);
    font-weight: 800
}

.ct-title p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 13px
}

.ct-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap
}

.ct-select {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    color: var(--text)
}

.ct-btn {
    background: var(--primary);
    border: none;
    color: #fff;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.ct-btn.secondary {
    background: #111827
}

.ct-btn.muted {
    background: #d8d8d8;
    color: #000;
}

.card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .04)
}

.card .hd {
    padding: 14px 14px 0;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.card .hd h3 {
    margin: 0;
    font-size: 13px;
    color: var(--muted);
    font-weight: 800;
    letter-spacing: .02em
}

.card .bd {
    padding: 14px
}

.kpi {
    font-size: 28px;
    font-weight: 900;
    color: var(--text);
    line-height: 1.05
}

.sub {
    margin-top: 6px;
    font-size: 12px;
    color: var(--muted)
}

.badge {
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: var(--primary)
}

.badge.ok {
    background: #dcfce7;
    color: var(--ok)
}

.badge.warn {
    background: #ffedd5;
    color: #9a3412
}

.progress {
    width: 100%;
    height: 12px;
    background: #eef2f7;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid var(--line)
}

.progress>div {
    height: 100%;
    background: linear-gradient(90deg, #304ffe, #16a34a);
    width: 0%
}

.hr {
    height: 1px;
    background: var(--line);
    margin: 12px 0
}

/* ===== Comparación promedios ===== */
.ct-avg-card {
    overflow: hidden
}

.ct-avg-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 14px 0
}

.ct-avg-title {
    margin: 0;
    font-size: 13px;
    color: var(--muted);
    font-weight: 900;
    letter-spacing: .02em
}

.ct-avg-body {
    padding: 14px
}

.ct-avg-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px
}

@media (max-width:991.98px) {
    .ct-avg-grid {
        grid-template-columns: 1fr
    }
}

.ct-avg-item {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fafafa;
    padding: 12px;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease
}

.ct-avg-item:hover {
    transform: translateY(-1px);
    background: #fff;
    box-shadow: 0 10px 18px rgba(0, 0, 0, .04)
}

.ct-avg-label {
    font-size: 12px;
    color: var(--muted);
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px
}

.ct-avg-value {
    margin-top: 8px;
    font-weight: 900;
    font-size: 18px;
    color: var(--text);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}

.ct-avg-meta {
    margin-top: 6px;
    font-size: 12px;
    color: var(--muted)
}

.ct-avg-foot {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--line);
    font-size: 12px;
    color: var(--muted)
}

.ct-pill {
    font-size: 11px;
    font-weight: 900;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--muted);
    white-space: nowrap
}

.ct-pill.par {
    background: #eef2ff;
    border-color: #c7d2fe;
    color: var(--primary)
}

.ct-pill.emp {
    background: #dcfce7;
    border-color: #bbf7d0;
    color: var(--ok)
}

.ct-pill.gen {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412
}

/* ===== Lock preview ===== */
.estado-truncate {
    margin-top: 10px;
    font-size: 11px !important;
    font-weight: 900;
    color: #9b9999;
    float: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: 100%
}

.vehiculos-preview {
    position: relative
}

.vehiculos-preview.is-locked {
    --preview-height: 320px;
    --fade-height: 90px;
    max-height: var(--preview-height);
    overflow: hidden
}

.vehiculos-preview.is-locked::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--fade-height);
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1))
}

.vehiculos-lock-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    display: flex;
    justify-content: center;
    pointer-events: none
}

.vehiculos-lock-box {
    pointer-events: auto;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    border-radius: 14px;
    padding: 10px 12px;
    text-align: center;
    backdrop-filter: blur(6px)
}

.vehiculos-lock-title {
    font-weight: 800;
    font-size: 13px;
    margin-bottom: 2px
}

.vehiculos-lock-sub {
    font-size: 12px;
    opacity: .75;
    margin-bottom: 8px
}

.thumb-locked {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    position: relative;
    overflow: hidden;
    flex: 0 0 auto;
    background-size: cover;
    background-position: center;
    filter: blur(1.6px);
    opacity: .85;
    border: 1px solid rgba(0, 0, 0, .12)
}

.thumb-locked::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .22)
}

.thumb-lock-label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .4px;
    color: rgba(255, 255, 255, .92);
    text-transform: uppercase
}

@media (max-width:992px) {
    .ct-header {
        flex-direction: column
    }
}

/* Chevron animado */
.dash-chevron {
    display: inline-block;
    transition: transform .18s ease;
    font-size: 16px;
    line-height: 1;
    opacity: .75;
}

/* Cuando está abierto, gira */
#dashChartCard .collapse.show~.bd .dash-chevron {
    transform: rotate(180deg);
}

/* ===== Tabs dashboard ===== */
.dash-tabs-wrap {
    margin-bottom: 16px;
}

.dash-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    border: none !important;
}

.dash-tabs .nav-item {
    margin-bottom: 0;
}

.dash-tabs .nav-link {
    border: none !important;
    border-radius: 14px !important;
    padding: 12px 16px;
    background: #fff !important;
    color: var(--text) !important;
    font-size: 13px;
    font-weight: 900;
    border: 1px solid var(--line) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
    display: flex;
    align-items: center;
    gap: 8px;
}

.dash-tabs .nav-link.active {
    background: linear-gradient(90deg, #304ffe 0%, #1d4ed8 100%) !important;
    color: #fff !important;
    border-color: #304ffe !important;
    box-shadow: 0 12px 24px rgba(48, 79, 254, .20);
}

.dash-tabs .nav-link i {
    font-size: 14px;
}

.dash-tab-pane {
    animation: dashFadeIn .18s ease;
}

@keyframes dashFadeIn {
    from {
        opacity: 0;
        transform: translateY(3px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 575.98px) {
    .dash-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .dash-tabs::-webkit-scrollbar {
        display: none;
    }

    .dash-tabs .nav-link {
        white-space: nowrap;
    }
}

.btn.disabled {
    opacity: .33 !important;
    pointer-events: none;
}

/* --- Layout --- */

.ct-card {
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    border: 1px solid rgba(0, 0, 0, .05);
}

/* --- Gallery --- */
.ct-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (min-width:768px) {
    .ct-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width:992px) {
    .ct-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.ct-photo {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: #f4f6f8;
    border: 1px solid rgba(0, 0, 0, .06);
    transition: transform .15s ease, box-shadow .15s ease;
}

.ct-photo:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .10);
}

.ct-photo-img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    display: block;
}

@media (min-width:992px) {
    .ct-photo-img {
        height: 210px;
    }
}

.ct-photo-top {
    position: absolute;
    left: 10px;
    top: 10px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.ct-badge {
    font-size: 11px;
    padding: 6px 10px;
    border-radius: 15px;
    background: rgba(0, 0, 0, .65);
    color: #fff;
    backdrop-filter: blur(6px);
}

.ct-badge.ct-free {
    border: none;
    background: rgba(255, 130, 4, .70);
}

.ct-badge.ct-req {
    border: none;
    background: rgba(29, 51, 95, .70);
}

.ct-photo-actions {
    padding: 10px;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.ct-photo-actions .btn {
    border-radius: 999px;
    font-size: 12px;
    padding: 8px 12px;
}

.ct-muted {
    color: #6c757d;
    font-size: 13px;
}

/* Head */
.ct-title {
    font-weight: 800;
    letter-spacing: -.02em;
}

/* Modal image */
.ct-modal-img {
    width: 100%;
    max-height: 75vh;
    object-fit: contain;
    background: #0b0f14;
    border-radius: 12px;
}



/* =========================
   KPI CARDS - PREMIUM (CT)
   ========================= */

:root {
    --ctp-text: #0f172a;
    --ctp-muted: rgba(15, 23, 42, .62);
    --ctp-border: rgba(15, 23, 42, .08);
    --ctp-soft: rgba(15, 23, 42, .04);
    --ctp-shadow: 0 14px 40px rgba(2, 6, 23, .08);
    --ctp-radius: 18px;

    --ctp-blue: #304ffe;
    --ctp-blue-soft: rgba(48, 79, 254, .12);

    --ctp-green: #16a34a;
    --ctp-green-soft: rgba(22, 163, 74, .12);

    --ctp-amber: #d97706;
    --ctp-amber-soft: rgba(217, 119, 6, .14);

    --ctp-red: #ef4444;
    --ctp-red-soft: rgba(239, 68, 68, .12);

    --ctp-bg: #fff;
}

.ctp-kpi-wrap {
    margin-top: .35rem;
}

.ctp-kpi-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 10px;
}

.ctp-kpi-title {
    margin: 0;
    font-weight: 900;
    color: var(--ctp-text);
    letter-spacing: -.02em;
    font-size: 16px;
}

.ctp-kpi-subtitle {
    margin: 2px 0 0;
    color: var(--ctp-muted);
    font-size: 12px;
}

.ctp-kpi-range {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--ctp-border);
    background: linear-gradient(180deg, #fff, #fbfcff);
    color: rgba(15, 23, 42, .72);
    font-weight: 800;
    font-size: 12px;
}

.ctp-kpi-range i {
    color: rgba(15, 23, 42, .45);
}

.ctp-card {
    background: var(--ctp-bg);
    border: 1px solid var(--ctp-border);
    border-radius: var(--ctp-radius);
    box-shadow: var(--ctp-shadow);
    overflow: hidden;
    height: 100%;
    position: relative;
    transition: .18s ease;
}

.ctp-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 55px rgba(2, 6, 23, .12);
    border-color: rgba(48, 79, 254, .18);
}

.ctp-card:before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(800px 240px at 8% -10%, rgba(48, 79, 254, .10), transparent 60%);
    pointer-events: none;
}

.ctp-hd {
    position: relative;
    padding: 14px 16px 12px;
    border-bottom: 1px solid var(--ctp-border);
    background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.ctp-hd-left {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
}

.ctp-ic {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ctp-border);
    background: rgba(48, 79, 254, .08);
    color: var(--ctp-blue);
    flex: 0 0 auto;
}

.ctp-ic.green {
    background: rgba(22, 163, 74, .10);
    color: var(--ctp-green);
}

.ctp-ic.amber {
    background: rgba(217, 119, 6, .12);
    color: var(--ctp-amber);
}

.ctp-ic.muted {
    background: rgba(15, 23, 42, .05);
    color: rgba(15, 23, 42, .65);
}

.ctp-hd h3 {
    margin: 0;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(15, 23, 42, .78);
}

.ctp-hd .ctp-note {
    margin-top: 3px;
    font-size: 12px;
    color: var(--ctp-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
}

.ctp-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 15px;
    font-size: 11px;
    font-weight: 900;
    border: 1px solid var(--ctp-border);
    color: rgba(15, 23, 42, .78);
    background: #fff;
    white-space: nowrap;
}

.ctp-badge.blue {
    background: var(--ctp-blue-soft);
    border-color: rgba(35, 79, 228, .18);
    color: var(--ctp-blue);
}

.ctp-badge.ok {
    background: var(--ctp-green-soft);
    border-color: rgba(22, 163, 74, .18);
    color: var(--ctp-green);
}

.ctp-badge.warn {
    background: var(--ctp-amber-soft);
    border-color: rgba(217, 119, 6, .18);
    color: var(--ctp-amber);
}

.ctp-badge.red {
    background: var(--ctp-red-soft);
    border-color: rgba(239, 68, 68, .18);
    color: var(--ctp-red);
}

.ctp-bd {
    position: relative;
    padding: 14px 16px 16px;
}

.ctp-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
}

.ctp-kpi {
    font-size: 30px;
    line-height: 1;
    font-weight: 1000;
    letter-spacing: -.02em;
    color: var(--ctp-text);
}

.ctp-mini {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.ctp-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--ctp-border);
    background: rgba(15, 23, 42, .02);
    color: rgba(15, 23, 42, .74);
    font-weight: 900;
    font-size: 12px;
}

.ctp-chip i {
    opacity: .6;
}

.ctp-desc {
    margin-top: 8px;
    font-size: 12px;
    color: var(--ctp-muted);
    line-height: 1.35;
}

.ctp-bar {
    margin-top: 10px;
    height: 8px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    overflow: hidden;
}

.ctp-bar>span {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(48, 79, 254, .95), rgba(29, 78, 216, .95));
}

.ctp-bar.green>span {
    background: linear-gradient(90deg, rgba(34, 197, 94, .95), rgba(22, 163, 74, .95));
}

.ctp-bar.amber>span {
    background: linear-gradient(90deg, rgba(245, 158, 11, .95), rgba(217, 119, 6, .95));
}

.ctp-bar.red>span {
    background: linear-gradient(90deg, rgba(239, 68, 68, .95), rgba(185, 28, 28, .95));
}

.ctp-pills {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ctp-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: rgba(15, 23, 42, .03);
    color: rgba(15, 23, 42, .80);
    font-size: 12px;
    font-weight: 800;
}

.ctp-pill b {
    font-weight: 1000;
    color: rgba(15, 23, 42, .92);
}

.ctp-insight {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(180deg, rgba(248, 250, 252, 1), rgba(255, 255, 255, 1));
    color: rgba(15, 23, 42, .70);
    font-size: 12px;
    line-height: 1.35;
}

.ctp-insight b {
    color: rgba(15, 23, 42, .92);
}

/* micro layout tweaks for small screens */
@media (max-width:575.98px) {
    .ctp-kpi {
        font-size: 26px;
    }

    .ctp-hd .ctp-note {
        max-width: 140px;
    }

    .ctp-kpi-header {
        margin-bottom: 8px;
    }
}

.btn-ver-foto {
    background-color: #f4f4f4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    color: #007bff;
    padding: 0;
    transition: all 0.3s ease;
}

.btn-ver-foto:hover {
    background-color: #007bff;
    color: #fff;
}

.btn-ver-foto i {
    font-size: 16px;
}

.btn-eliminar-foto {
    background-color: #f4f4f4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    color: #ff0000;
    padding: 0;
    transition: all 0.3s ease;
}

.btn-eliminar-foto:hover {
    background-color: #ff0000;
    color: #fff;
}

.btn-eliminar-foto i {
    font-size: 16px;
}

.btn-link {
    background-color: #f4f4f4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    color: #444;
    padding: 0;
    transition: all 0.3s ease;
}

.btn-link:hover {
    background-color: #444;
    color: #fff;
}

.btn-link i {
    font-size: 16px;
}
/* ===== Seller dash premium skin aligned to publicarAnuncio ===== */
.pa-seller-dash {
    padding-bottom: 42px;
}

.pa-seller-dash .card {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
    box-shadow: 0 18px 45px rgba(2, 6, 23, .06);
    overflow: hidden;
}

.pa-seller-dash .card .hd {
    padding: 20px 22px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.pa-seller-dash .card .hd h3 {
    margin: 0;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
}

.pa-seller-dash .card .bd {
    padding: 20px 22px 22px;
}

.pa-seller-dash .pa-hero-card {
    background: linear-gradient(135deg, #081226 0%, #0b1733 48%, #1e3a8a 100%);
    border: none;
    box-shadow: 0 22px 56px rgba(15, 23, 42, .22);
    color: #fff;
    border-radius: 28px;
}

.pa-seller-dash .pa-hero-card h1,
.pa-seller-dash .pa-hero-card h3,
.pa-seller-dash .pa-hero-card .ct-muted,
.pa-seller-dash .pa-hero-card .ct-select {
    color: #fff !important;
}

.pa-seller-dash .pa-hero-card h1 {
    font-size: 14px !important;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .9;
}

.pa-seller-dash .pa-hero-card h3 {
    font-size: 30px !important;
    line-height: 1.1;
    color: #fff !important;
}

.pa-seller-dash .pa-hero-card .cta-badge {
    background: rgba(255, 255, 255, .12) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
    border-radius: 18px !important;
}

.pa-seller-dash .pa-hero-card .ct-select {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .14);
    border-radius: 14px;
    min-width: 180px;
}

.pa-seller-dash .pa-hero-card .btn-link,
.pa-seller-dash .pa-hero-card .btn-ver-foto {
    background: rgba(255, 255, 255, .08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .12);
    width: 44px;
    height: 44px;
}

.pa-seller-dash .pa-hero-card .btn-link:hover,
.pa-seller-dash .pa-hero-card .btn-ver-foto:hover {
    background: #fff;
    color: #0f172a;
}

.pa-seller-dash .custom-plan-info-box,
.pa-seller-dash #precioIA,
.pa-seller-dash .ctp-card,
.pa-seller-dash .ct-avg-card,
.pa-seller-dash .price-box {
    border-radius: 22px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: none !important;
    background: linear-gradient(180deg, #fff 0%, #fbfcff 100%) !important;
}

.pa-seller-dash .dash-tabs-wrap {
    margin: 10px 0 22px;
}

.pa-seller-dash .dash-tabs {
    gap: 12px;
}

.pa-seller-dash .dash-tabs .nav-link {
    border: none !important;
    border-radius: 16px !important;
    padding: 13px 18px;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 8px 22px rgba(2, 6, 23, .05);
    border: 1px solid rgba(15, 23, 42, .08) !important;
}

.pa-seller-dash .dash-tabs .nav-link.active {
    background: linear-gradient(135deg, #0f172a 0%, #304ffe 100%) !important;
    color: #fff !important;
    box-shadow: 0 16px 32px rgba(48, 79, 254, .22);
    border-color: transparent !important;
}

.pa-seller-dash .ct-btn,
.pa-seller-dash .btn.btn-primary,
.pa-seller-dash .btn-price.btn-primary {
    background: linear-gradient(135deg, #304ffe 0%, #1d4ed8 100%) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 16px !important;
    font-weight: 900 !important;
    box-shadow: 0 14px 28px rgba(48, 79, 254, .20);
}

.pa-seller-dash .ct-btn.secondary {
    background: #0f172a !important;
    color: #fff !important;
}

.pa-seller-dash .ct-btn.muted {
    background: #eef2ff !important;
    color: #304ffe !important;
    box-shadow: none;
    border: 1px solid rgba(48, 79, 254, .12) !important;
}

.pa-seller-dash .badge,
.pa-seller-dash .ct-badge,
.pa-seller-dash .cta-badge,
.pa-seller-dash .ctp-badge {
    border-radius: 999px !important;
    font-weight: 900 !important;
}

.pa-seller-dash .badge {
    padding: 7px 11px;
    background: #eef2ff;
    color: #304ffe;
    border: 1px solid rgba(48, 79, 254, .12);
}

.pa-seller-dash .badge.ok {
    background: rgba(16, 185, 129, .11);
    color: #059669;
    border-color: rgba(16, 185, 129, .14);
}

.pa-seller-dash .badge.warn {
    background: rgba(245, 158, 11, .12);
    color: #b45309;
    border-color: rgba(245, 158, 11, .14);
}

.pa-seller-dash .progress {
    height: 12px;
    border-radius: 999px;
    background: #edf2f7;
    border: 1px solid rgba(15, 23, 42, .06);
    overflow: hidden;
}

.pa-seller-dash .progress>div {
    background: linear-gradient(90deg, #304ffe 0%, #14b8a6 100%);
}

.pa-seller-dash .cta-upgrade {
    border-radius: 20px;
    border: 1px solid rgba(255, 130, 4, .18);
    box-shadow: 0 14px 30px rgba(255, 130, 4, .10);
}

.pa-seller-dash .ctp-card {
    border-radius: 22px;
}

.pa-seller-dash .ctp-hd {
    padding: 18px 18px 14px;
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.pa-seller-dash .ctp-bd {
    padding: 18px;
}

.pa-seller-dash .ct-photo {
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 12px 28px rgba(2, 6, 23, .08);
}

.pa-seller-dash .ct-photo-actions {
    padding: 12px;
    background: #fff;
}

.pa-seller-dash .ct-photo-actions .btn {
    border-radius: 14px;
}

.pa-seller-dash .btn-ver-foto,
.pa-seller-dash .btn-eliminar-foto,
.pa-seller-dash .btn-link {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
}

.pa-seller-dash .btn-ver-foto {
    color: #304ffe;
}

.pa-seller-dash .btn-eliminar-foto {
    color: #ef4444;
}

.pa-seller-dash .vehiculos-lock-box {
    border-radius: 18px;
    padding: 14px 16px;
    box-shadow: 0 18px 40px rgba(2, 6, 23, .16);
}

.pa-seller-dash .ct-avg-item {
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 10px 20px rgba(2, 6, 23, .04);
}

.pa-seller-dash .sub,
.pa-seller-dash .ct-muted,
.pa-seller-dash .metric-label,
.pa-seller-dash .metric-muted {
    color: #64748b !important;
}

.pa-seller-dash .metric-value.big,
.pa-seller-dash .metric-value.mid,
.pa-seller-dash .kpi,
.pa-seller-dash .ctp-kpi,
.pa-seller-dash .ct-avg-value {
    color: #0f172a !important;
}

.pa-seller-dash .price-desc,
.pa-seller-dash .reco-text,
.pa-seller-dash .vehiculos-lock-sub,
.pa-seller-dash .ctp-insight {
    line-height: 1.55;
}

@media (max-width:767.98px) {
    .pa-seller-dash {
        padding: 0 2px 24px;
    }

    .pa-seller-dash .pa-hero-card h3 {
        font-size: 24px !important;
    }

    .pa-seller-dash .card .bd,
    .pa-seller-dash .card .hd {
        padding-left: 16px;
        padding-right: 16px;
    }

    .pa-seller-dash .dash-tabs .nav-link {
        padding: 11px 14px;
        font-size: 12px;
    }
}

.pa-hero-tools {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-top: 16px;
}

.pa-hero-tools__filter {
    width: min(360px, 100%);
}

.pa-hero-tools__label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    color: rgba(255, 255, 255, .72);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.pa-hero-tools__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pa-icon-action {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .22s ease;
}

.pa-icon-action:hover {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .14);
}

@media (max-width: 767px) {
    .pa-hero-tools {
        flex-direction: column;
        align-items: stretch;
    }

    .pa-hero-tools__filter {
        width: 100%;
    }

    .pa-hero-tools__actions {
        justify-content: flex-end;
    }
}


.pa-hero {
    position: relative;
    margin-bottom: 26px;
    padding: 34px 28px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, .08), transparent 22%),
        linear-gradient(135deg, #081224 0%, #0b1730 35%, #1f3a8a 100%);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(15, 23, 42, .18);
}

.pa-hero::before {
    content: "";
    position: absolute;
    inset: auto -80px -80px auto;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .08), transparent 65%);
    pointer-events: none;
}

.pa-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .04);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.pa-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #34d399;
    box-shadow: 0 0 0 4px rgba(52, 211, 153, .15);
}

.pa-title {
    margin: 0;
    color: #fff;
    font-size: 28px;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.02em;
}

.pa-title span {
    display: block;
    color: #fff;
}

.pa-subtitle {
    margin: 12px 0 0;
    max-width: 760px;
    color: rgba(255, 255, 255, .82);
    font-size: 18px;
    line-height: 1.55;
}

.pa-progressbox {
    margin-top: 22px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .06);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.pa-progressbox__label {
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.pa-progressbox__value {
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}

.pa-status-card {
    height: 100%;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.pa-status-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: right;
    gap: 12px;
    margin-bottom: 16px;
}

.pa-status-card__label {
    color: rgba(255, 255, 255, .7);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.pa-status-card__title {
    margin-top: 4px;
    color: #fff;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.1;
}

.pa-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
}

.pa-badge.success {
    background: rgba(0, 226, 83, 0.50);
    color: #FFF;
}

.pa-mini-car {
    display: flex;
    gap: 14px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
    margin-bottom: 16px;
}

.pa-mini-car__img {
    width: 110px;
    min-width: 110px;
    height: 84px;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255, 255, 255, .12);
}

.pa-mini-car__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pa-mini-car__body h3 {
    margin: 0 0 4px;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
}

.pa-mini-car__body p {
    margin: 0;
    color: rgba(255, 255, 255, .75);
    font-size: 14px;
    line-height: 1.35;
}

.pa-mini-car__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.pa-mini-car__meta span {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.pa-checklist-resume {
    display: grid;
    gap: 10px;
}

.pa-check {
    color: rgba(255, 255, 255, .84);
    font-size: 15px;
    font-weight: 700;
}

.pa-check i {
    margin-right: 6px;
}

.pa-check.done {
    color: #a7f3d0;
}

.pa-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 18px;
}

.pa-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    font-weight: 700;
}

.pa-step .num {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.pa-step.active {
    color: #fff;
}

.pa-step.active .num {
    background: #fff;
    color: #0f172a;
}

.pa-hero-tools {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-top: 16px;
}

.pa-hero-tools__filter {
    width: min(360px, 100%);
}

.pa-hero-tools__label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    color: rgba(255, 255, 255, .72);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.pa-hero-tools__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pa-icon-action {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .22s ease;
}

.pa-icon-action:hover {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .14);
}

@media (max-width: 991px) {
    .pa-hero {
        padding: 26px 22px;
        border-radius: 24px;
    }

    .pa-title {
        font-size: 24px;
    }

    .pa-subtitle {
        font-size: 16px;
    }

    .pa-status-card__title {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .pa-hero {
        padding: 22px 18px;
        border-radius: 22px;
    }

    .pa-title {
        font-size: 22px;
    }

    .pa-subtitle {
        font-size: 15px;
    }

    .pa-progressbox {
        padding: 16px;
    }

    .pa-hero-tools {
        flex-direction: column;
        align-items: stretch;
    }

    .pa-hero-tools__filter {
        width: 100%;
    }

    .pa-hero-tools__actions {
        justify-content: flex-end;
    }

    .pa-mini-car {
        flex-direction: column;
    }

    .pa-mini-car__img {
        width: 100%;
        min-width: 100%;
        height: 180px;
    }
}
/* =========================
   CARD SECUNDARIA PREMIUM
========================= */
.price-card {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin-bottom: 24px;
}

.price-card .bd {
    background: transparent;
}

.price-card .custom-plan-info-box {
    position: relative;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    border: 1px solid #e7ecf5;
    box-shadow:
        0 10px 30px rgba(16, 24, 40, 0.06),
        0 2px 10px rgba(16, 24, 40, 0.04);
    padding: 24px !important;
    overflow: hidden;
}

.price-card .custom-plan-info-box::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, #304ffe 0%, #5b7cff 45%, #8ea2ff 100%);
}

/* =========================
   HEADER
========================= */
.price-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.price-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.price-title small {
    display: block;
    margin: 0;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.2px;
    color: #304ffe;
    text-transform: uppercase;
}

.price-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(48,79,254,.12) 0%, rgba(91,124,255,.20) 100%);
    color: #304ffe;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.price-header .badge {
    border-radius: 999px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .2px;
    border: 1px solid transparent;
    box-shadow: none !important;
}

/* Sugerencia de badges premium */
.price-header .badge-success,
.price-header .badge.badge-success {
    background: #ecfdf3;
    color: #067647;
    border-color: #c7eed8;
}

.price-header .badge-warning,
.price-header .badge.badge-warning {
    background: #fffaeb;
    color: #b54708;
    border-color: #fedf89;
}

.price-header .badge-danger,
.price-header .badge.badge-danger {
    background: #fef3f2;
    color: #b42318;
    border-color: #fecdca;
}

.price-header .badge-primary,
.price-header .badge.badge-primary {
    background: #eef2ff;
    color: #304ffe;
    border-color: #cdd7ff;
}

/* =========================
   MÉTRICAS
========================= */
.price-metrics {
    margin: 0 -6px 14px;
}

.price-metrics > div {
    padding: 0 6px;
    margin-bottom: 12px;
}

.price-metrics .col-6 > div,
.price-metrics .metric-box {
    height: 100%;
}

.price-metrics .col-6 {
    display: flex;
}

.price-metrics .col-6 > * {
    width: 100%;
}

.metric-label {
    font-size: 12px;
    font-weight: 700;
    color: #667085;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.metric-value {
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e7ecf5;
    padding: 16px 16px;
    font-weight: 900;
    color: #101828;
    line-height: 1.1;
    min-height: 84px;
    display: flex;
    align-items: center;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.metric-value.big {
    font-size: clamp(22px, 2vw, 28px);
}

.metric-value.mid {
    font-size: clamp(19px, 1.7vw, 24px);
}

.metric-muted {
    color: #98a2b3;
    font-size: 14px;
    font-weight: 700;
}

/* =========================
   DIVIDER
========================= */
.divider-soft {
    height: 1px;
    background: linear-gradient(90deg, rgba(48,79,254,0) 0%, rgba(48,79,254,.16) 20%, rgba(48,79,254,.16) 80%, rgba(48,79,254,0) 100%);
    margin: 18px 0;
}

/* =========================
   DELTA
========================= */
.delta-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 14px;
    border: 1px solid transparent;
}

.delta-pill.up {
    background: #fff4ed;
    color: #c4320a;
    border-color: #ffd5b8;
}

.delta-pill.down {
    background: #ecfdf3;
    color: #067647;
    border-color: #c7eed8;
}

/* =========================
   DESCRIPCIÓN
========================= */
.price-desc {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.65;
    color: #475467;
}

/* =========================
   RECOMENDACIÓN
========================= */
.reco-box {
    margin-top: 18px;
    border-radius: 18px;
    padding: 16px 18px;
    background: linear-gradient(180deg, #f8faff 0%, #eef4ff 100%);
    border: 1px solid #dbe5ff;
    position: relative;
}

.reco-box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 10px;
    background: linear-gradient(180deg, #304ffe 0%, #6f8bff 100%);
}

.reco-title {
    padding-left: 12px;
    font-size: 15px;
    font-weight: 900;
    color: #1d2939;
    margin-bottom: 6px;
}

.reco-text {
    padding-left: 12px;
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: #475467;
}

/* =========================
   CTA
========================= */
.btn-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 14px !important;
    border: 1px solid #304ffe !important;
    background: linear-gradient(180deg, #3d5afe 0%, #304ffe 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(48,79,254,.22);
    transition: all .18s ease;
}

.btn-price:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(48,79,254,.28);
    color: #fff !important;
}

.btn-price:focus {
    box-shadow:
        0 0 0 4px rgba(48,79,254,.14),
        0 10px 22px rgba(48,79,254,.22);
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 767.98px) {
    .price-card .custom-plan-info-box {
        padding: 18px !important;
        border-radius: 20px;
    }

    .price-header {
        margin-bottom: 16px;
    }

    .price-title {
        align-items: center;
    }

    .price-icon {
        width: 38px;
        height: 38px;
        min-width: 38px;
        border-radius: 12px;
    }

    .metric-value {
        min-height: 74px;
        padding: 14px;
        border-radius: 16px;
    }

    .metric-value.big {
        font-size: 21px;
    }

    .metric-value.mid {
        font-size: 18px;
    }

    .delta-pill {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .btn-price {
        width: 100%;
        margin-top: 18px !important;
    }
}






.pa-dash-hero-card{
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.pa-dash-hero-main{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pa-dash-chip-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.pa-dash-hero-title{
    font-size: 30px;
    line-height: 1.1;
    font-weight: 900;
    color:#0f172a;
    margin:0 0 10px;
}

.pa-dash-highlight{
    color:#2563eb;
}

.pa-dash-hero-subtitle{
    font-size:15px;
    color:#475467;
    margin:0;
    max-width: 760px;
}

.pa-dash-hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:10px;
}

.pa-mini-metric{
    background:#fff;
    border:1px solid rgba(15,23,42,.06);
    border-radius:16px;
    padding:14px;
    height:100%;
}

.pa-mini-metric__label{
    font-size:12px;
    color:#667085;
    font-weight:700;
    margin-bottom:6px;
}

.pa-mini-metric__value{
    font-size:22px;
    line-height:1.1;
    font-weight:900;
    color:#101828;
}

.pa-mini-metric__hint{
    font-size:12px;
    color:#667085;
    margin-top:6px;
}

.pa-dash-score-panel{
    background:#0f172a;
    color:#fff;
    border-radius:20px;
    padding:20px;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.pa-dash-score-panel__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}

.pa-dash-score-panel__eyebrow{
    font-size:12px;
    font-weight:700;
    opacity:.75;
    margin-bottom:6px;
}

.pa-dash-score-panel__score{
    font-size:36px;
    line-height:1;
    font-weight:900;
}

.pa-progress-lg{
    height: 12px;
    border-radius:999px;
    overflow:hidden;
    background: rgba(255,255,255,.16);
    margin-bottom:14px;
}

.pa-progress-lg > div{
    height:100%;
    border-radius:999px;
}

.pa-dash-score-breakdown{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.pa-dash-score-breakdown__item{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    padding:10px 12px;
    min-width:90px;
}

.pa-dash-score-breakdown__item span{
    display:block;
    font-size:11px;
    opacity:.7;
    margin-bottom:4px;
}

.pa-dash-score-breakdown__item strong{
    font-size:16px;
    font-weight:900;
}

.pa-kpi-card{
    border-radius:18px;
    border:1px solid rgba(15,23,42,.06);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
    height:100%;
}

.pa-kpi-card__label{
    font-size:12px;
    color:#667085;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.02em;
    margin-bottom:8px;
}

.pa-kpi-card__value{
    font-size:28px;
    line-height:1;
    font-weight:900;
    color:#101828;
}

.pa-kpi-card__sub{
    font-size:13px;
    color:#667085;
    margin-top:8px;
}

.pa-priority-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.pa-priority-item{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px;
    border:1px solid rgba(15,23,42,.06);
    border-radius:16px;
    background:#fff;
}

.pa-priority-item__icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:#eef4ff;
    color:#2563eb;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    flex:0 0 42px;
}

.pa-priority-item__title{
    font-size:15px;
    font-weight:900;
    color:#101828;
    margin-bottom:4px;
}

.pa-priority-item__desc{
    font-size:13px;
    color:#667085;
    line-height:1.45;
}

.pa-section-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.pa-task-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px;
    border:1px solid rgba(15,23,42,.06);
    border-radius:16px;
    background:#fff;
}

.pa-task-row.done{
    background:#f8fafc;
}

.pa-task-row__main{
    min-width:0;
}

.pa-task-row__title{
    font-size:14px;
    font-weight:900;
    color:#101828;
}

.pa-task-row__desc{
    font-size:13px;
    color:#667085;
    margin-top:4px;
}

.pa-task-row__side{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.pa-task-row__points{
    font-size:12px;
    font-weight:900;
    color:#2563eb;
    white-space:nowrap;
}

@media (max-width: 991px){
    .pa-dash-hero-title{
        font-size:24px;
    }

    .pa-task-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .pa-task-row__side{
        width:100%;
        justify-content:space-between;
    }

    .pa-dash-score-panel__score{
        font-size:30px;
    }
}


.pa-card--market{
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    border: 1px solid #e9eef6;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(16,24,40,.07);
    overflow: hidden;
}

.pa-card__head--split{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:24px 24px 8px;
}

.pa-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:999px;
    background:#f3f6fb;
    color:#344054;
    font-size:12px;
    font-weight:800;
    margin-bottom:12px;
}

.pa-card__title{
    margin:0;
    font-size:26px;
    line-height:1.15;
    font-weight:800;
    color:#101828;
    letter-spacing:-0.02em;
}

.pa-card__subtitle{
    margin:10px 0 0;
    color:#667085;
    font-size:14px;
    line-height:1.6;
    max-width:760px;
}

.pa-head-badge{
    min-width:110px;
    background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
    color:#fff;
    border-radius:20px;
    padding:16px 14px;
    text-align:center;
    box-shadow:0 16px 40px rgba(17,24,39,.18);
}

.pa-head-badge__value{
    display:block;
    font-size:24px;
    line-height:1;
    font-weight:900;
}

.pa-head-badge__label{
    display:block;
    margin-top:4px;
    font-size:12px;
    opacity:.85;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.pa-card__body{
    padding:16px 24px 24px;
}

.pa-stats-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:16px;
}

.pa-stat-card{
    background:#fff;
    border:1px solid #e8edf5;
    border-radius:20px;
    padding:18px;
    box-shadow:0 10px 30px rgba(16,24,40,.04);
}

.pa-stat-card--accent{
    background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%);
    border-color:#dbe7ff;
}

.pa-stat-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
}

.pa-stat-card__label{
    font-size:14px;
    font-weight:800;
    color:#101828;
}

.pa-stat-card__value{
    font-size:30px;
    line-height:1.05;
    font-weight:900;
    color:#101828;
    letter-spacing:-0.03em;
}

.pa-stat-card__meta{
    margin-top:8px;
    font-size:13px;
    color:#667085;
    line-height:1.5;
}

.pa-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.pa-chip--neutral{
    background:#f2f4f7;
    color:#344054;
}

.pa-chip--dark{
    background:#111827;
    color:#fff;
}

.pa-chip--accent{
    background:#e7efff;
    color:#1849a9;
}

.pa-market-note{
    margin-top:16px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:14px 16px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid #e8edf3;
    color:#475467;
    font-size:13px;
    line-height:1.5;
}

.pa-locked-market{
    position:relative;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    border:1px solid #e9eef5;
    border-radius:24px;
    padding:18px;
    overflow:hidden;
}

.pa-locked-market__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}

.pa-locked-market__head h3{
    margin:0;
    font-size:18px;
    font-weight:800;
    color:#101828;
}

.pa-locked-market__head p{
    margin:6px 0 0;
    font-size:13px;
    color:#667085;
}

.pa-locked-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border-radius:999px;
    background:#111827;
    color:#fff;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.pa-preview-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.pa-preview-row{
    display:grid;
    grid-template-columns:minmax(260px, 1.7fr) 90px 140px 140px;
    align-items:center;
    gap:14px;
    background:#fff;
    border:1px solid #e8edf5;
    border-radius:18px;
    padding:12px 14px;
    box-shadow:0 8px 24px rgba(16,24,40,.04);
}

.pa-preview-row__left{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.pa-preview-thumb{
    width:78px;
    height:58px;
    border-radius:14px;
    background-size:cover;
    background-position:center;
    background-color:#eef2f7;
    position:relative;
    overflow:hidden;
    flex:0 0 auto;
}

.pa-preview-thumb::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(17,24,39,0) 0%, rgba(17,24,39,.28) 100%);
}

.pa-preview-thumb__badge{
    position:absolute;
    left:8px;
    bottom:8px;
    z-index:2;
    font-size:10px;
    font-weight:800;
    color:#fff;
    background:rgba(17,24,39,.78);
    padding:4px 7px;
    border-radius:999px;
}

.pa-preview-row__info{
    min-width:0;
}

.pa-preview-row__title{
    font-size:14px;
    font-weight:800;
    color:#101828;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.pa-preview-row__sub{
    font-size:12px;
    color:#667085;
    margin-top:4px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.pa-preview-row__year,
.pa-preview-row__state,
.pa-preview-row__price{
    font-size:13px;
    font-weight:700;
    color:#344054;
}

.pa-preview-row__price{
    color:#111827;
    font-weight:900;
}

.pa-preview-card-mobile{
    background:#fff;
    border:1px solid #e8edf5;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 14px 34px rgba(16,24,40,.06);
}

.pa-preview-card-mobile__media{
    position:relative;
    height:180px;
    background-size:cover;
    background-position:center;
    background-color:#eef2f7;
}

.pa-preview-card-mobile__media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(17,24,39,0.06) 0%, rgba(17,24,39,.55) 100%);
}

.pa-preview-card-mobile__year,
.pa-preview-card-mobile__lock{
    position:absolute;
    z-index:2;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    padding:8px 10px;
}

.pa-preview-card-mobile__year{
    top:12px;
    left:12px;
    background:rgba(255,255,255,.92);
    color:#101828;
}

.pa-preview-card-mobile__lock{
    right:12px;
    bottom:12px;
    background:rgba(17,24,39,.82);
    color:#fff;
}

.pa-preview-card-mobile__body{
    padding:16px;
}

.pa-preview-card-mobile__title{
    font-size:16px;
    font-weight:800;
    color:#101828;
}

.pa-preview-card-mobile__version{
    margin-top:4px;
    font-size:13px;
    color:#667085;
}

.pa-preview-card-mobile__meta{
    margin-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.pa-preview-state{
    display:inline-block;
    max-width:60%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:12px;
    color:#475467;
    font-weight:700;
}

.pa-preview-price{
    font-size:15px;
    font-weight:900;
    color:#111827;
}

.pa-preview-carousel .carousel-control-prev,
.pa-preview-carousel .carousel-control-next{
    width:40px;
}

.pa-preview-indicators{
    bottom:-26px;
}

.pa-preview-indicators li{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#cbd5e1;
    border:none;
}

.pa-preview-indicators .active{
    background:#111827;
}

.vehiculos-preview.is-locked{
    position:relative;
}

.vehiculos-lock-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(255,255,255,.52);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-radius:24px;
}

.pa-unlock-box{
    max-width:420px;
    text-align:center;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(255,255,255,.7);
    border-radius:24px;
    padding:26px 22px;
    box-shadow:0 22px 60px rgba(16,24,40,.16);
}

.pa-unlock-box__icon{
    width:58px;
    height:58px;
    margin:0 auto 14px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#111827 0%,#344054 100%);
    color:#fff;
    font-size:22px;
}

.pa-unlock-box__title{
    font-size:20px;
    font-weight:900;
    color:#101828;
    line-height:1.2;
}

.pa-unlock-box__sub{
    margin-top:10px;
    color:#667085;
    font-size:14px;
    line-height:1.6;
}

.pa-btn--primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:12px 18px;
    border:none;
    border-radius:14px;
    background:linear-gradient(135deg,#111827 0%,#1f2937 100%);
    color:#fff !important;
    font-weight:800;
    text-decoration:none !important;
    box-shadow:0 12px 30px rgba(17,24,39,.22);
}

.pa-btn--primary:hover{
    transform:translateY(-1px);
    color:#fff !important;
}

@media (max-width: 991.98px){
    .pa-stats-grid{
        grid-template-columns:1fr;
    }

    .pa-card__head--split,
    .pa-locked-market__head{
        flex-direction:column;
        align-items:flex-start;
    }

    .pa-preview-row{
        grid-template-columns:minmax(0,1fr) 70px 110px 120px;
    }
}

@media (max-width: 575.98px){
    .pa-card__head--split{
        padding:20px 20px 8px;
    }

    .pa-card__body{
        padding:14px 20px 20px;
    }

    .pa-card__title{
        font-size:22px;
    }

    .pa-unlock-box{
        padding:22px 18px;
        border-radius:20px;
    }

    .vehiculos-lock-overlay{
        padding:14px;
    }
}