.cabarceno-scope .bg-light {
    background-color: #0A8490 !important;
}

.cabarceno-scope .cabarceno-navbar {
    background: linear-gradient(135deg, #0A8490 0%, #086d77 100%) !important;
    border-radius: 12px;
    margin-top: 12px;
    padding: 0.4rem 0.8rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

.cabarceno-scope .cabarceno-navbar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.cabarceno-scope .cabarceno-navbar-brand {
    color: #ffffff;
}

.cabarceno-scope .cabarceno-navbar-left {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.cabarceno-scope .cabarceno-navbar-kicker {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.95;
    line-height: 1.1;
}

.cabarceno-scope .cabarceno-navbar-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.1;
}

.cabarceno-scope .cabarceno-navbar-logos {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: nowrap;
}

.cabarceno-scope .cabarceno-navbar-collab {
    margin: 0;
    color: #ffffff;
    font-weight: 600;
    font-size: 0.92rem;
}

.cabarceno-scope .cabarceno-navbar-logo {
    object-fit: contain;
}

.cabarceno-scope .cabarceno-logo-main {
    height: 44px;
    width: auto;
    background: transparent;
    border-radius: 0;
    padding: 0;
}

.cabarceno-scope .cabarceno-logo-sumlab {
    height: 34px;
    width: auto;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 10px;
    padding: 0.25rem 0.4rem;
}

.cabarceno-scope .bg-light .imagenes_logo img {
    display: block;
    margin: auto;
}

.cabarceno-scope .bg-light a {
    text-decoration: none !important;
}

.cabarceno-scope h1 {
    color: #0A8490 !important;
}

.cabarceno-scope hr {
    border-color: #0A8490 !important;
}

.cabarceno-scope .btn-primary,
.cabarceno-scope button {
    background-color: #0A8490 !important;
    border-color: #0A8490 !important;
}

.cabarceno-scope .btn-outline-primary {
    color: #0A8490 !important;
    border-color: #0A8490 !important;
}

.cabarceno-scope .btn-outline-primary:hover {
    color: #fff !important;
    background-color: #0A8490 !important;
    border-color: #0A8490 !important;
}

.cabarceno-scope .btn-check:checked + .btn-outline-primary,
.cabarceno-scope .btn-outline-primary.active {
    color: #fff !important;
    background-color: #0A8490 !important;
    border-color: #0A8490 !important;
}

.cabarceno-scope .alert p,
.cabarceno-scope .alert h2 {
    text-align: center;
}

.cabarceno-scope table {
    width: 100%;
    table-layout: fixed;
    text-align: center;
}

.cabarceno-scope .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cabarceno-scope .alert {
    word-break: break-word;
}

.cabarceno-scope .btn-main {
    min-height: 44px;
}

.cabarceno-scope .cab-p2-content {
    max-width: 1100px;
    margin: 0 auto;
}

.cabarceno-scope .cab-scenario-wrap {
    margin-bottom: 1rem;
    background: linear-gradient(180deg, #eaf7f8 0%, #ffffff 100%);
    border: 1px solid #b9dfe3;
    border-radius: 12px;
    padding: 0.85rem 1rem;
}

.cabarceno-scope .cab-scenario-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 0.55rem;
}

.cabarceno-scope .cab-scenario-chip {
    display: inline-block;
    font-weight: 800;
    color: #064b52;
    background: #d9f0f2;
    border: 1px solid #8ac8cf;
    border-radius: 999px;
    padding: 0.25rem 0.65rem;
    font-size: 0.9rem;
}

.cabarceno-scope .cab-block-chip {
    display: inline-block;
    font-weight: 700;
    color: #4d4d4d;
    background: #ffffff;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.82rem;
}

.cabarceno-scope .cab-progress {
    height: 10px;
    border-radius: 999px;
    background-color: #e8f4f5;
}

.cabarceno-scope .cab-card {
    border-radius: 12px;
    border: 1px solid #c8e3e6;
    box-shadow: 0 6px 18px rgba(10, 132, 144, 0.12);
}

.cabarceno-scope .cab-card .card-header {
    background: linear-gradient(135deg, #0a8490 0%, #086d77 100%);
    color: #ffffff;
    font-weight: 700;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.cabarceno-scope .cab-card .card-body {
    background: #ffffff;
}

.cabarceno-scope .cab-table {
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.cabarceno-scope .cab-table thead th {
    background: #eaf7f8;
    color: #064b52;
    font-weight: 700;
    border-bottom: 1px solid #c8e3e6;
}

.cabarceno-scope .cab-table tbody tr:nth-child(even) td {
    background-color: #f7fcfc;
}

.cabarceno-scope .cab-table td,
.cabarceno-scope .cab-table th {
    vertical-align: middle;
}

.cabarceno-scope .cab-choice-card .card-header {
    background: #1f2937;
    border-bottom: 0;
}

.cabarceno-scope .cab-choice-help {
    text-align: left !important;
    color: #4b5563;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
}

.cabarceno-scope .cab-choice-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.cabarceno-scope .cab-choice-group .form-check {
    margin: 0;
    padding-left: 0;
}

.cabarceno-scope .cab-choice-btn {
    border-radius: 999px !important;
    font-weight: 700;
    padding: 0.5rem 0.85rem;
    border-width: 2px;
}

.cabarceno-scope .cab-page-hero {
    background: linear-gradient(135deg, #0a8490 0%, #086d77 100%);
    color: #ffffff;
    border-radius: 14px;
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
    box-shadow: 0 10px 22px rgba(44, 74, 1, 0.18);
}

.cabarceno-scope .cab-page-hero h1,
.cabarceno-scope .cab-page-hero h2 {
    color: #ffffff !important;
    margin-bottom: 0.25rem;
    font-size: 1.7rem;
}

.cabarceno-scope .cab-page-hero p {
    margin: 0;
    opacity: 0.95;
    font-weight: 500;
}


.cabarceno-scope .cab-step-title {
    margin-bottom: 0.25rem;
}

.cabarceno-scope .cab-step-subtitle {
    margin: 0;
    opacity: 0.95;
    font-weight: 500;
}

.cabarceno-scope .cab-page-hero-soft {
    background: linear-gradient(180deg, #eaf7f8 0%, #ffffff 100%);
    border: 1px solid #b9dfe3;
    box-shadow: none;
}

.cabarceno-scope .cab-page-hero-soft h1,
.cabarceno-scope .cab-page-hero-soft h2,
.cabarceno-scope .cab-page-hero-soft p {
    color: #064b52 !important;
}

.cabarceno-scope .cab-form-wrap {
    margin-bottom: 0.5rem;
}

.cabarceno-scope .cab-form-stack .cab-q-card {
    margin-bottom: 0.85rem;
}

.cabarceno-scope .cab-q-card .card-header {
    background: #eaf7f8;
    color: #064b52;
    border-bottom: 1px solid #c8e3e6;
    font-weight: 700;
}

.cabarceno-scope .cab-q-card .form-check {
    padding: 0.35rem 0.5rem;
    border: 1px solid #e5edd8;
    border-radius: 10px;
    margin-bottom: 0.35rem;
}

.cabarceno-scope .cab-q-card .form-check:hover {
    background: #f7fcfc;
    border-color: #cddfb2;
}

.cabarceno-scope .cab-q-card .form-check-input:checked {
    background-color: #0a8490;
    border-color: #0a8490;
}

.cabarceno-scope .cab-required-label {
    display: inline-block;
    margin: 0 0 0.25rem 0.25rem;
}

.cabarceno-scope .cab-lat-alert {
    border-radius: 12px;
    border: 1px solid #c7def7;
}

.cabarceno-scope .cab-lat-alert p {
    margin-bottom: 0.25rem;
}

.cabarceno-scope .cab-lat-card .card-body {
    padding: 1rem 1rem 0.9rem 1rem;
}

.cabarceno-scope .cab-lat-scale-title {
    font-weight: 700;
    color: #064b52;
    margin-bottom: 0.25rem;
}

.cabarceno-scope .cab-table-latentes th:first-child,
.cabarceno-scope .cab-table-latentes td:first-child {
    text-align: left;
    font-weight: 600;
}

.cabarceno-scope .cab-table-latentes td:last-child {
    text-align: center;
}

.cabarceno-scope .cab-intro-card .card-body {
    padding: 1.15rem 1.2rem;
}

.cabarceno-scope .cab-legal-card .card-header {
    background: #eaf7f8;
    color: #064b52;
    border-bottom: 1px solid #c8e3e6;
    font-weight: 700;
}

.cabarceno-scope .cab-legal-copy {
    text-align: justify;
    font-size: 0.84rem;
    line-height: 1.35;
    margin: 0;
}

.cabarceno-scope .cab-outro-card .card-body {
    text-align: center;
    padding: 1.35rem 1.2rem;
}

.cabarceno-scope .cab-outro-title {
    color: #064b52;
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 0.7rem;
}

.cabarceno-scope .cab-outro-text {
    color: #4d4d4d;
    font-weight: 500;
}

.cabarceno-scope .cab-outro-actions {
    justify-content: center;
}

.cabarceno-scope .cab-scenario-flash {
    animation: cabScenarioFlash 1100ms cubic-bezier(0.22, 1, 0.36, 1);
}

.cabarceno-scope .cab-scenario-flash-inner {
    animation: cabScenarioFlashInner 1100ms cubic-bezier(0.22, 1, 0.36, 1);
    transform-origin: top center;
}

@keyframes cabScenarioFlash {
    0% {
        opacity: 0.25;
        transform: translateY(14px);
    }
    45% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cabScenarioFlashInner {
    0% {
        transform: translateY(12px) scale(0.992);
        box-shadow: 0 0 0 0 rgba(114, 184, 2, 0.45);
        filter: saturate(0.92);
    }
    40% {
        transform: translateY(0) scale(1);
        box-shadow: 0 0 0 8px rgba(114, 184, 2, 0.12);
        filter: saturate(1.05);
    }
    100% {
        transform: translateY(0) scale(1);
        box-shadow: 0 0 0 0 rgba(114, 184, 2, 0);
        filter: saturate(1);
    }
}

.cabarceno-scope .latente-radio-group .form-check {
    margin-right: 0.35rem;
}

.cabarceno-scope .latente-radio-group .form-check-label {
    min-width: 1.2rem;
    text-align: center;
}

@media (max-width: 768px) {
    .cabarceno-scope .cabarceno-navbar {
        border-radius: 10px;
        margin-top: 8px;
        padding: 0.55rem 0.65rem;
    }

    .cabarceno-scope .cabarceno-navbar-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .cabarceno-scope .cabarceno-navbar-logos {
        width: 100%;
        justify-content: flex-start;
    }

    .cabarceno-scope .cabarceno-navbar-left {
        gap: 0.35rem;
    }

    .cabarceno-scope .cabarceno-navbar-kicker {
        font-size: 0.68rem;
        letter-spacing: 0.04em;
    }

    .cabarceno-scope .cabarceno-navbar-title {
        font-size: 1.05rem;
        line-height: 1.15;
    }

    .cabarceno-scope .cab-page-hero h1,
    .cabarceno-scope .cab-page-hero h2 {
        font-size: 1.35rem;
    }

    .cabarceno-scope .cab-outro-title {
        font-size: 1.12rem;
    }

    .cabarceno-scope .cab-legal-copy {
        font-size: 0.78rem;
        line-height: 1.28;
    }

    .cabarceno-scope .cab-scenario-head {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 0.65rem;
    }

    .cabarceno-scope .cab-choice-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .cabarceno-scope .cab-choice-btn {
        width: 100%;
        text-align: center;
    }

    .cabarceno-scope .cabarceno-logo-main {
        height: 38px;
    }

    .cabarceno-scope .cabarceno-logo-sumlab {
        height: 30px;
    }

    .cabarceno-scope h1 {
        font-size: 1.6rem;
    }

    .cabarceno-scope h2 {
        font-size: 1.3rem;
    }

    .cabarceno-scope .card-header {
        font-size: 0.96rem;
    }

    .cabarceno-scope .btn,
    .cabarceno-scope button {
        min-height: 44px;
        font-size: 1rem;
    }

    .cabarceno-scope input,
    .cabarceno-scope select,
    .cabarceno-scope textarea {
        font-size: 16px !important;
    }

    .cabarceno-scope table {
        table-layout: auto;
    }

    .cabarceno-scope th,
    .cabarceno-scope td {
        white-space: normal;
        word-break: break-word;
        font-size: 0.92rem;
        padding: 0.45rem;
    }

    .cabarceno-scope .latentes-table thead {
        display: none;
    }

    .cabarceno-scope .latentes-table tr {
        display: block;
        margin-bottom: 0.7rem;
        border: 1px solid #e6e6e6;
        border-radius: 8px;
        overflow: hidden;
    }

    .cabarceno-scope .latentes-table td,
    .cabarceno-scope .latentes-table th {
        display: block;
        width: 100% !important;
        border: none;
    }

    .cabarceno-scope .latentes-table td:first-child {
        background: #f8f8f8;
        font-weight: 600;
        padding-bottom: 0.35rem;
    }

    .cabarceno-scope .latente-radio-group {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        gap: 0.2rem;
        align-items: center;
        justify-items: center;
    }

    .cabarceno-scope .latente-radio-group .form-check {
        margin: 0 !important;
        padding-left: 0 !important;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .cabarceno-scope .latente-radio-group .form-check-input {
        margin: 0 0 0.1rem 0 !important;
        float: none;
    }

    .cabarceno-scope .latente-radio-group .form-check-label {
        font-size: 0.78rem;
    }
}

@media (max-width: 576px) {
    .cabarceno-scope .cabarceno-navbar-title {
        font-size: 0.96rem;
    }

    .cabarceno-scope .cabarceno-navbar-collab {
        font-size: 0.8rem;
    }

    .cabarceno-scope .cabarceno-navbar-logos {
        gap: 0.45rem;
        flex-wrap: wrap;
    }

    .cabarceno-scope .cabarceno-logo-main {
        height: 32px;
    }

    .cabarceno-scope .cabarceno-logo-sumlab {
        height: 26px;
    }

    .cabarceno-scope .alert {
        padding: 0.75rem;
    }

    .cabarceno-scope .card-body {
        padding: 0.75rem;
    }

    .cabarceno-scope .btn-group {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .cabarceno-scope .btn-group .btn {
        flex: 1 1 auto;
    }

    .cabarceno-scope .latentes-table td:first-child {
        font-size: 0.88rem;
    }

    .cabarceno-scope .latente-radio-group {
        gap: 0.12rem;
    }

    .cabarceno-scope .latente-radio-group .form-check-label {
        font-size: 0.72rem;
    }
}


.cabarceno-scope .soria-tipo-encuesta-radios {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.cabarceno-scope .soria-tipo-encuesta-radios .btn {
    min-width: 150px;
    font-weight: 700;
    border-radius: 999px;
}


/* Dropdowns (Dash dcc.Dropdown) en blanco */
.cabarceno-scope .Select-control,
.cabarceno-scope .Select-menu-outer,
.cabarceno-scope .Select-menu,
.cabarceno-scope .Select-placeholder,
.cabarceno-scope .Select--single > .Select-control .Select-value,
.cabarceno-scope .Select-input > input {
    background-color: #ffffff !important;
}

.cabarceno-scope .Select-control,
.cabarceno-scope .Select--single > .Select-control .Select-value,
.cabarceno-scope .Select-placeholder,
.cabarceno-scope .Select-option,
.cabarceno-scope .Select-value-label {
    color: #1f2937 !important;
}

.cabarceno-scope .Select-control {
    border-color: #c8e3e6 !important;
}


/* Dropdown v2 (dash-dropdown / radix) en blanco */
.cabarceno-scope .dash-dropdown,
.cabarceno-scope .dash-dropdown-trigger,
.cabarceno-scope .dash-dropdown-grid-container,
.cabarceno-scope .dash-dropdown-value,
.cabarceno-scope .dash-dropdown-placeholder,
.cabarceno-scope .dash-dropdown-content,
.cabarceno-scope .dash-dropdown-viewport,
.cabarceno-scope .dash-dropdown-item {
    background: #ffffff !important;
    color: #1f2937 !important;
}

.cabarceno-scope .dash-dropdown {
    border: 1px solid #c8e3e6 !important;
    border-radius: 8px !important;
}

.cabarceno-scope .dash-dropdown-item[data-highlighted],
.cabarceno-scope .dash-dropdown-item[aria-selected="true"] {
    background: #f3fbfc !important;
    color: #0a8490 !important;
}
