﻿@font-face {
    font-family: 'Inter';
    src: url('/fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('/fonts/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

* {
    font-family: 'Inter', sans-serif !important;
}

:root {
    /* Brand Colors */
    --rssa-black: #0b0537;
    --rssa-white: #ffffff;
    --rssa-gray: #505967;
    --rssa-light-gray: #d9d9d9;
    --rssa-lighter-gray: rgba(2,6,23,.06);
    --rssa-red: #ef4444;
    --rssa-dark-red: #a00;
    --rssa-blue: #1d0782;
    --rssa-orange: #F15931;
    --rssa-light-blue: #000FF5;
    --rssa-ghost-blue: #99c2ff;
    --rssa-input-color: #e6e7e8;
    --brand-blue-700: #1E2758;
    --rssa-background-gray: #e4e4e7;
    --rssa-background-blue: #1d4ed8;
    /* Extended Palette */
    --brand-text: #0F172A;
    --text-primary: #1f2937;
    --text-dark: #535455;
    --muted: #6B7280;
    --card-bg: #FFFFFF;
    --card-border: #E5E7EB;
    --bg-rssa: #F8FAFF;
    --bg-tab-light: #eff6ff;
    --border-default: #dfe3f0;
    --border-muted: #ced4da;
    --border-neutral: #D1D5DB;
    --border-light: #E4E4E7;
    --border-lighter: #ECEDF0;
    --border-gray: #E6E7EA;
    --border-card: #F3F4F6;
    --border-table: #dee2e6;
    --border-translucent: rgba(160, 169, 182, .2);
    --primary-50: #e7f0ff;
    --primary-75: #0f62fe;
    --primary-100: #dbe3ff;
    --primary-blue: #2563eb;
    --topbar-divider: #eef2ff;
    --surface-50: #fafafa;
    --surface-75: #f9fafb;
    --surface-100: #f5f5f5;
    --surface-gray: #F4F5F6;
    --chip-bg: #f1f5f9;
    --text-tertiary: #9ca3af;
    --text-muted: #6c757d;
    --text-secondary-strong: #4b5563;
    --accent-checkbox: #0078D4;
    --bg-orange-max-chart: #fb8f6f;
    --bg-blue-max-chart: #137dfd;
    --parent-highlight: #f0f4f8;
    --child-highlight: #f6f8fa;
    --bg-toggle-slider: #ccc;
    /* Success/Positive Colors */
    --success: #14b8a6;
    --success-green: #3DC13C;
    --success-bg: #E1F8E0;
    /* Warning Colors */
    --warning-bg: #fef3c7;
    --warning-border: #fbbf24;
    --warning-text: #92400e;
    /* Background Overlays */
    --bg-overlay-light: rgb(0 0 0 / 3%);
    --bg-user-info-hover: rgba(255, 255, 255, 0.1);
    --bg-drop-item-hover: #f8f9fa;
    --br-translucent-gray: #9d93938c;
    --br-light-gray: #f0f0f0;
    --bg-option-toggle-hover: rgba(0,0,0,0.05);
    --bg-toggle-switch-input: #32B232;
    /* States & Effects */
    --ring: rgba(11,57,255,.15);
    --ring-primary: rgba(37, 99, 235, 0.15);
    /* Shadow system */
    --shadow-rgb: 20 28 58;
    --shadow-sm: 0 4px 12px rgba(var(--shadow-rgb), .08);
    --shadow-md: 0 8px 20px rgba(var(--shadow-rgb), .08);
    --shadow-lg: 0 10px 30px rgba(var(--shadow-rgb), .10);
    --shadow-primary: 0 10px 28px rgba(11,57,255,.35);
    --shadow-primary-hover: 0 16px 40px rgba(11,57,255,.42);
    --shadow-primary-active: 0 8px 20px rgba(11,57,255,.30);
    --shadow-card-1: 0 1px 2px rgba(16, 24, 40, .06);
    --shadow-card-2: 0 8px 20px rgba(16, 24, 40, .06);
    --shadow-card-3: 0 8px 20px rgba(11, 57, 255, 0.08);
    --shadow-switch: 0 1px 2px rgba(0,0,0,.15);
    --shadow-slider: 0 0 0 2px var(--rssa-blue), 0 1px 2px rgba(0,0,0,.15);
    --shadow-card: var(--shadow-card-1), var(--shadow-card-2), var(--shadow-card-2), var(--shadow-card-2);
    --shadow-card-elevated: 0 22px 17px rgba(24, 39, 75, .02), 0 13px 10px rgba(24, 39, 75, .02), 0 7px 5px rgba(24, 39, 75, .02), 0 3px 2px rgba(0, 0, 0, .04), 0 0 0 1px rgba(160, 169, 182, .2);
    --shadow-button-subtle: 0 1px 2px rgba(16,24,40,.05);
    --shadow-outline-primary: 0 0 0 4px rgba(37, 99, 235, 0.15);
    --shadow-black-12: 0 2px 8px rgba(0,0,0,.12);
    --shadow-black-08: 0 2px 8px rgba(0,0,0,.08);
    --shadow-dropdown: rgba(0, 0, 0, 0.15);
    --shadow-progess-container: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-toggle-slider: rgba(0,0,0,0.2);
    /* Disabled */
    --disabled-color: #bbb;
    --disabled-background: #f2f3f7;
    /* Typography scale */
    --fs-xs-x2: 9px;
    --fs-xs-x1: 10px;
    --fs-xs: 12px;
    --fs-sm: 13px;
    --fs-md: 15px;
    --fs-standard: 15.5px;
    --fs-base: 16px;
    --fs-tab: 16px;
    --fs-lg: 18px;
    --fs-section-title: 18px;
    --fs-header: 20px;
    --fs-xl: 22px;
    --fs-page-title: 24px;
    --fs-2xl: 27px;
    --fs-3xl: 32px;
    --fs-hero-line: 54px;
    --rssa-sub-2-fs: 25px;
    --rssa-font-size: var(--fs-standard);
    /* Font weights */
    --fw-normal: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    /* Spacing - Gaps */
    --gap-xs: 4px;
    --gap-sm: 8px;
    --gap-md: 10px;
    --gap-lg: 15px;
    --gap-xl: 20px;
    /* Border Radius */
    --radius-xs: 6px;
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-pill: 50px;
}

/* Typography */
body {
    color: var(--brand-text);
    line-height: 1.25 !important;
    font-size: var(--fs-base) !important;
}

label {
    font-weight: var(--fw-semibold);
    font-size: var(--fs-base);
}

/* Inputs */
input[type=text],
input[type=password] {
    border-radius: 8px !important;
    font-weight: 400 !important;
    font-size: var(--fs-base);
    line-height: 20px !important;
}

select, .custom-select {
    display: inline-block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem 1.75rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    vertical-align: middle;
    border: 1px solid var(--border-muted);
    border-radius: .25rem;
    appearance: none;
    border-radius: 8px !important;
    font-weight: 400 !important;
    font-size: var(--fs-base) !important;
    line-height: 20px !important;
    min-height: 48px !important;
}

#State.custom-select {
    min-height: 40px !important;
}

option {
    color: var(--rssa-gray) !important;
}

select:has(option:checked[value=""]) {
    color: var(--rssa-input-color) !important;
}

#rssa-modal-root .rssa-modal__body select.form-control,
.modal .modal-body select.form-control,
.roadmap-stage select.form-control,
select.form-control,
#rssa-modal-root .rssa-modal__body select.form-control:not([size]):not([multiple]),
.modal .modal-body select.form-control:not([size]):not([multiple]),
.roadmap-stage select.form-control:not([size]):not([multiple]),
select.form-control:not([size]):not([multiple]) {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 8px 36px 8px 12px !important;
    line-height: normal !important;
    border-radius: 12px !important;
    border: 1px solid var(--border-default) !important;
    background-color: var(--rssa-white) !important;
    font-size: var(--fs-base) !important;
    color: var(--brand-text) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px 16px !important;
}

    select.form-control::-ms-expand {
        display: none !important;
    }


input[type=checkbox] {
    accent-color: var(--accent-checkbox) !important;
    align-self: center;
}

input[type="radio"] {
    accent-color: var(--rssa-light-blue) !important;
}

input[type="date"] {
    height: 40px !important;
    border-radius: 12px !important;
}

.form-control {
    height: 40px;
    border-radius: 12px !important;
    border: 1px solid var(--border-default);
    font-size: var(--rssa-font-size);
    padding: 10px 12px;
    transition: box-shadow .2s ease, border-color .2s ease;
}

    .form-control:focus {
        border-color: var(--rssa-light-blue);
        box-shadow: 0 0 0 6px var(--ring);
    }

/* Buttons */
.btn-primary {
    background: var(--rssa-light-blue) !important;
    color: var(--rssa-white) !important;
    border: none !important;
    border-radius: 8px !important;
    transition: box-shadow .2s ease, transform .06s ease, filter .2s ease;
    box-shadow: var(--shadow-primary);
}

    .btn-primary:hover {
        filter: brightness(1.0);
        transform: translateY(-1px);
        box-shadow: var(--shadow-primary-hover);
    }

    .btn-primary:active {
        transform: translateY(0);
        box-shadow: var(--shadow-primary-active);
    }

    .btn-primary:focus-visible {
        outline: none;
        box-shadow: 0 0 0 6px var(--ring), 0 12px 34px rgba(11,57,255,.38);
    }

    .btn-primary:disabled, .btn-primary[disabled] {
        opacity: .9;
        cursor: not-allowed;
        box-shadow: 0 8px 22px rgba(11,57,255,.28);
    }

.btn-light {
    border: 1px solid var(--primary-100);
    background: var(--rssa-white);
    color: var(--rssa-black);
    font-weight: 500;
    border-radius: 10px;
    padding: 8px 16px;
    line-height: 1;
    transition: box-shadow .2s, transform .02s;
    max-height: 32px;
    max-width: 75px;
    text-align: center;
    vertical-align: middle;
}

    .btn-light:hover {
        box-shadow: 0 0 0 6px var(--ring);
    }

    .btn-light:active {
        transform: translateY(0);
        box-shadow: var(--shadow-black-12);
        background: var(--surface-75);
    }

    .btn-light:focus-visible {
        outline: none;
        box-shadow: 0 0 0 4px var(--ring), var(--shadow-black-12);
    }

    .btn-light:disabled, .btn-light[disabled] {
        opacity: .65;
        cursor: not-allowed;
        background: var(--surface-100);
        color: var(--text-tertiary);
        border-color: var(--card-border);
        box-shadow: none;
    }

/* Common */
.req-star {
    color: var(--rssa-red) !important;
}

.rssa-wrap {
    background: var(--rssa-white);
    padding: 34px 0 68px;
}

.rssa-container {
    max-width: 1140px;
}

.container.rssa-container-compact,
.container-sm.rssa-container-compact,
.container-md.rssa-container-compact,
.container-lg.rssa-container-compact,
.container-xl.rssa-container-compact,
.container-xxl.rssa-container-compact,
.container.rssa-container.rssa-container-compact {
    max-width: 500px !important;
}

.rssa-stage {
    position: relative;
}

.cards-row {
    margin-top: 8px;
}

.get-started-card {
    background: var(--card-bg);
    border: 1.5px double var(--card-border);
    border-radius: 24px;
    box-shadow: var(--shadow-card);
    padding: 28px;
    background-clip: padding-box;
}

.card-title {
    font-weight: 600;
    font-size: var(--fs-lg);
    margin-bottom: 2px;
    line-height: 25.2px;
    letter-spacing: -0.2px;
}

.card-sub {
    font-size: var(--fs-lg);
    color: var(--rssa-gray);
    margin-bottom: 18px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -0.2px;
}

#rssa-btn-submit.btn-primary {
    border: none !important;
    min-height: 50px;
    width: 100%;
    border-radius: 8px !important;
    font-size: var(--fs-xl);
    text-transform: none;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    box-shadow: var(--shadow-primary);
    transition: box-shadow .2s ease,transform .06s ease,filter .2s ease;
    background-image: none !important;
}

