body[data-app-version="v2"] {
    background: #f0f2f5;
}

body[data-app-version="v2"] .workspace-chip {
    font-size: 0.74rem;
    letter-spacing: 0.03em;
}

body[data-app-version="v2"] .workspace-compact-switch {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(96, 67, 141, 0.17);
    background: rgba(255, 255, 255, 0.66);
    color: #4f3876;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

body[data-app-version="v2"] .workspace-compact-switch i {
    font-size: 0.95rem;
}

body[data-app-version="v2"] .workspace-compact-switch:hover {
    background: rgba(247, 241, 255, 0.92);
}


body[data-app-version="v2"] .page-heading p {
    max-width: none;
}

body[data-app-version="v2"] .surface,
body[data-app-version="v2"] .surface-soft {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(33, 40, 54, 0.08);
}

body[data-app-version="v2"] .btn-primary {
    background: linear-gradient(135deg, #355cc9, #274ba7);
    box-shadow: 0 14px 26px rgba(53, 92, 201, 0.26);
}

body[data-app-version="v2"] .btn-primary:hover {
    background: linear-gradient(135deg, #2f53b5, #23439a);
}

body[data-app-version="v2"] .quality-pill {
    background: #eff3ff;
    border-color: rgba(53, 92, 201, 0.14);
    color: #2f4f9b;
}

body[data-app-version="v2"] .v2-dashboard-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(270px, 0.85fr);
    gap: 16px;
    align-items: stretch;
}

body[data-app-version="v2"] .v2-dashboard-hero {
    overflow: hidden;
    border: 1px solid rgba(53, 92, 201, 0.12);
    background:
        radial-gradient(circle at 20% 20%, rgba(53, 92, 201, 0.08) 0, rgba(53, 92, 201, 0) 36%),
        linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
}

body[data-app-version="v2"] .v2-dashboard-hero-body {
    display: grid;
    gap: 12px;
}

body[data-app-version="v2"] .v2-hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: #eef4ff;
    color: #355cc9;
    border: 1px solid rgba(53, 92, 201, 0.14);
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body[data-app-version="v2"] .v2-dashboard-hero-title {
    font-size: clamp(1.8rem, 2.9vw, 3rem);
    line-height: 1.02;
    color: #182235;
    margin: 0;
    font-weight: 900;
    letter-spacing: -0.03em;
}

body[data-app-version="v2"] .v2-dashboard-hero-text {
    max-width: 64ch;
    color: #5b687f;
    font-size: 0.98rem;
    margin-bottom: 0;
}

body[data-app-version="v2"] .v2-dashboard-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body[data-app-version="v2"] .v2-dashboard-hero-metric {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(33, 40, 54, 0.08);
}

body[data-app-version="v2"] .v2-dashboard-hero-metric-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #355cc9, #274ba7);
    color: #ffffff;
    font-size: 1.15rem;
    flex-shrink: 0;
    box-shadow: 0 10px 20px rgba(53, 92, 201, 0.22);
}

body[data-app-version="v2"] .v2-dashboard-hero-metric span {
    display: block;
    color: #5b687f;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 800;
}

body[data-app-version="v2"] .v2-dashboard-hero-metric strong {
    display: block;
    color: #1a2434;
    font-size: 1.15rem;
    line-height: 1.1;
    font-weight: 900;
}

body[data-app-version="v2"] .v2-dashboard-hero-foot {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

body[data-app-version="v2"] .v2-dashboard-hero-note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #f5f7fb;
    border: 1px solid rgba(33, 40, 54, 0.08);
    color: #53627a;
    font-size: 0.78rem;
    font-weight: 700;
}

body[data-app-version="v2"] .v2-dashboard-visual-stack {
    display: grid;
    gap: 12px;
}

body[data-app-version="v2"] .v2-dashboard-visual-card {
    position: relative;
    overflow: hidden;
    min-height: 126px;
    border-radius: 24px;
    padding: 18px;
    color: #ffffff;
    box-shadow: 0 16px 28px rgba(24, 34, 53, 0.16);
}

body[data-app-version="v2"] .v2-dashboard-visual-card i {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.18);
    margin-bottom: 10px;
    font-size: 1.1rem;
}

body[data-app-version="v2"] .v2-dashboard-visual-card strong {
    display: block;
    font-size: 1.1rem;
    font-weight: 900;
    margin-bottom: 4px;
}

body[data-app-version="v2"] .v2-dashboard-visual-card p {
    margin: 0;
    max-width: 28ch;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.84rem;
}

body[data-app-version="v2"] .v2-dashboard-visual-kicker {
    display: inline-block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 900;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.8);
}