#rssa-btn-submit:disabled {
    background: var(--disabled-background) !important;
    color: var(--disabled-color) !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

#rssa-btn-submit.with-spacing {
    margin: 25px 0 25px 0 !important;
}

#btnContinue:disabled {
    background: var(--disabled-background) !important;
    color: var(--disabled-color) !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

.rssa-topbar {
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0px 64px;
    background: var(--rssa-blue);
    border-bottom: 1px solid var(--topbar-divider);
}

.user-menu-container {
    position: relative;
}

.user-info {
    color: var(--rssa-white);
    font-weight: 500;
    font-size: 18px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    transition: background-color 0.3s ease;
}

.user-info:hover {
    background-color: var(--bg-user-info-hover);
}

.user-name {
    margin-right: 10px;
    font-weight: 400;
}

.user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rssa-white);
    background-color: var(--rssa-light-gray);
}

.fallback-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rssa-white);
    font-weight: 600;
    font-size: var(--fs-sm);
}

.dropdown-arrow {
    font-size: 10px;
    transition: transform 0.3s ease;
    font-style: normal;
}

.user-info.active .dropdown-arrow {
    transform: rotate(180deg);
}

/* Menú desplegable */
.user-dropdown {
    position: absolute;
    top: calc(100% + -3px);
    right: 0;
    background-color: white;
    border: 1px solid var(--br-translucent-gray);
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    box-shadow: 0 4px 12px var(--shadow-dropdown);
    min-width: 190px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    overflow: hidden;
}

.user-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 5px 11px !important;
    text-decoration: none;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid var(--br-light-gray);
}

.dropdown-item:last-child {
    border-bottom: none;
}

.dropdown-item:hover {
    background-color: var(--bg-drop-item-hover);
}

.dropdown-item .icon {
    font-size: var(--fs-lg);
    font-style: normal;
}

.dropdown-item span {
    font-size: var(--fs-sm);
    font-weight: 500;
}

.password-btn {
    min-height: 40px;
    border-radius: 8px !important;
    margin-left: 5px;
}

.roadmap-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: calc(100vh - 47px);
    background-color: var(--rssa-white);
    padding: 32px 20px 40px;
}

.roadmap-stage {
    width: 100%;
    max-width: 900px;
}

.roadmap-header {
    text-align: center;
    margin-bottom: 40px;
}

.roadmap-card-title {
    font-weight: 700;
    font-size: var(--fs-3xl);
    color: var(--rssa-black);
    margin-bottom: 6px;
    line-height: var(--fs-hero-line);
    letter-spacing: -0.8px;
    margin-bottom: 25px;
}

.roadmap-card-title-2 {
    font-weight: 700;
    font-size: var(--fs-3xl);
    color: var(--rssa-black);
    line-height: var(--fs-hero-line);
    letter-spacing: -0.8px;
    margin-top: 15px;
    margin-bottom: -15px;
}