body[data-app-version="v2"] .v2-dashboard-visual-card-a {
    background: linear-gradient(145deg, #355cc9, #213f90);
}

body[data-app-version="v2"] .v2-dashboard-visual-card-b {
    background: linear-gradient(145deg, #f08f4f, #d9681d);
}

body[data-app-version="v2"] .v2-dashboard-visual-card-c {
    background: linear-gradient(145deg, #3fa86e, #22754a);
}

body[data-app-version="v2"] .v2-dashboard-metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

body[data-app-version="v2"] .v2-dashboard-metric-card {
    position: relative;
    display: block;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform 0.16s ease, box-shadow 0.2s ease;
}

body[data-app-version="v2"] .v2-dashboard-metric-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: var(--metric-accent, #355cc9);
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

body[data-app-version="v2"] .v2-dashboard-metric-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(23, 36, 60, 0.12);
}

body[data-app-version="v2"] .v2-dashboard-metric-card:focus-visible {
    outline: 3px solid rgba(53, 92, 201, 0.24);
    outline-offset: 2px;
}

body[data-app-version="v2"] .v2-dashboard-metric-card .surface-body {
    display: grid;
    gap: 8px;
    min-height: 122px;
}

body[data-app-version="v2"] .v2-dashboard-metric-head {
    display: flex;
    align-items: center;
    gap: 8px;
}

body[data-app-version="v2"] .v2-dashboard-metric-icon {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    background: #eef2ff;
    color: #355cc9;
    flex-shrink: 0;
}

body[data-app-version="v2"] .v2-dashboard-metric-card strong {
    font-size: clamp(1.2rem, 2vw, 1.85rem);
    line-height: 1.05;
    font-weight: 900;
    color: #1a2434;
}

body[data-app-version="v2"] .v2-dashboard-metric-card strong small {
    font-size: 0.72rem;
    margin-left: 4px;
    color: #6a768a;
    font-weight: 700;
}

body[data-app-version="v2"] .v2-metric-indigo .surface-body {
    border-top: none;
}

body[data-app-version="v2"] .v2-metric-cyan .surface-body {
    border-top: none;
}

body[data-app-version="v2"] .v2-metric-orange .surface-body {
    border-top: none;
}

body[data-app-version="v2"] .v2-metric-rose .surface-body {
    border-top: none;
}

body[data-app-version="v2"] .v2-metric-slate .surface-body {
    border-top: none;
}

body[data-app-version="v2"] .v2-metric-green .surface-body {
    border-top: none;
}

body[data-app-version="v2"] .v2-metric-blue .surface-body {
    border-top: none;
}

body[data-app-version="v2"] .v2-metric-indigo {
    --metric-accent: #355cc9;
}

body[data-app-version="v2"] .v2-metric-cyan {
    --metric-accent: #1aa2c3;
}

body[data-app-version="v2"] .v2-metric-orange {
    --metric-accent: #f08f4f;
}

body[data-app-version="v2"] .v2-metric-rose {
    --metric-accent: #e54b4b;
}

body[data-app-version="v2"] .v2-metric-slate {
    --metric-accent: #7c8ca5;
}

body[data-app-version="v2"] .v2-metric-green {
    --metric-accent: #3fa86e;
}

body[data-app-version="v2"] .v2-metric-blue {
    --metric-accent: #6b7cff;
}

body[data-app-version="v2"] .v2-dashboard-rank-table tr.v2-rank-leader {
    background: linear-gradient(90deg, rgba(240, 180, 41, 0.12), rgba(255, 255, 255, 0));
}

body[data-app-version="v2"] .v2-dashboard-rank-table tr.v2-rank-second {
    background: linear-gradient(90deg, rgba(116, 134, 163, 0.11), rgba(255, 255, 255, 0));
}

body[data-app-version="v2"] .v2-dashboard-rank-table tr.v2-rank-third {
    background: linear-gradient(90deg, rgba(209, 146, 94, 0.11), rgba(255, 255, 255, 0));
}

body[data-app-version="v2"] .v2-rank-crown {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    margin-right: 8px;
    background: linear-gradient(135deg, #fff4c7, #f0b429);
    color: #7c5100;
    box-shadow: 0 8px 18px rgba(240, 180, 41, 0.22);
}

body[data-app-version="v2"] .v2-rank-surface .surface-body {
    padding: clamp(20px, 3vw, 32px) clamp(24px, 5vw, 60px);
}

body[data-app-version="v2"] .v2-rank-layout {
    display: grid;
    grid-template-columns: minmax(0, 9fr) minmax(260px, 3fr);
    gap: 22px;
    align-items: stretch;
}

body[data-app-version="v2"] .v2-rank-table-wrap {
    border-radius: 18px;
    overflow: hidden;
}

body[data-app-version="v2"] .v2-rank-podium-panel {
    border-radius: 18px;
    border: 1px solid rgba(33, 40, 54, 0.08);
    background:
        radial-gradient(circle at 20% 12%, rgba(53, 92, 201, 0.12), rgba(53, 92, 201, 0) 48%),
        linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    padding: 16px 14px;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 12px;
}

body[data-app-version="v2"] .v2-rank-podium-head {
    display: grid;
    gap: 2px;
}

body[data-app-version="v2"] .v2-rank-podium-head strong {
    color: #19263d;
    font-size: 0.98rem;
}

body[data-app-version="v2"] .v2-rank-podium-head span {
    color: #667386;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

body[data-app-version="v2"] .v2-rank-podium-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 8px;
    min-height: 258px;
}

body[data-app-version="v2"] .v2-podium-slot {
    display: grid;
    justify-items: center;
    gap: 8px;
}

body[data-app-version="v2"] .v2-podium-rank {
    font-size: 0.76rem;
    font-weight: 800;
    color: #54627a;
    letter-spacing: 0.04em;
}

body[data-app-version="v2"] .v2-podium-base {
    width: 100%;
    border-radius: 14px 14px 12px 12px;
    border: 1px solid rgba(33, 40, 54, 0.12);
    display: grid;
    align-content: end;
    justify-items: center;
    gap: 4px;
    padding: 12px 8px 10px;
    background: linear-gradient(180deg, #fdfefe 0%, #edf3ff 100%);
    position: relative;
}

body[data-app-version="v2"] .v2-podium-base strong {
    width: 100%;
    color: #1c2b43;
    font-size: 0.84rem;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body[data-app-version="v2"] .v2-podium-base small {
    color: #647289;
    font-size: 0.72rem;
    font-weight: 700;
}

body[data-app-version="v2"] .v2-podium-slot-1 .v2-podium-base {
    min-height: 168px;
    background: linear-gradient(180deg, #fff8dc 0%, #f6e4ac 100%);
    border-color: rgba(212, 166, 52, 0.45);
}

body[data-app-version="v2"] .v2-podium-slot-2 .v2-podium-base {
    min-height: 130px;
    background: linear-gradient(180deg, #f6f8fc 0%, #dce4f0 100%);
    border-color: rgba(126, 145, 170, 0.4);
}

body[data-app-version="v2"] .v2-podium-slot-3 .v2-podium-base {
    min-height: 108px;
    background: linear-gradient(180deg, #fff4e8 0%, #f0d2b4 100%);
    border-color: rgba(192, 135, 81, 0.4);
}

body[data-app-version="v2"] .v2-podium-crown {
    position: absolute;
    top: -20px;
    font-size: 1.15rem;
    color: #d19a19;
    text-shadow: 0 3px 8px rgba(207, 150, 28, 0.35);
}

body[data-app-version="v2"] .v2-dashboard-panels-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body[data-app-version="v2"] .v2-dashboard-list {
    display: grid;
    gap: 10px;
}

body[data-app-version="v2"] .v2-dashboard-list-item {
    display: grid;
    gap: 8px;
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(33, 40, 54, 0.08);
}

body[data-app-version="v2"] .v2-dashboard-list-item header,
body[data-app-version="v2"] .v2-dashboard-list-item footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

body[data-app-version="v2"] .v2-dashboard-list-item strong {
    display: block;
    color: #182235;
    font-size: 0.92rem;
    font-weight: 900;
}

body[data-app-version="v2"] .v2-dashboard-list-item small {
    color: #6a768a;
}

body[data-app-version="v2"] .v2-dashboard-list-item p {
    margin: 0;
    color: #55627a;
    font-size: 0.82rem;
}

body[data-app-version="v2"] .v2-dashboard-side-block {
    margin-top: 10px;
    padding-top: 14px;
    border-top: 1px solid rgba(33, 40, 54, 0.08);
}

body[data-app-version="v2"] .v2-dashboard-side-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

body[data-app-version="v2"] .v2-dashboard-mini-list {
    display: grid;
    gap: 8px;
}

body[data-app-version="v2"] .v2-dashboard-mini-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(33, 40, 54, 0.08);
}

body[data-app-version="v2"] .v2-dashboard-mini-item i {
    color: #355cc9;
    margin-top: 2px;
}

body[data-app-version="v2"] .v2-dashboard-mini-item strong {
    display: block;
    color: #182235;
    font-size: 0.86rem;
}

body[data-app-version="v2"] .v2-dashboard-mini-item small {
    display: block;
    color: #65748b;
    font-size: 0.75rem;
}

body[data-app-version="v2"] .v2-dashboard-mini-alert {
    background: #fff7f7;
    border-color: rgba(229, 75, 75, 0.14);
}

body[data-app-version="v2"] .v2-dashboard-mini-alert i {
    color: #e54b4b;
}

body[data-app-version="v2"] .v2-dashboard-activity-list {
    display: grid;
    gap: 8px;
}

body[data-app-version="v2"] .v2-dashboard-activity-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid rgba(33, 40, 54, 0.08);
}

body[data-app-version="v2"] .v2-dashboard-activity-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #355cc9, #274ba7);
    color: #ffffff;
}

body[data-app-version="v2"] .v2-dashboard-activity-item strong {
    display: block;
    color: #182235;
    font-size: 0.9rem;
}

body[data-app-version="v2"] .v2-dashboard-activity-item p {
    margin: 2px 0 0;
    color: #65748b;
    font-size: 0.8rem;
}

body[data-app-version="v2"] .v2-dashboard-activity-item small {
    color: #8a97aa;
    font-size: 0.74rem;
    white-space: nowrap;
}

body[data-app-version="v2"] .v2-dashboard-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body[data-app-version="v2"] .v2-dashboard-quick-card {
    display: grid;
    gap: 8px;
    padding: 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(33, 40, 54, 0.08);
}

body[data-app-version="v2"] .v2-dashboard-quick-card i {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eef2ff;
    color: #355cc9;
    font-size: 1rem;
}

body[data-app-version="v2"] .v2-dashboard-quick-card strong {
    display: block;
    color: #182235;
    font-size: 1.1rem;
    font-weight: 900;
}

body[data-app-version="v2"] .v2-dashboard-quick-card span {
    color: #65748b;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 800;
}

@media (max-width: 1100px) {
    body[data-app-version="v2"] .v2-dashboard-hero-grid,
    body[data-app-version="v2"] .v2-dashboard-panels-grid {
        grid-template-columns: 1fr;
    }

    body[data-app-version="v2"] .v2-rank-layout {
        grid-template-columns: 1fr;
    }

    body[data-app-version="v2"] .v2-rank-surface .surface-body {
        padding: 18px;
    }

    body[data-app-version="v2"] .v2-dashboard-hero-metrics,
    body[data-app-version="v2"] .v2-dashboard-quick-grid {
        grid-template-columns: 1fr;
    }
}

.v2-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.v2-kpi-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v2-kpi-card {
    border-radius: 20px;
    overflow: hidden;
}

.v2-kpi-card .surface-body {
    display: grid;
    gap: 8px;
    border-top: 4px solid transparent;
    min-height: 122px;
}

.v2-kpi-head {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.v2-kpi-icon {
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    background: #eef2ff;
    color: #3755a7;
}

.v2-kpi-label {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5f6c81;
    font-weight: 700;
}

.v2-kpi-card strong {
    font-size: clamp(1.3rem, 2vw, 2rem);
    color: #1f2a3c;
    line-height: 1;
}

.v2-kpi-indigo .surface-body {
    border-top-color: #536fda;
}

.v2-kpi-orange .surface-body {
    border-top-color: #f08f4f;
}

.v2-kpi-cyan .surface-body {
    border-top-color: #1aa2c3;
}

.v2-kpi-green .surface-body {
    border-top-color: #3fa86e;
}

.v2-module-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.v2-module-link {
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.v2-module-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 30px rgba(30, 38, 54, 0.1);
}

.v2-module-link .surface-body {
    display: grid;
    gap: 6px;
}

.v2-module-link i {
    font-size: 1.25rem;
    color: #3b5fc4;
}

.v2-module-link strong {
    color: #1f2a3c;
}

.v2-module-link span {
    color: #6d7787;
    font-size: 0.9rem;
}

.v2-radar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.v2-radar-collapsible {
    overflow: hidden;
}

.v2-radar-collapsible > summary {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    cursor: pointer;
}

.v2-radar-collapsible > summary::-webkit-details-marker {
    display: none;
}

.v2-radar-collapsible > summary small {
    display: block;
    margin-top: 3px;
    color: #6f7b91;
    font-size: 0.82rem;
}

.v2-radar-collapsible > summary::after {
    content: "\F286";
    font-family: "bootstrap-icons";
    font-size: 1rem;
    color: #566582;
    transition: transform 0.2s ease;
}

.v2-radar-collapsible[open] > summary::after {
    transform: rotate(180deg);
}

.v2-radar-collapsible > .surface-body {
    padding-top: 0;
}

.v2-radar-card {
    border: 1px solid rgba(33, 40, 54, 0.08);
    border-radius: 18px;
    padding: 14px;
    background: #ffffff;
    display: grid;
    gap: 10px;
}

.v2-radar-card header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.v2-radar-card h4 {
    margin: 0;
    font-size: 1.02rem;
    color: #1f2a3c;
}

.v2-radar-card p {
    margin: 2px 0 0;
    color: #6c7686;
}

.v2-score-pill {
    display: inline-flex;
    min-width: 44px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 800;
    background: #f0f4ff;
    color: #2f4f9b;
}

.v2-radar-meta,
.v2-lead-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.v2-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.v2-chip-alert {
    background: #ffe9dc;
    color: #9a4f2e;
}

.v2-chip-muted {
    background: #eef2f8;
    color: #5d6c83;
}

.v2-badge-priority-high {
    background: #ffe5d8;
    color: #95492a;
}

.v2-badge-priority-medium {
    background: #e8f1ff;
    color: #3d5c97;
}

.v2-badge-priority-low {
    background: #e5f5ea;
    color: #347050;
}

.v2-badge-status-new {
    background: #f6edf8;
    color: #6d4b8f;
}

.v2-badge-status-contacted {
    background: #e8f4ff;
    color: #2f6399;
}

.v2-badge-status-interested {
    background: #fff0db;
    color: #9e6729;
}

.v2-badge-status-closed {
    background: #eceff5;
    color: #525f76;
}

.v2-badge-status-pending-accreditation {
    background: #fff4e3;
    color: #9d5f22;
}

.v2-badge-status-accredited {
    background: #dff7e9;
    color: #236a45;
}

.v2-badge-status-rejected {
    background: #ffe9e9;
    color: #9f3f3f;
}

.v2-radar-focus,
.v2-radar-location {
    margin: 0;
    color: #54617a;
    font-size: 0.9rem;
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

.v2-radar-card footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.v2-radar-card footer strong {
    color: #21314a;
    font-size: 1rem;
}

.v2-radar-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.v2-level-high {
    border-color: rgba(240, 143, 79, 0.34);
}

.v2-level-medium {
    border-color: rgba(53, 92, 201, 0.3);
}

.v2-level-low {
    border-color: rgba(63, 168, 110, 0.3);
}

.v2-toolbar {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 12px;
}

.v2-toolbar-search,
.v2-toolbar-filter {
    min-width: 0;
}

.v2-lead-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 12px;
}

.v2-lead-card {
    cursor: pointer;
    border-radius: 16px;
    border: 1px solid rgba(33, 40, 54, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.v2-lead-card .surface-body {
    padding: 10px;
}

.v2-lead-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(22, 32, 49, 0.11);
}

.v2-lead-flip-scene {
    perspective: 1200px;
    min-height: 420px;
}

.v2-lead-flip-card {
    position: relative;
    min-height: 420px;
    transform-style: preserve-3d;
    transition: transform 0.55s ease;
}

.v2-lead-card.is-flipped .v2-lead-flip-card {
    transform: rotateY(180deg);
}

.v2-lead-face {
    position: absolute;
    inset: 0;
    border-radius: 14px;
    border: 1px solid rgba(33, 40, 54, 0.08);
    padding: 10px;
    background: #ffffff;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow: hidden;
}

.v2-lead-front {
    background:
        radial-gradient(circle at 86% 15%, rgba(83, 111, 218, 0.12) 0, rgba(83, 111, 218, 0) 36%),
        #ffffff;
}

.v2-lead-back {
    transform: rotateY(180deg);
    background:
        radial-gradient(circle at 14% 18%, rgba(26, 162, 195, 0.12) 0, rgba(26, 162, 195, 0) 34%),
        #ffffff;
}

.v2-lead-back h4 {
    margin: 0;
    color: #253248;
}

.v2-lead-face .v2-lead-footer {
    margin-top: auto;
}

.v2-lead-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.v2-lead-head > div {
    min-width: 0;
}

.v2-lead-head h3 {
    margin: 0;
    font-size: 0.98rem;
    color: #1f2a3c;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.v2-lead-head p {
    margin: 4px 0 0;
    color: #6a768a;
    font-size: 0.86rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-score-large {
    min-width: 52px;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.02rem;
    font-weight: 800;
    background: #f0f4ff;
    color: #2f4f9b;
}

.v2-alert-web {
    margin-top: 0;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff8b4b, #ffab62);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.v2-alert-web-slot {
    min-height: 30px;
    display: flex;
    align-items: flex-start;
}

.v2-asset-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.v2-asset-pill {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-radius: 10px;
    font-size: 0.68rem;
    font-weight: 700;
    border: 1px solid rgba(36, 45, 61, 0.08);
}

.v2-asset-pill.is-ok {
    background: #e8f7ed;
    color: #2f7a50;
}

.v2-asset-pill.is-missing {
    background: #fff0e5;
    color: #9d5a32;
}

.v2-lead-focus {
    margin: 2px 0 0;
    color: #58657d;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 0.86rem;
    line-height: 1.25;
    overflow: hidden;
    max-height: 2.2em;
}

.v2-lead-focus i {
    flex: 0 0 auto;
    margin-top: 1px;
}

.v2-lead-footer {
    margin-top: 6px;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.v2-lead-footer > div {
    min-width: 0;
}

.v2-lead-footer strong {
    color: #21314a;
    font-size: 0.96rem;
}

.v2-lead-footer small {
    display: block;
    color: #6b778c;
    margin-top: 2px;
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.v2-close-sale-btn {
    min-height: 40px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 0.86rem;
    letter-spacing: 0.02em;
    box-shadow: 0 10px 18px rgba(37, 67, 143, 0.22);
}

.v2-close-sale-btn.btn-outline-primary {
    box-shadow: none;
}

.v2-close-sale-status {
    min-height: 38px;
    border: 1px solid rgba(33, 40, 54, 0.1);
    border-radius: 10px;
    padding: 8px 10px;
    background: #f4f8fd;
    color: #55647d;
    font-size: 0.86rem;
}

.v2-close-sale-status[data-tone="ok"] {
    background: #e9f7ef;
    color: #2f6b4a;
}

.v2-close-sale-status[data-tone="warn"] {
    background: #fff4e8;
    color: #975c2d;
}

.v2-close-sale-status[data-tone="error"] {
    background: #ffecec;
    color: #9f3f3f;
}

.v2-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.v2-snapshot-card strong {
    display: block;
    margin-top: 4px;
    color: #1f2a3c;
}

.v2-snapshot-card p {
    margin: 4px 0 0;
    color: #6a768a;
}

.v2-snapshot-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.77rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #5d6981;
    font-weight: 700;
}

.v2-client-main-layout {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
}

.v2-flip-scene {
    perspective: 1200px;
    min-height: 360px;
}

.v2-flip-card {
    position: relative;
    min-height: 360px;
    transform-style: preserve-3d;
    transition: transform 0.55s ease;
}

.v2-flip-scene:hover .v2-flip-card {
    transform: rotateY(180deg);
}

.v2-flip-card.is-flipped {
    transform: rotateY(180deg);
}

.v2-flip-face {
    position: absolute;
    inset: 0;
    border-radius: 20px;
    border: 1px solid rgba(33, 40, 54, 0.08);
    padding: 18px;
    background: #ffffff;
    backface-visibility: hidden;
    display: grid;
    gap: 10px;
    align-content: start;
}

.v2-flip-front {
    background:
        radial-gradient(circle at 80% 14%, rgba(83, 111, 218, 0.14) 0, rgba(83, 111, 218, 0) 34%),
        #ffffff;
}

.v2-flip-back {
    transform: rotateY(180deg);
    background:
        radial-gradient(circle at 20% 10%, rgba(26, 162, 195, 0.12) 0, rgba(26, 162, 195, 0) 34%),
        #ffffff;
}

.v2-flip-face h4 {
    margin: 0;
    color: #1f2a3c;
}

.v2-score-showcase {
    width: 94px;
    height: 94px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 800;
    background: #eef2ff;
    color: #314fa0;
}

.v2-client-commercial-card {
    border-radius: 20px;
    border: 1px solid rgba(33, 40, 54, 0.08);
    padding: 16px;
    background:
        radial-gradient(circle at 84% 14%, rgba(83, 111, 218, 0.12) 0, rgba(83, 111, 218, 0) 36%),
        #ffffff;
    display: grid;
    gap: 12px;
}

.v2-client-commercial-card header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.v2-client-commercial-card h4 {
    margin: 0;
    color: #1f2a3c;
}

.v2-client-commercial-card p {
    margin: 4px 0 0;
    color: #64718a;
}

.v2-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
}

.v2-contact-list li {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 6px;
    align-items: start;
    color: #4f5f78;
    font-size: 0.84rem;
    line-height: 1.25;
}

.v2-contact-list li span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.v2-flip-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.v2-links-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.v2-link-card {
    border-radius: 14px;
    border: 1px solid rgba(33, 40, 54, 0.09);
    padding: 12px;
    display: grid;
    gap: 5px;
}

.v2-link-card h5 {
    margin: 0;
    font-size: 0.95rem;
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

.v2-link-card.is-ready {
    background: linear-gradient(145deg, #e5f7ea, #f5fff8);
    border-color: rgba(51, 140, 85, 0.52);
}

.v2-link-card.is-missing {
    background: linear-gradient(145deg, #ffe8e8, #fff6f6);
    border-color: rgba(186, 61, 61, 0.48);
}

.v2-link-card.is-ready h5,
.v2-link-card.is-ready a,
.v2-link-card.is-ready span {
    color: #266b43;
}

.v2-link-card.is-missing h5,
.v2-link-card.is-missing a,
.v2-link-card.is-missing span {
    color: #a13f3f;
}

.v2-link-card.is-missing span {
    font-weight: 800;
    letter-spacing: 0.05em;
}

.v2-link-card span,
.v2-link-card a {
    font-size: 0.84rem;
    color: #4e5c74;
}

.v2-comments-wrap {
    max-height: 580px;
    overflow: auto;
    display: grid;
    gap: 10px;
}

.v2-comments-wrap--plain {
    max-height: none;
    overflow: visible;
}

.v2-comment-item {
    border: 1px solid rgba(33, 40, 54, 0.08);
    background: #ffffff;
    border-radius: 14px;
    padding: 12px;
    display: grid;
    gap: 7px;
}

.v2-comment-item header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}

.v2-comment-item p {
    margin: 0;
    color: #59647c;
}

.v2-comment-item.is-outgoing {
    border-color: rgba(53, 92, 201, 0.24);
    background: linear-gradient(145deg, #f2f6ff, #ffffff);
}

.v2-comment-item.is-incoming {
    border-color: rgba(33, 40, 54, 0.08);
}

.v2-offer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.v2-offer-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(33, 40, 54, 0.08);
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% 10%, rgba(53, 92, 201, 0.08) 0, rgba(53, 92, 201, 0) 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 24px rgba(22, 32, 49, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.v2-offer-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(22, 32, 49, 0.1);
    border-color: rgba(53, 92, 201, 0.18);
}

.v2-offer-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.v2-offer-badge,
.v2-offer-timepill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.v2-offer-badge {
    background: #eef4ff;
    color: #355cc9;
}

.v2-offer-timepill {
    background: #f3eef9;
    color: #5d4489;
}

.v2-offer-timepill .js-offer-countdown {
    font-variant-numeric: tabular-nums;
}

.v2-offer-identity {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.v2-offer-avatar {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #355cc9, #274ba7);
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    flex: 0 0 48px;
}

.v2-offer-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.v2-offer-copy strong {
    color: #1f2a3c;
    font-size: 0.98rem;
    line-height: 1.2;
}

.v2-offer-copy span {
    color: #6a768a;
    font-size: 0.84rem;
    line-height: 1.25;
}

.v2-offer-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.v2-offer-meta-item {
    border: 1px solid rgba(33, 40, 54, 0.08);
    border-radius: 14px;
    padding: 10px 11px;
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    gap: 2px;
}

.v2-offer-meta-item span {
    color: #6a768a;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.v2-offer-meta-item strong {
    color: #1f2a3c;
    font-size: 0.84rem;
    line-height: 1.25;
}

.v2-offer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.v2-offer-details {
    display: grid;
    gap: 8px;
    padding-top: 2px;
}

.v2-offer-detail-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: #58657d;
    font-size: 0.84rem;
}

.v2-offer-detail-row i {
    color: #355cc9;
    flex: 0 0 auto;
}

.v2-offer-detail-row span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-offer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.v2-offer-actions .btn {
    min-height: 36px;
}

.v2-offer-empty {
    border: 1px dashed rgba(53, 92, 201, 0.2);
    border-radius: 18px;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    padding: 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #58657d;
}

.v2-offer-empty i {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef4ff;
    color: #355cc9;
    flex: 0 0 38px;
}

.v2-offer-empty strong {
    display: block;
    color: #1f2a3c;
    margin-bottom: 3px;
}

.v2-offer-empty span {
    display: block;
    font-size: 0.84rem;
    line-height: 1.35;
}

.v2-comment-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.v2-comment-priority-alta {
    background: #ffe8e4;
    color: #974331;
}

.v2-comment-priority-media {
    background: #edf2ff;
    color: #38579d;
}

.v2-comment-priority-baja {
    background: #eaf8ef;
    color: #31704f;
}

.v2-comment-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.v2-quote-layout,
.v2-quote-game-layout {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 14px;
}

.v2-quote-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.v2-quote-head p {
    color: #637089;
}

.v2-quote-mini-kpis {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.v2-quote-mini-kpis strong {
    color: #21314a;
}

.v2-quote-presets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.v2-preset-btn {
    border: 1px solid rgba(35, 45, 62, 0.12);
    border-radius: 14px;
    background: #ffffff;
    padding: 10px 12px;
    text-align: left;
    display: grid;
    gap: 4px;
    color: #2f3f5a;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.v2-preset-btn strong {
    color: #22314a;
    font-size: 0.92rem;
}

.v2-preset-btn span {
    font-size: 0.8rem;
    color: #667388;
}

.v2-preset-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(31, 45, 71, 0.1);
}

.v2-preset-btn.is-active {
    border-color: rgba(53, 92, 201, 0.45);
    background: linear-gradient(155deg, #eef3ff, #f6f8ff);
}

.v2-quote-box-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
}

.v2-quote-box {
    border: 1px solid rgba(35, 45, 62, 0.1);
    border-radius: 16px;
    background: #ffffff;
    padding: 12px;
    display: grid;
    gap: 8px;
    text-align: left;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.v2-quote-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(30, 39, 57, 0.11);
}

.v2-quote-box:focus-visible {
    outline: 3px solid rgba(53, 92, 201, 0.3);
    outline-offset: 2px;
}

.v2-quote-box.is-selected {
    border-color: rgba(53, 92, 201, 0.45);
    background:
        radial-gradient(circle at 90% 10%, rgba(53, 92, 201, 0.12) 0, rgba(53, 92, 201, 0) 44%),
        #ffffff;
}

.v2-box-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.v2-box-icon {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    display: inline-grid;
    place-items: center;
    background: #eef3ff;
    color: #355cc9;
    font-size: 1rem;
}

.v2-box-hours {
    font-size: 0.88rem;
    color: #233756;
    letter-spacing: 0.02em;
}

.v2-quote-box h4 {
    margin: 0;
    color: #1f2a3c;
    font-size: 1rem;
}

.v2-quote-box p {
    margin: 0;
    font-size: 0.87rem;
    color: #667288;
    min-height: 40px;
}

.v2-box-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.v2-box-theme {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    background: #eef2f8;
    color: #576782;
}

.v2-box-code {
    color: #7a8598;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.v2-box-unit-control {
    display: grid;
    grid-template-columns: auto auto auto 1fr;
    align-items: center;
    gap: 6px;
}

.v2-box-unit-control span {
    font-weight: 700;
    color: #203151;
    min-width: 24px;
    text-align: center;
}

.v2-box-unit-control small {
    color: #68758b;
    font-size: 0.72rem;
}

.v2-box-fixed {
    color: #66748a;
    font-size: 0.78rem;
    font-weight: 600;
}

.v2-box-select-btn {
    border: 1px solid rgba(33, 42, 56, 0.13);
    border-radius: 10px;
    min-height: 34px;
    background: #ffffff;
    color: #2a3b58;
    font-size: 0.8rem;
    font-weight: 700;
}

.v2-box-select-btn.is-selected {
    border-color: rgba(53, 92, 201, 0.5);
    background: #eef3ff;
    color: #294695;
}

.v2-quote-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.v2-quote-controls,
.v2-quote-controls-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.v2-build-panel {
    border-radius: 14px;
    border: 1px solid rgba(35, 45, 62, 0.1);
    background:
        radial-gradient(circle at 85% 5%, rgba(53, 92, 201, 0.16) 0, rgba(53, 92, 201, 0) 44%),
        #f8faff;
    padding: 12px;
    display: grid;
    gap: 10px;
}

.v2-build-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.v2-build-top strong {
    color: #233756;
}

.v2-build-top span {
    color: #60708a;
    font-size: 0.84rem;
}

.v2-build-progress {
    width: 100%;
    min-height: 10px;
    border-radius: 999px;
    background: rgba(53, 92, 201, 0.16);
    overflow: hidden;
}

.v2-build-progress > div {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, #355cc9, #1aa2c3);
    transition: width 0.24s ease;
}

.v2-build-kpis {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.v2-build-kpis span {
    color: #5f6d83;
    font-size: 0.82rem;
}

.v2-build-kpis strong {
    color: #22314a;
}

.v2-mission-panel,
.v2-smart-panel {
    border-radius: 14px;
    border: 1px solid rgba(35, 45, 62, 0.1);
    background: #ffffff;
    padding: 12px;
}

.v2-mission-panel h4,
.v2-smart-panel h4 {
    margin: 0 0 8px;
    font-size: 0.92rem;
    color: #22314a;
}

.v2-mission-list,
.v2-smart-tips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
}

.v2-mission-list li {
    min-height: 34px;
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 8px;
    color: #5b6a82;
    font-size: 0.84rem;
}

.v2-smart-tips li {
    min-height: 28px;
    display: block;
    color: #5b6a82;
    font-size: 0.84rem;
    line-height: 1.45;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
}

.v2-mission-list li i {
    color: #73819a;
}

.v2-mission-list li.is-complete {
    color: #2d7250;
}

.v2-mission-list li.is-complete i {
    color: #31a06c;
}

.v2-total-box {
    border-radius: 14px;
    border: 1px solid rgba(33, 40, 54, 0.1);
    background: #f8faff;
    padding: 12px;
    display: grid;
    gap: 7px;
}

.v2-total-box div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #4f5e77;
}

.v2-total-box strong {
    color: #21314a;
}

.v2-total-final {
    border-top: 1px dashed rgba(33, 40, 54, 0.2);
    padding-top: 7px;
    margin-top: 3px;
}

.v2-total-final strong {
    font-size: 1.18rem;
}

.v2-empty-row td {
    text-align: center;
    color: #69768d;
    padding: 18px !important;
}

.v2-qty-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.v2-captador-split {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 14px;
}

.v2-captador-panel .surface-body {
    display: grid;
    gap: 12px;
}

.v2-captador-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.v2-captador-form-grid {
    display: grid;
    gap: 12px;
}

.v2-form-block {
    border: 1px solid rgba(33, 40, 54, 0.08);
    border-radius: 14px;
    padding: 12px;
    background: #ffffff;
    display: grid;
    gap: 10px;
}

.v2-form-block h4 {
    margin: 0;
    font-size: 0.94rem;
    color: #233149;
}

.v2-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.v2-address-full {
    grid-column: 1 / -1;
}

.v2-form-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.v2-map-toolbar {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
}

.v2-map-status {
    min-height: 38px;
    border-radius: 10px;
    border: 1px solid rgba(33, 40, 54, 0.1);
    padding: 9px 11px;
    font-size: 0.84rem;
}

.v2-map-status[data-tone="muted"] { background: #f4f8fd; color: #52627a; }
.v2-map-status[data-tone="loading"] { background: #eef3ff; color: #36518f; }
.v2-map-status[data-tone="ok"] { background: #e9f7ef; color: #2f6b4a; }
.v2-map-status[data-tone="warn"] { background: #fff4e8; color: #975c2d; }
.v2-map-status[data-tone="error"] { background: #ffecec; color: #9f3f3f; }

.v2-capture-map {
    width: 100%;
    min-height: 360px;
    border-radius: 14px;
    border: 1px solid rgba(33, 40, 54, 0.1);
    overflow: hidden;
}

.v2-map-results-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.v2-map-results {
    max-height: 320px;
    overflow: auto;
    display: grid;
    gap: 8px;
}

.v2-map-result-card {
    border: 1px solid rgba(33, 40, 54, 0.1);
    border-radius: 12px;
    padding: 10px;
    background: #ffffff;
    display: grid;
    gap: 7px;
}

.v2-map-result-card.is-selected {
    border-color: rgba(53, 92, 201, 0.45);
    background: linear-gradient(155deg, #eef3ff, #ffffff);
}

.v2-map-result-card header,
.v2-map-result-card footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.v2-map-result-card header span {
    font-size: 0.72rem;
    color: #6a7890;
    font-weight: 700;
}

.v2-map-result-card p {
    margin: 0;
    color: #5e6d84;
    font-size: 0.84rem;
}

.v2-map-result-card small {
    color: #6a7790;
}

.v2-map-result-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.v2-map-result-chips span {
    display: inline-flex;
    min-height: 22px;
    padding: 0 9px;
    align-items: center;
    border-radius: 999px;
    background: #eef3fa;
    color: #5a6982;
    font-size: 0.72rem;
    font-weight: 700;
}

.v2-map-result-empty {
    border: 1px dashed rgba(33, 40, 54, 0.18);
    border-radius: 12px;
    padding: 12px;
    text-align: center;
    color: #66758e;
}

.v2-map-note {
    color: #697790;
    font-size: 0.82rem;
}

.v2-base-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.v2-base-plan-card {
    border: 1px solid rgba(33, 40, 54, 0.1);
    border-radius: 14px;
    background: #ffffff;
    padding: 12px;
    display: grid;
    gap: 7px;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.v2-base-plan-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(25, 35, 54, 0.1);
}

.v2-base-plan-card.is-selected {
    border-color: rgba(53, 92, 201, 0.48);
    background: linear-gradient(160deg, #eef3ff, #ffffff);
}

.v2-base-plan-card h4 {
    margin: 0;
    color: #22314a;
    font-size: 1rem;
}

.v2-base-plan-card p {
    margin: 0;
    color: #627189;
    font-size: 0.85rem;
    min-height: 44px;
}

.v2-base-plan-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #50617b;
}

.v2-base-plan-meta strong {
    color: #24344f;
}

.v2-audit-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.v2-audit-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.v2-audit-status {
    min-height: 40px;
    border-radius: 10px;
    border: 1px solid rgba(33, 40, 54, 0.1);
    padding: 10px 12px;
    font-size: 0.86rem;
}

.v2-audit-status[data-tone="muted"] { background: #f4f8fd; color: #54627a; }
.v2-audit-status[data-tone="loading"] { background: #eef3ff; color: #36518f; }
.v2-audit-status[data-tone="ok"] { background: #e9f7ef; color: #2f6b4a; }
.v2-audit-status[data-tone="warn"] { background: #fff4e8; color: #975c2d; }
.v2-audit-status[data-tone="error"] { background: #ffecec; color: #9f3f3f; }

.v2-audit-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.v2-audit-kpi {
    border: 1px solid rgba(33, 40, 54, 0.09);
    border-radius: 12px;
    padding: 10px;
    background: #ffffff;
    display: grid;
    gap: 4px;
}

.v2-audit-kpi span {
    color: #65748a;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

.v2-audit-kpi strong {
    color: #22314a;
    font-size: 1.06rem;
}

.v2-audit-section {
    border: 1px solid rgba(33, 40, 54, 0.08);
    border-radius: 12px;
    padding: 10px;
    background: #ffffff;
    margin-bottom: 10px;
}

.v2-audit-section h4 {
    margin: 0 0 8px;
    color: #22314a;
    font-size: 0.92rem;
}

.v2-audit-list {
    margin: 0;
    padding-left: 18px;
    color: #596982;
    display: grid;
    gap: 5px;
    font-size: 0.86rem;
}

@media (max-width: 1240px) {
    .v2-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .v2-module-links,
    .v2-radar-grid,
    .v2-client-main-layout,
    .v2-captador-split,
    .v2-quote-layout,
    .v2-quote-game-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 992px) {
    .v2-toolbar,
    .v2-catalog-grid,
    .v2-base-plan-grid,
    .v2-map-toolbar,
    .v2-audit-form-grid,
    .v2-audit-kpi-grid,
    .v2-quote-presets,
    .v2-quote-box-grid,
    .v2-quote-form-grid,
    .v2-quote-controls-grid,
    .v2-form-row,
    .v2-snapshot-grid,
    .v2-links-grid {
        grid-template-columns: 1fr;
    }

    body[data-app-version="v2"] .workspace-compact-switch span {
        display: none;
    }

    body[data-app-version="v2"] .workspace-compact-switch {
        padding: 0;
        width: 40px;
        justify-content: center;
    }
}

@media (max-width: 1100px) {
}

@media (max-width: 768px) {
    .v2-kpi-grid,
    .v2-lead-grid {
        grid-template-columns: 1fr;
    }

    .v2-build-top,
    .v2-build-kpis {
        flex-direction: column;
        align-items: flex-start;
    }

    .v2-map-results-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .v2-lead-flip-scene,
    .v2-lead-flip-card {
        min-height: 430px;
    }

    .v2-asset-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ---------------------------------------------------
   CLIENT FICHA � Hero, Alerts, Journey Stepper, Drive
   --------------------------------------------------- */

/* Back link + topbar */
.v2-client-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.v2-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #4f5f78;
    text-decoration: none;
    padding: 5px 12px 5px 8px;
    border-radius: 999px;
    background: rgba(33,40,54,0.05);
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}

.v2-back-link:hover {
    background: rgba(53,92,201,0.1);
    color: #274ba7;
}

/* Alert items in topbar */
.v2-alert-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.v2-alert-danger {
    background: #ffe9e9;
    color: #9f3f3f;
    border-color: rgba(159,63,63,0.18);
}

.v2-alert-warning {
    background: #fff4e3;
    color: #975c2d;
    border-color: rgba(151,92,45,0.18);
}

.v2-alert-info {
    background: #e8f4ff;
    color: #2f6399;
    border-color: rgba(47,99,153,0.18);
}

.v2-alert-muted {
    background: #f0f3f8;
    color: #5d6c83;
    border-color: rgba(93,108,131,0.14);
}

/* -- Hero card -- */
.v2-client-hero-card {
    border-top: 4px solid #355cc9;
}

.v2-hero-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 28px;
    align-items: flex-start;
}

.v2-hero-identity {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    flex: 0 0 auto;
    min-width: 200px;
}

.v2-hero-avatar {
    width: 60px;
    height: 60px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 800;
    color: #ffffff;
    flex-shrink: 0;
    letter-spacing: -0.02em;
}

.v2-hero-nameblock {
    display: grid;
    gap: 2px;
}

.v2-hero-name {
    margin: 0;
    font-size: 1.35rem;
    color: #1f2a3c;
    line-height: 1.2;
}

.v2-hero-company {
    margin: 0;
    color: #6a768a;
    font-size: 0.92rem;
}

.v2-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}

.v2-hero-contacts {
    flex: 1 1 200px;
    min-width: 180px;
    display: grid;
    gap: 7px;
}

.v2-hero-contact-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #3d4f67;
}

.v2-hero-contact-row.v2-contact-missing {
    color: #aab2bf;
}

.v2-hero-contact-link {
    color: #355cc9;
    text-decoration: none;
    font-weight: 600;
}

.v2-hero-contact-link:hover {
    text-decoration: underline;
    color: #274ba7;
}

.v2-hero-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-self: flex-start;
}

.v2-hero-kpi-chip {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: #f4f7fc;
    border: 1px solid rgba(33,40,54,0.08);
    border-radius: 14px;
    padding: 8px 14px;
    min-width: 80px;
    text-align: center;
}

.v2-hero-kpi-chip strong {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: #1f2a3c;
    line-height: 1;
}

.v2-hero-kpi-chip span {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6a768a;
    font-weight: 700;
    margin-top: 2px;
}

/* Hero external links */
.v2-hero-links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding-top: 14px;
    margin-top: 4px;
    border-top: 1px solid rgba(33,40,54,0.07);
}

.v2-hero-link-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 13px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    background: #eef2ff;
    color: #355cc9;
    border: 1px solid rgba(53,92,201,0.16);
    transition: background 0.15s, transform 0.15s;
}

.v2-hero-link-pill:hover { background: #e2e9ff; transform: translateY(-1px); color: #274ba7; }

.v2-hero-link-maps  { background: #e8f7ed; color: #2f7a50; border-color: rgba(47,122,80,0.16); }
.v2-hero-link-maps:hover  { background: #d8f2e3; color: #2f7a50; transform: translateY(-1px); }

.v2-hero-link-store { background: #fff4e3; color: #975c2d; border-color: rgba(151,92,45,0.16); }
.v2-hero-link-store:hover { background: #ffebd0; color: #975c2d; transform: translateY(-1px); }

.v2-hero-link-social { background: #fdf0ff; color: #8b2fc2; border-color: rgba(139,47,194,0.16); }
.v2-hero-link-social:hover { background: #f6e0ff; color: #8b2fc2; transform: translateY(-1px); }

/* -- Active service panel -- */
.v2-service-panel > summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 20px;
    border-radius: 18px 18px 0 0;
    user-select: none;
}

.v2-service-panel > summary::-webkit-details-marker { display: none; }

.v2-service-panel-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.v2-service-summary-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.v2-service-summary-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.v2-service-icon {
    width: 42px;
    height: 42px;
    background: #eef3ff;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #355cc9;
    font-size: 1.15rem;
    flex-shrink: 0;
}

.v2-panel-chevron {
    color: #7a8aa0;
    font-size: 0.85rem;
    transition: transform 0.2s ease;
}

.v2-service-panel[open] .v2-panel-chevron {
    transform: rotate(180deg);
}

/* -- Journey Stepper -- */
.v2-journey-stepper-wrap {
    padding: 18px 0 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.v2-journey-stepper {
    display: flex;
    align-items: flex-start;
    min-width: max-content;
    padding: 0 4px 12px;
}

.v2-journey-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0 10px;
    min-width: 100px;
    transition: transform 0.15s ease;
}

.v2-journey-step:hover { transform: translateY(-2px); }

.v2-journey-step-num {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9rem;
    border: 2px solid #d0d8e8;
    background: #f2f5fb;
    color: #8896a8;
    transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;
    position: relative;
    z-index: 1;
}

.v2-journey-step.is-done .v2-journey-step-num {
    background: #e8f7ed;
    border-color: #3fa86e;
    color: #2f7a50;
}

.v2-journey-step.is-current .v2-journey-step-num {
    background: linear-gradient(135deg, #355cc9, #274ba7);
    border-color: #355cc9;
    color: #ffffff;
    box-shadow: 0 6px 18px rgba(53,92,201,0.35);
}

.v2-journey-step-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: #8896a8;
    text-align: center;
    line-height: 1.3;
    max-width: 88px;
    word-break: break-word;
}

.v2-journey-step.is-done  .v2-journey-step-label { color: #2f7a50; font-weight: 700; }
.v2-journey-step.is-current .v2-journey-step-label { color: #274ba7; font-weight: 800; }

.v2-journey-connector {
    flex: 1;
    height: 2px;
    background: #d8e2ef;
    margin-top: 20px;
    align-self: flex-start;
    min-width: 20px;
    transition: background 0.3s ease;
}

.v2-journey-connector.is-done    { background: #3fa86e; }
.v2-journey-connector.is-current { background: linear-gradient(90deg, #3fa86e, #355cc9); }

/* Notes bar */
.v2-journey-notes-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f5f8fc;
    border-radius: 12px;
    padding: 10px 14px;
    margin-top: 4px;
}

.v2-journey-notes-bar .label-muted {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5d6c83;
    white-space: nowrap;
}

/* -- Services table active row -- */
.v2-row-active {
    background: #f0f9f4;
}

.v2-row-active td {
    border-color: rgba(63,168,110,0.15) !important;
}

/* -- Drive grid -- */
.v2-drive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
}

.v2-drive-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 12px 8px;
    border: 1px solid rgba(33,40,54,0.09);
    border-radius: 14px;
    background: #fafbfd;
    text-decoration: none;
    text-align: center;
    transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
    cursor: pointer;
}

.v2-drive-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(30,40,58,0.08);
    background: #ffffff;
    text-decoration: none;
}

.v2-drive-item-name {
    font-size: 0.76rem;
    font-weight: 700;
    color: #2f3f5a;
    word-break: break-word;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.3;
}

.v2-drive-item-type {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8896a8;
    background: #eef2f8;
    padding: 1px 6px;
    border-radius: 6px;
}

.v2-drive-item-meta {
    font-size: 0.67rem;
    color: #9aa5b5;
}

/* -- Vendor feeling radio buttons -- */
.v2-feeling-row {
    display: flex;
    gap: 6px;
}

.v2-feeling-btn {
    cursor: pointer;
    margin: 0;
}

.v2-feeling-btn input { display: none; }

.v2-feeling-btn span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.88rem;
    border: 2px solid #d0d8e8;
    background: #f5f7fb;
    color: #6a768a;
    transition: all 0.15s;
}

.v2-feeling-btn input:checked + span {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    border-color: #a855f7;
    color: #fff;
    box-shadow: 0 4px 12px rgba(168,85,247,0.3);
}

.v2-feeling-btn:hover span {
    border-color: #a855f7;
    color: #7c3aed;
}

/* -- Right aside stacked layout -- */
.v2-client-aside {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* -- Comment add form -- */
.v2-comment-add-form textarea:focus {
    border-color: rgba(53,92,201,0.4);
    box-shadow: 0 0 0 3px rgba(53,92,201,0.1);
}

.v2-no-opportunity-wrap {
    display: grid;
    gap: 12px;
}

.v2-no-opportunity-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: end;
}


/* -- Client Journey stage panels -- */
.v2-stage-panel { border-left: 3px solid #e8ecf1; padding-left: 1rem; }
.v2-stage-panel-header { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .5rem; }
.v2-stage-num-badge { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; color: #fff; font-weight: 700; font-size: .85rem; flex-shrink: 0; margin-top: 2px; }
.v2-section-mini-title { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #8896a8; margin: 0 0 .5rem; font-weight: 600; }
.v2-onboarding-check-field { background: #f8fafc; border: 1px solid #e8ecf1; border-radius: 8px; padding: .75rem; }
.v2-stage1-checklist-overview { background: #f4f8ff; border: 1px solid #d9e4fb; border-radius: 12px; padding: .9rem; margin-top: .75rem; }
.v2-stage1-progress-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .5rem; font-size: .83rem; color: #425778; }
.v2-stage1-progress-head strong { color: #1f2a3c; }
.v2-stage1-progress-bar { height: 8px; border-radius: 999px; background: #d9e4fb; overflow: hidden; margin-bottom: .75rem; }
.v2-stage1-progress-bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #355cc9, #3fa86e); }
.v2-stage1-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.v2-stage1-item { display: flex; align-items: center; gap: .5rem; padding: .45rem .55rem; border-radius: 8px; font-size: .82rem; border: 1px solid transparent; }
.v2-stage1-item i { font-size: .9rem; }
.v2-stage1-item.is-done { background: #e8f7ed; color: #2f7a50; border-color: rgba(63,168,110,.35); }
.v2-stage1-item.is-pending { background: #fff2ef; color: #9a4f37; border-color: rgba(229,75,75,.25); }
.v2-stage1-edit-collapse,
.v2-onboarding-master-summary {
    border: 1px solid #dbe4f3;
    border-radius: 10px;
    background: #ffffff;
    overflow: hidden;
}

.v2-stage1-edit-collapse > summary,
.v2-onboarding-master-summary > summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .7rem .85rem;
    font-size: .86rem;
    font-weight: 700;
    color: #2c477c;
    background: #f2f6ff;
}

.v2-stage1-edit-collapse > summary::-webkit-details-marker,
.v2-onboarding-master-summary > summary::-webkit-details-marker {
    display: none;
}

.v2-stage1-edit-collapse[open] > summary,
.v2-onboarding-master-summary[open] > summary {
    border-bottom: 1px solid #dbe4f3;
}

.v2-stage1-edit-collapse > form {
    padding: 0 .2rem .2rem;
}

.v2-client-insights-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .75rem;
}

.v2-client-segment-collapse {
    border: 1px solid #dbe4f3;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
}

.v2-client-segment-collapse > summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .75rem .95rem;
    background: linear-gradient(90deg, #eff4ff, #f8fbff);
    color: #2e4a82;
    font-weight: 700;
}

.v2-client-segment-collapse > summary::-webkit-details-marker {
    display: none;
}

.v2-client-segment-collapse[open] > summary {
    border-bottom: 1px solid #dbe4f3;
}

.v2-client-segment-body {
    padding: .9rem;
    background: #ffffff;
}

.v2-client-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.v2-client-info-item {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    padding: .55rem .65rem;
    border: 1px solid #e5ebf6;
    border-radius: 9px;
    background: #f9fbff;
}

.v2-client-info-item i {
    color: #355cc9;
    font-size: .95rem;
    margin-top: .1rem;
}

.v2-client-info-item strong {
    display: block;
    color: #1f2a3c;
    font-size: .82rem;
}

.v2-client-info-item span {
    display: block;
    color: #64748d;
    font-size: .78rem;
}

.v2-client-text-block {
    border: 1px solid #e5ebf6;
    border-radius: 9px;
    background: #f8faff;
    padding: .7rem .8rem;
    color: #4f5f78;
    font-size: .84rem;
}

.v2-client-file-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.v2-requirement-pack-list {
    display: grid;
    gap: .55rem;
}

.v2-requirement-pack-item {
    border: 1px solid #e5ebf6;
    border-radius: 10px;
    background: #f9fbff;
    padding: .7rem .75rem;
}

.v2-requirement-pack-item header {
    display: flex;
    justify-content: space-between;
    gap: .55rem;
    align-items: center;
    margin-bottom: .35rem;
}

.v2-requirement-pack-item strong {
    color: #1f2a3c;
    font-size: .85rem;
}

.v2-requirement-pack-item small {
    color: #6b788f;
    font-size: .76rem;
}

.v2-requirement-pack-item p {
    color: #56647d;
    font-size: .82rem;
}

.v2-onboarding-master-summary .v2-ref-body {
    margin-top: 0;
    border-radius: 0;
}
.v2-onboarding-ref-details summary.v2-ref-summary { cursor: pointer; color: #355cc9; font-size: .85rem; padding: .4rem 0; }
.v2-ref-body { background: #f0f4ff; border-radius: 6px; padding: .75rem 1rem; margin-top: .5rem; font-size: .85rem; }
.v2-action-prompt { padding: 1.5rem; background: #fffbf5; border: 1px dashed #f08f4f; border-radius: 8px; }
.v2-empty-state-box { background: #f8fafc; border: 1px solid #e8ecf1; border-radius: 8px; padding: 1.5rem; text-align: center; }
.v2-proposals-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .75rem; }
.v2-proposal-card { border: 1.5px solid #e8ecf1; border-radius: 10px; padding: .875rem; display: flex; flex-direction: column; gap: .25rem; }
.v2-proposal-card.is-selected { border-color: #3fa86e; background: #f0fdf4; }
.v2-proposal-card-num { display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: .85rem; color: #1f2a3c; }
.v2-proposal-link { font-size: .8rem; color: #355cc9; word-break: break-all; text-decoration: none; }
.v2-proposal-link:hover { text-decoration: underline; }
.v2-proposal-comments { font-size: .82rem; color: #5a6678; margin-bottom: 0; }
.v2-selected-notes-box { background: #f0fdf4; border: 1px solid #86efac; border-radius: 8px; padding: .875rem; }

@media (max-width: 992px) {
    .v2-comment-fields {
        grid-template-columns: 1fr;
    }

    .v2-stage1-grid {
        grid-template-columns: 1fr;
    }

    .v2-client-info-grid {
        grid-template-columns: 1fr;
    }

    .v2-no-opportunity-form {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   PROFILE 3-COLUMN LAYOUT (v2_vendedor_cliente.php)
   ============================================================ */

.v2-page-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.v2-breadcrumb-action {
    margin-left: auto;
}

/* .v2-profile-layout usa Bootstrap row g-3 align-items-start con col-md-2/6/4 */
.v2-profile-layout {
    /* Bootstrap row maneja el grid */
}

.v2-profile-left,
.v2-profile-middle,
.v2-profile-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* --- Profile card (white box) --- */
.v2-profile-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(33, 40, 54, 0.08);
    padding: 16px;
    box-shadow: 0 1px 4px rgba(20, 30, 48, 0.05);
}

/* --- Identity card --- */
.v2-profile-identity-card {
    text-align: center;
    padding: 22px 16px 18px;
    background: linear-gradient(160deg, #ffffff 0%, #f8f9ff 100%);
    border-top: 4px solid #355cc9;
}

.v2-profile-avatar-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 14px;
}

.v2-profile-avatar-lg {
    width: 76px !important;
    height: 76px !important;
    font-size: 1.5rem !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}

.v2-profile-name {
    font-size: 1.08rem;
    font-weight: 800;
    color: #1a2434;
    margin: 0 0 4px;
    line-height: 1.25;
}

.v2-profile-company {
    font-size: 0.84rem;
    color: #68788f;
    margin: 0 0 10px;
}

.v2-profile-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}

/* --- Section title label --- */
.v2-profile-section-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-weight: 800;
    color: #8a9ab5;
    margin-bottom: 10px;
}

/* --- KPI grid --- */
.v2-profile-kpis {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.v2-profile-kpi-item {
    background: #f8f9fc;
    border-radius: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(33, 40, 54, 0.07);
    border-left: 3px solid #d0d8e8;
    display: grid;
    gap: 3px;
}

.v2-profile-kpi-item strong {
    font-size: 1rem;
    display: block;
    color: #1a2434;
    line-height: 1;
    font-weight: 800;
}

.v2-profile-kpi-item span {
    font-size: 0.68rem;
    color: #8a9ab5;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}

.v2-pkpi-green  { border-left-color: #3fa86e; }
.v2-pkpi-orange { border-left-color: #f08f4f; }
.v2-pkpi-blue   { border-left-color: #355cc9; }
.v2-pkpi-purple { border-left-color: #a855f7; }

.v2-pkpi-green  strong { color: #1f6642; }
.v2-pkpi-orange strong { color: #8a4e1a; }
.v2-pkpi-blue   strong { color: #25419a; }
.v2-pkpi-purple strong { color: #6b28d4; }

/* --- Link buttons (left column) --- */
.v2-profile-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.v2-profile-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    background: #eef2ff;
    color: #3548a5;
    border: 1px solid rgba(53, 92, 201, 0.14);
    transition: background 0.15s ease, transform 0.12s ease;
}

.v2-profile-link-btn:hover      { background: #dde7ff; color: #2b3e94; transform: translateX(2px); }
.v2-plb-green                   { background: #e8f7ed; color: #1e6440; border-color: rgba(63, 168, 110, 0.18); }
.v2-plb-green:hover             { background: #d4f0de; color: #1e6440; }
.v2-plb-teal                    { background: #e6f7fb; color: #0a5e78; border-color: rgba(8, 145, 178, 0.18); }
.v2-plb-teal:hover              { background: #cceef5; color: #0a5e78; }
.v2-plb-pink                    { background: #fce7f3; color: #8b1a50; border-color: rgba(219, 39, 119, 0.14); }
.v2-plb-pink:hover              { background: #f9d0e5; color: #8b1a50; }

/* --- Alerts (left column) --- */
.v2-profile-alerts {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.v2-profile-alert-item {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 0.81rem;
    font-weight: 500;
    line-height: 1.45;
    border: 1px solid transparent;
}

.v2-profile-alert-item i { font-size: 0.9rem; flex-shrink: 0; margin-top: 1px; }

.v2-profile-alert-item.v2-alert-danger  { background: #fff0f0; color: #8e2c2c; border-color: rgba(200,70,70,.18); }
.v2-profile-alert-item.v2-alert-warning { background: #fffbf0; color: #7d5415; border-color: rgba(200,140,40,.18); }
.v2-profile-alert-item.v2-alert-info    { background: #f0f7ff; color: #1a5290; border-color: rgba(40,110,190,.18); }
.v2-profile-alert-item.v2-alert-muted   { background: #f5f7fa; color: #52617a; border-color: rgba(33,40,54,.1); }

/* --- Warning card (sin oportunidad) --- */
.v2-profile-card-warning {
    border-color: rgba(230, 140, 50, 0.22);
    background: linear-gradient(160deg, #fffdf8, #ffffff);
}

/* --- Drive list (compact) --- */
.v2-drive-list-compact {
    display: flex;
    flex-direction: column;
    gap: 5px;
    max-height: 210px;
    overflow-y: auto;
}

.v2-drive-item-sm {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border-radius: 10px;
    border: 1px solid rgba(33, 40, 54, 0.07);
    text-decoration: none;
    color: #3a4a60;
    font-size: 0.82rem;
    font-weight: 600;
    transition: background 0.14s ease;
    min-width: 0;
}

.v2-drive-item-sm:hover { background: #f4f7ff; text-decoration: none; color: #222f45; }
.v2-drive-item-sm i     { font-size: 1.15rem; flex-shrink: 0; }
.v2-drive-item-sm span  { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* --- Section headings (middle + right columns) --- */
.v2-section-heading {
    font-size: 0.98rem;
    font-weight: 800;
    color: #1a2434;
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.v2-section-heading-sm {
    font-size: 0.88rem;
    font-weight: 800;
    color: #1a2434;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

/* --- Journey card: no extra inner padding needed --- */
.v2-journey-card {
    padding: 0;
    overflow: hidden;
}

.v2-journey-card .v2-service-panel > summary {
    border-radius: 16px;
}

.v2-journey-card .v2-service-panel[open] > summary {
    border-radius: 16px 16px 0 0;
}

.v2-journey-card .v2-service-panel > div {
    padding: 0 18px 18px;
}

/* --- Chat panel --- */
.v2-chat-panel {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.v2-chat-header {
    padding: 16px 16px 12px;
    border-bottom: 1px solid rgba(33, 40, 54, 0.07);
}

.v2-chat-body {
    padding: 12px 14px;
    max-height: 620px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    scrollbar-width: thin;
    scrollbar-color: #d8e0ec transparent;
}

.v2-chat-footer {
    padding: 12px 14px 14px;
    border-top: 1px solid rgba(33, 40, 54, 0.07);
    background: #fafbfc;
}

.v2-profile-collapse > summary {
    list-style: none;
    cursor: pointer;
}

.v2-profile-collapse > summary::-webkit-details-marker {
    display: none;
}

.v2-drive-manager-card {
    border: 1px solid rgba(240, 143, 79, 0.22);
    background: linear-gradient(180deg, #ffffff 0%, #fffaf4 100%);
}

.v2-drive-upload-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr auto;
    gap: 8px;
}

.v2-drive-table td {
    vertical-align: middle;
}

@media (max-width: 992px) {
    .v2-breadcrumb-action {
        margin-left: 0;
    }

    .v2-drive-upload-grid {
        grid-template-columns: 1fr;
    }

    .v2-chat-body {
        max-height: 520px;
    }
}

/* --- Responsive: Bootstrap col-md-2/6/4 maneja el layout de 3 columnas --- */