.roadmap-card-sub {
    font-weight: 600;
    font-size: var(--fs-2xl);
    color: var(--rssa-black);
    letter-spacing: -0.2px;
    line-height: 100%;
    vertical-align: middle;
}

.roadmap-card-sub-with-info-bubble {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-sm);
    margin-top: 15px;
}

.roadmap-card-sub-with-info-bubble > .roadmap-card-sub-2 {
    margin-bottom: 0;
}

.roadmap-card-sub-with-info-bubble > .roadmap-card-title-2 {
    margin-bottom: 0;
    margin-top: 0;
}

.roadmap-card-sub-2 {
    color: var(--rssa-gray);
    letter-spacing: -0.8px;
    font-size: var(--rssa-sub-2-fs);
    margin-top: 10px;
    margin-bottom: -15px;
}

.two-col-row {
    display: flex;
    gap: 16px;
}

    .two-col-row .form-group {
        flex: 1 1 48%;
        box-sizing: border-box;
    }

.options-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.option-card {
    border-radius: 16px;
    padding: 15px 20px;
    box-shadow: var(--shadow-card-3);
    border: 1.5px solid var(--card-border);
    background-color: var(--card-bg);
    transition: border-color .2s ease, box-shadow .2s ease;
    cursor: pointer
}

    .option-card:hover {
        border-color: var(--rssa-light-blue);
        box-shadow: 0 10px 28px rgba(11, 57, 255, 0.14);
    }

    .option-card:has(> .option-label > input[type="radio"]:checked) {
        border-color: var(--rssa-light-blue);
    }

    .option-card input[type="radio"] {
        margin-right: 12px;
        transform: scale(1.1);
    }

    .option-card span {
        font-weight: 600;
        font-size: var(--rssa-font-size);
    }

    .option-card > label {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 16px;
    }

        .option-card > label > span {
            flex: 1 1 auto;
            line-height: 1.45;
        }

        .option-card > label > input[type="radio"] {
            order: 2;
            margin: 0 0 0 16px !important;
            transform: scale(1.1);
        }

    .option-card > .option-label {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 14px;
        cursor: pointer;
        margin-bottom: 0px;
    }

        .option-card > .option-label > .left-icon {
            flex: 0 0 auto;
            width: 40px;
            height: 40px;
            border-radius: 16px;
            border: 1px solid var(--card-border);
            background: var(--surface-50);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-shadow: var(--shadow-card-1);
        }

            .option-card > .option-label > .left-icon img {
                width: 18px;
                height: 18px;
            }

        .option-card > .option-label > .option-text {
            flex: 1 1 auto;
            font-weight: 600;
            line-height: 1.45;
        }

        .option-card > .option-label > input[type="radio"] {
            order: 3;
            margin: 0 0 0 12px !important;
            transform: scale(1.1);
        }

.option-card-frm {
    margin: 15px 55px !important;
}

.option-card-frm-extended {
    margin: 15px 0px 15px 55px !important
}

.pill-options label {
    margin: 0 auto;
}

.pill-options label input[type="radio"],
.conditional-fields label input[type="radio"] {
    margin-right: 8px !important;
    margin-left: 0 !important;
    transform: none;
}

.pill-options label input[type="radio"],
.conditional-fields label input[type="radio"] {
    order: 0;
    margin-right: 8px !important;
    margin-left: 0 !important;
}

    .pill-options label input[type="radio"] {
        -webkit-appearance: none;
        appearance: none;
        width: 18px;
        height: 18px;
        border: 1.5px solid var(--rssa-background-blue);
        border-radius: 50%;
        background: #fff;
        display: inline-grid;
        place-content: center;
        margin-right: 8px !important;
    }

        .pill-options label input[type="radio"]::before {
            content: "";
            width: 10px;
            height: 10px;
            border-radius: 50%;
            transform: scale(0);
            transition: transform .12s ease-in-out;
            background: var(--rssa-light-blue);
        }

        .pill-options label input[type="radio"]:checked::before {
            transform: scale(1);
        }

        .pill-options label input[type="radio"]:focus-visible {
            outline: none;
            box-shadow: 0 0 0 3px var(--ring);
        }

.pill-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

    .pill-options label {
        display: inline-flex;
        align-items: center;
        border-radius: 8px !important;
        border: 1px solid var(--border-neutral);
        background-color: var(--rssa-white);
        padding: 8px 18px;
        transition: all 0.2s ease;
        cursor: pointer;
        box-shadow: none;
    }

        .pill-options label:has(input[type="radio"]:checked) {
            background: var(--primary-50);
            border-color: var(--rssa-light-blue);
            color: var(--rssa-light-blue);
        }

.form-group {
    margin-top: 8px;
}

    .form-group label {
        font-size: var(--fs-base);
        font-weight: 600;
        color: var(--rssa-black);
    }

    .form-group.gpo-inline {
        display: flex;
        align-items: center;
        gap: 14px;
    }

        .form-group.gpo-inline .gpo-label {
            margin: 0;
            flex: 1 1 auto;
        }

        .form-group.gpo-inline .gpo-options {
            margin: 0 0 0 auto;
            display: inline-flex;
            gap: 10px;
        }

            .form-group.gpo-inline .gpo-options label {
                padding: 8px 18px;
            }

        .form-group.gpo-inline.gpo-tight {
            align-items: center;
            display: flex;
            width: 100%;
        }

            .form-group.gpo-inline.gpo-tight .gpo-label {
                flex: 1 1 auto !important;
                margin: 0 16px 0 0;
                display: flex;
                align-items: center;
                line-height: 1.2;
            }

            .form-group.gpo-inline.gpo-tight .gpo-options {
                margin: 0;
                display: inline-flex;
                gap: 10px;
                flex-wrap: wrap;
                align-items: center;
                margin-left: auto !important;
                justify-content: flex-end;
            }

.user-avatar.fallback-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--rssa-light-gray);
    color: var(--rssa-blue);
    font-weight: 600;
    font-size: var(--fs-base);
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
}

.conditional-fields {
    transition: opacity 0.3s ease;
}

    .conditional-fields.hidden {
        opacity: 0;
        display: none;
    }

.hidden {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.enhanced-date .input-wrapper,
.enhanced-currency .input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px solid var(--border-default);
    background: var(--rssa-white);
    border-radius: 8px;
    padding: 0 12px;
    height: 40px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.date-input, .currency-input {
    border: none !important;
    box-shadow: none !important;
    flex: 1;
    height: 100%;
    font-size: var(--rssa-font-size);
    background: transparent;
    outline: none;
    color: var(--brand-text);
}

    .date-input::placeholder {
        color: var(--muted);
    }

.prefix {
    font-weight: 500;
    margin-right: 4px;
    color: var(--text-tertiary);
    font-size: 16px;
}

.date-indicator {
    background: var(--chip-bg);
    color: var(--text-secondary-strong);
    font-size: 13px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 9999px;
    margin-left: 10px;
    white-space: nowrap;
}

.input-wrapper .icon {
    margin-left: 8px;
    color: var(--text-tertiary);
    font-size: 12px;
    pointer-events: none;
}

.currency-input::-webkit-inner-spin-button,
.currency-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.currency-input[type=number] {
    -moz-appearance: textfield;
    text-align: right;
}

.stage-nav {
    margin: 6px auto 12px;
    display: flex;
    align-items: center;
    min-height: 36px;
}

.stage-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 0px;
    height: 36px;
    padding: 0 14px;
    border-radius: 12px;
    border: none;
    background: transparent;
    color: var(--rssa-black);
    font-weight: 600;
    font-size: 15px;
    line-height: 1;
    transition: box-shadow .2s ease, background-color .2s ease, transform .02s ease;
    cursor: pointer;
}

    .stage-back-btn .chev-circle {
        width: 22px;
        height: 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .stage-back-btn:hover {
        background: var(--bg-rssa);
        box-shadow: 0 0 0 6px var(--ring);
    }

    .stage-back-btn:active {
        transform: translateY(0);
        box-shadow: var(--shadow-black-08);
    }

    .stage-back-btn:focus-visible {
        outline: none;
        box-shadow: 0 0 0 6px var(--ring);
    }

/* --- Non-covered rssa table --- */
.rssa-section {
    margin-top: 18px;
}

.rssa-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.rssa-title {
    font-size: var(--fs-base);
    font-weight: 600;
    color: var(--rssa-black);
    margin-bottom: 0px;
}

.add-rssa-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 10px 18px;
    border: 1.5px solid var(--rssa-light-blue);
    border-radius: 8px;
    background: var(--rssa-white);
    color: var(--rssa-light-blue);
    font-weight: 600;
    font-size: var(--fs-base);
    line-height: 1;
    box-shadow: var(--shadow-card-1);
}

    .add-rssa-btn .plus {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        font-size: var(--fs-lg);
        font-weight: 700;
        line-height: 18px;
        transform: translateY(-1px);
    }

    .add-rssa-btn:hover {
        box-shadow: 0 0 0 6px var(--ring);
    }

.rssa-table-wrap {
    border: 1px solid var(--card-border);
    border-radius: 12px;
    background: var(--card-bg);
    box-shadow: var(--shadow-card-1);
    overflow: hidden;
}

.rssa-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

    .rssa-table thead th {
        padding: 12px 12px;
        text-align: center;
        font-weight: 600;
        font-size: var(--fs-base);
        color: var(--rssa-black);
        background: var(--card-bg);
        white-space: nowrap;
        border-bottom: 1px solid var(--border-default);
    }

    .rssa-table tbody td {
        padding: 14px 12px;
        text-align: center;
        font-size: var(--fs-base);
        color: var(--brand-text);
    }

    .rssa-table tbody tr > td {
        border-top: 1px solid var(--border-default);
    }

    .rssa-table tbody tr:first-child > td {
        border-top: none;
    }

    .rssa-table .cell-actions {
        text-align: right;
        vertical-align: middle;
        justify-content: flex-end;
        align-items: center;
        gap: 6px;
        white-space: nowrap;
    }

.icon-btn {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: var(--muted);
    line-height: 1;
}

    .icon-btn svg {
        width: 18px;
        height: 18px;
        stroke: currentColor;
        pointer-events: none;
    }

    .icon-btn:hover {
        background: var(--rssa-lighter-gray);
        border-color: var(--border-neutral);
        color: var(--rssa-red);
    }

    .icon-btn:active {
        transform: translateY(1px);
    }

    .icon-btn:focus-visible {
        outline: none;
        box-shadow: 0 0 0 3px var(--ring);
    }

/* Last Steps */
.roadmap-ls-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 16px;
    box-shadow: var(--shadow-card);
    padding: 16px;
}

.roadmap-ls-head {
    margin: 0 25px 25px;
}

.roadmap-ls-title {
    margin: 0 0 6px;
    font-weight: 700;
    font-size: 18.8px;
    line-height: 1.3;
    color: var(--brand-text);
    letter-spacing: -0.2px;
}

.roadmap-ls-sub {
    margin: 0 0 12px;
    color: var(--rssa-gray);
    font-weight: 500;
    line-height: 1.5;
}

.roadmap-ls-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 25px 6px;
}

    .roadmap-ls-actions .btn-back,
    .roadmap-ls-actions .btn-ghost-primary,
    .roadmap-ls-actions .btn-ghost-primary-action {
        -webkit-appearance: none;
        appearance: none;
        border-radius: 6px;
        padding: 10px 16px;
        min-height: 40px;
        line-height: 1;
        font-weight: 600;
        font-size: var(--fs-base);
        cursor: pointer;
        transition: background-color .15s ease, box-shadow .15s ease, filter .15s ease, transform .02s ease, border-color .15s ease, color .15s ease;
    }

    .roadmap-ls-actions .btn-back {
        background: var(--rssa-white);
        color: var(--brand-text);
        border: 1px solid var(--card-border);
        box-shadow: 0 1px 1px rgba(16,24,40,.06), inset 0 1px 0 rgba(255,255,255,.7);
    }

        .roadmap-ls-actions .btn-back:hover {
            background: var(--surface-75);
            box-shadow: 0 0 0 6px var(--ring), 0 1px 1px rgba(16,24,40,.06);
        }

        .roadmap-ls-actions .btn-back:active {
            transform: translateY(0);
        }

        .roadmap-ls-actions .btn-back:focus-visible {
            outline: none;
            box-shadow: 0 0 0 6px var(--ring), 0 1px 1px rgba(16,24,40,.06);
        }

        .roadmap-ls-actions .btn-back:disabled,
        .roadmap-ls-actions .btn-back[disabled] {
            cursor: not-allowed;
            background: var(--surface-100);
            color: var(--text-tertiary);
            border-color: var(--card-border);
            box-shadow: none;
        }

    .roadmap-ls-actions .btn-ghost-primary-action,
    .roadmap-ls-actions .btn-ghost-primary {
        background: var(--rssa-white);
        color: var(--rssa-light-blue);
        border: 1.5px solid var(--rssa-light-blue);
        padding: 10px 18px;
        box-shadow: var(--shadow-card-1);
    }

    .roadmap-ls-actions .btn-ghost-primary-action  {
        padding: 10px 18px;
        font-size: var(--fs-sm);
    }

    .roadmap-ls-actions .btn-primary {
        padding: 10px 18px;
        font-size: var(--fs-base);
    }

    .roadmap-ls-actions .btn-primary.no-shadow{
        box-shadow: none !important;
    }

        .roadmap-ls-actions .btn-ghost-primary:hover {
            background: var(--primary-50);
            box-shadow: 0 0 0 6px var(--ring), var(--shadow-card-1);
        }

        .roadmap-ls-actions .btn-ghost-primary:active {
            transform: translateY(0);
        }

        .roadmap-ls-actions .btn-ghost-primary:focus-visible {
            outline: none;
            box-shadow: 0 0 0 6px var(--ring), var(--shadow-card-1);
        }

        .roadmap-ls-actions .btn-ghost-primary:disabled,
        .roadmap-ls-actions .btn-ghost-primary[disabled] {
            cursor: not-allowed;
            background: var(--surface-100);
            color: var(--text-tertiary);
            border-color: var(--card-border);
            box-shadow: none;
        }

.field-hint {
    margin-top: 6px;
    font-size: var(--fs-xs);
    color: var(--muted);
}

.flex-100 {
    flex: 1 1 100%;
}

.ssle-one {
    margin-top: .25rem
}

.ssle-head-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: .5rem
}

.ssle-side-label {
    font-size: var(--fs-base);
}

.ssle-side-label--right {
    text-align: right
}

.ssle-slider {
    position: relative;
    height: 48px;
    display: flex;
    align-items: center
}

.ssle-rail {
    position: absolute;
    left: 0;
    right: 0;
    height: 8px;
    border-radius: 6px;
    background: var(--rssa-light-gray);
}

.ssle-bar {
    position: absolute;
    height: 8px;
    border-radius: 6px;
    background: var(--rssa-blue);
    left: 35%;
    right: 35%
}

.ssle-slider input[type=range] {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 8px;
    margin: 0;
    background: transparent;
    appearance: none;
    outline: 0;
    pointer-events: none;
}

    .ssle-slider input[type=range]::-webkit-slider-runnable-track {
        height: 8px;
        background: transparent
    }

    .ssle-slider input[type=range]::-moz-range-track {
        height: 8px;
        background: transparent
    }

    .ssle-slider input[type=range]::-webkit-slider-thumb {
        appearance: none;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: var(--rssa-white);
        border: 2px solid var(--rssa-white);
        box-shadow: var(--shadow-slider);
        margin-top: -7px;
        pointer-events: all;
    }

    .ssle-slider input[type=range]::-moz-range-thumb {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: var(--rssa-white);
        border: 2px solid var(--rssa-white);
        box-shadow: var(--shadow-slider);
        pointer-events: all;
    }

.ssle-val-under {
    position: absolute;
    top: 35px;
    transform: translateX(-50%);
    font-size: var(--fs-md);
}

.ssle-note {
    display: none;
    font-size: var(--fs-md);
    margin-top: .5rem;
}

.ssle-disabled {
    margin-top: .25rem;
    font-size: var(--fs-md);
    color: var(--rssa-dark-red)
}

.ssle-side-label--spacer {
    visibility: hidden;
}

.ssle-slider--with-gutters {
    display: grid;
    align-items: center;
    position: relative;
}

    .ssle-slider--with-gutters > .ssle-rail,
    .ssle-slider--with-gutters > .ssle-bar,
    .ssle-slider--with-gutters > input,
    .ssle-slider--with-gutters > .ssle-val-under {
        grid-column: 2;
    }

.ssle-one.is-disabled .ssle-slider {
    opacity: .45;
    filter: grayscale(1);
    cursor: not-allowed;
}

.ssle-one.is-disabled .ssle-rail,
.ssle-one.is-disabled .ssle-bar {
    background: var(--border-neutral);
}

.ssle-one.is-disabled input[type=range] {
    pointer-events: none;
}

    .ssle-one.is-disabled input[type=range]::-webkit-slider-thumb,
    .ssle-one.is-disabled input[type=range]::-moz-range-thumb {
        box-shadow: none;
        border-color: var(--border-neutral);
        background: var(--surface-100);
    }

/*New Slider styles*/
#ssle {
    text-align: center;
    margin-top: 10px;
}

#ssle .ssle-slider {
    margin-bottom: 35px;
}

#ssle .ssle-val-under {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 4px 6px;
    min-width: 100px;
    text-align: center;
    font-weight: 800;
    font-size: var(--fs-xl);
    line-height: 1.1;
    color: var(--brand-text);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    background: var(--surface-50);
    border: 1px solid var(--border-default);
    border-radius: 10px;
    box-shadow: var(--shadow-card-1);
}

#le-only {
    text-align: center;
    margin-top: 10px;
}

#le-only .ssle-slider {
    margin-bottom: 35px;
}

#le-only .ssle-val-under {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 4px 0;
    min-width: 100px;
    text-align: center;
    font-weight: 800;
    font-size: var(--fs-xl);
    line-height: 1.1;
    color: var(--brand-text);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    background: var(--surface-50);
    border: 1px solid var(--border-default);
    border-radius: 10px;
    box-shadow: var(--shadow-card-1);
}

.inline-error {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 10px;
    align-items: center;
    border: 1.5px solid var(--danger-200, #ffd3d3);
    background: var(--danger-50, #fff5f5);
    color: var(--danger-800, #7f1d1d);
    border-radius: 12px;
    padding: 10px 12px;
    box-shadow: var(--shadow-card-1);
    margin: 8px 0 12px;
}

    .inline-error.hidden {
        display: none;
    }

.inline-error__icon {
    width: 18px;
    height: 18px;
    opacity: .9;
    stroke: currentColor;
    fill: currentColor;
}

.inline-error__text {
    font-size: var(--fs-sm);
    line-height: 1.35;
    font-weight: 600;
}

.currency-input {
    text-align: right;
}

.field-error {
    color: var(--rssa-red) !important;
    font-weight: 600 !important;
}

.enhanced-currency .input-wrapper.is-disabled {
    background-color: var(--rssa-lighter-gray);
    cursor: not-allowed;
}

    .enhanced-currency .input-wrapper.is-disabled .prefix {
        opacity: 0.6;
        cursor: not-allowed;
    }

    .enhanced-currency .input-wrapper.is-disabled .currency-input {
        background-color: transparent;
        cursor: not-allowed;
    }


/* Responsive */
@media (max-width:991.98px) {
    .rssa-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    #rssa-btn-submit.btn-primary {
        max-width: 100%;
    }
}

@media (max-width:767.98px) {
    .rssa-wrap {
        padding: 0px 0 56px;
    }

    .get-started-card {
        padding: 20px;
    }

    .two-col-row {
        flex-wrap: wrap;
    }

    .stage-nav {
        padding-left: 10px;
        margin: 4px auto 10px;
    }

    .stage-back-btn {
        height: 34px;
        padding: 0 12px;
        font-size: 14.2px;
    }

        .stage-back-btn .chev-circle {
            width: 20px;
            height: 20px;
        }
}

@media (max-width: 673px) {
    .form-group.gpo-inline.gpo-tight .gpo-options,
    .form-group.gpo-inline .gpo-options,
    .pill-options {
        justify-content: flex-start !important;
        margin: 0 !important;
    }
} 

@media (max-width: 575.98px) {
    .rssa-topbar {
        padding: 0px 30px !important;
    }

    .cards-row {
        margin: 0px -5px 0px -5px !important;
    }

    .form-group.gpo-inline {
        flex-wrap: wrap;
        align-items: flex-start;
    }

        .form-group.gpo-inline .gpo-options {
            margin: 10px 0 0 0;
        }

        .form-group.gpo-inline.gpo-tight {
            flex-wrap: wrap;
            align-items: flex-start;
            gap: 8px;
        }

            .form-group.gpo-inline.gpo-tight .gpo-label {
                flex: 0 0 auto;
                white-space: nowrap;
                margin: 0 8px 0 0;
            }

            .form-group.gpo-inline.gpo-tight .gpo-options,
            .form-group.gpo-inline .gpo-options,
            .pill-options {
                justify-content: flex-start !important;
                margin: 0 !important;
            }

                .pill-options label {
                    margin: 0 !important;
                }

    .roadmap-ls-title {
        font-size: 17px;
    }

    .roadmap-ls-sub {
        font-size: var(--fs-sm);
    }

    .pill-options {
        justify-content: right;
    }
}

@media (max-width: 420px) {
    #rssa-btn-submit.btn-primary {
        max-width: 100%;
        border-radius: 14px !important;
    }

    .visual-title {
        font-size: 14.9px !important;
    }

    .visual-sub {
        font-size: 14.9px !important;
    }
}

@media (min-width: 768px) {
    .rssa-table colgroup col:nth-child(1) {
        width: 34%;
    }

    .rssa-table colgroup col:nth-child(n+2) {
        width: 16.5%;
    }
}
