:root {
    --primary: #2E2D35;
    --neutral: #ffffff;
    --rently-bg: #f7f9fb;
    --gray: #656970;
    --light-gray: #858C99;
    --border: #ccc;
    --hover: #F2F5F7;
    --light-hover: #f7f9fb;
    --blue: #1a73e8;
    --light-blue: #e2efff;
    --link-hover: #0c5dc7;
    --orange: #FAA300;
    --orange-rgb: 250, 163, 0;
    --light-orange: #fff7f0;
    --orange-hover: #fff2e7;
    --red: #e80c4d;
    --light-red: #fff0f5;
    --red-hover: #ffe8f0;
    --green: #2BCE81;
    --light-green: #f0fff6;
    --green-hover: #e2ffee;
    --yellow: #FEE572;
    --scrollbar: #CFD2D9;
    --edit: #d4dde2;
    --alternate: #e1e7ec;
    --inactive: #ccc;
    --porlet: #e8f0fe;
    --porlet-hover: #dce9ff;
    --line: #eee;
    --selected: #e2fff1;
    --selected-hover: #d1ffe8;
    /*Shadows*/
    --shadow-1: 0px 1px 6px 0px rgba(46, 45, 53, 0.10);
    --shadow-2: 0px 1px 6px 0px rgba(46, 45, 53, 0.1);
    --shadow-hover: 0px 1px 6px 0px rgba(46, 45, 53, 0.18);
    --left-menu-shadow: rgb(45 62 80 / 8%) 0px 1px 6px 0px;
    --autocomplete-shadow: rgb(45 62 80 / 8%) 0px 1px 6px 0px;
    /*ServiceStatus*/
    --service-1: #787878;
    --service-2: #24b3d1;
    --service-3: #47cb52;
    --service-4: #B66160;
    /*HighCharts*/
    --report-1: #7cb5ecdd;
    --report-2: #434348de;
    --report-3: #7dedbadd;
    --report-4: #f7a35cdc;
    --report-5: #8085e9dd;
    --report-6: #e63c66da;
    --report-7: #e4d354de;
    --report-8: #8085e8de;
    --report-9: #8d4653dd;
    --report-10: #91e8e1dd;
    /*CalendarBookingsServices*/
    --in-progress: #d7375c;
    --in-progress-2: #f388a4;
    --in-programmed: #eddf97;
    --in-programmed-2: #D6BC34;
    --in-finalized: #A8AAB4;
    --in-finalized-2: #8D8F9A;
    /*CalendarBookingsStatus*/
    --status-reserved: #77a8f2;
    --status-confirmed: #ff9f4f;
    --status-delivered: #2BCE81;
    --status-closed: #8D8F9A;
    --status-canceled: #e80c4d;
    --status-quoted: #7b5ab9;
    /*CalendarBookingsModels*/
    --model-1: #009bce;
    --model-2: #BCBCBC;
    --model-3: #83AF9B;
    --model-4: #AB526B;
    --model-5: #E8CAA4;
    /*Table*/
    --table-bg: #F3F4F6;
    --table-line: #E5E7EB;
    --table-light-gray: #9CA3AF;
}

/* dark mode variables */
[data-theme="dark"] {
    --primary: #e3e3e3;
    --neutral: #2d2f31;
    --rently-bg: #1f1f1f;
    --gray: #E7E9EC;
    --light-gray: #C4C4C4;
    --border: #5c6468;
    --hover: #222223;
    --light-hover: #242427;
    --blue: #7097E4;
    --light-blue: #172537;
    --link-hover: #3e6dcb;
    --orange: #ffd279;
    --orange-rgb: 255, 210, 121;
    --light-orange: #694d36;
    --orange-hover: #5e452f;
    --red: #ff2d6d;
    --light-red: #4f1e2f;
    --red-hover: #381320;
    --green: #2ea7a6;
    --light-green: #293c39;
    --green-hover: #1d2f24;
    --yellow: #b9ac6e;
    --scrollbar: #4d5054;
    --edit: #444b50;
    --alternate: #18171c;
    --inactive: #5c6468;
    --porlet: #272730;
    --porlet-hover: #2f2f39;
    --line: #3d4142;
    --selected: #1a413a;
    --selected-hover: #11332d;
    /*Shadows*/
    --shadow-1: rgb(29 29 31/ 60%) 0px 1px 10px 0px;
    --shadow-2: rgb(29 29 31/ 10%) 0px 1px 4px 0px;
    --shadow-hover: rgb(0 0 0 / 30%) 0px 1px 10px 0px;
    --left-menu-shadow: rgb(0 0 0 / 45%) 0px 1px 10px 0px;
    --autocomplete-shadow: rgb(0 0 0 / 45%) 0px 1px 10px 0px;
    /*ServiceStatus*/
    --service-1: #dedede;
    --service-2: #14b9dc;
    --service-3: #04a085;
    --service-4: #ce4177;
    /*HighCharts*/
    --report-1: #1071cfe0;
    --report-2: #dfdfeee0;
    --report-3: #43dcb4dd;
    --report-4: #cb9261dd;
    --report-5: #67adede0;
    --report-6: #e73a71dd;
    --report-7: #ebbd4ddd;
    --report-8: #9680e8dd;
    --report-9: #da7f90dd;
    --report-10: #91e8e1dd;
    /*CalendarBookingsServices*/
    --in-progress: #310000;
    --in-progress-2: #5d1027;
    --in-programmed: #b9ab62;
    --in-programmed-2: #665914;
    --in-finalized: #444444;
    --in-finalized-2: #2c2c2e;
    /*CalendarBookingsStatus*/
    --status-reserved: #1c8fc1;
    --status-confirmed: #ebbc60;
    --status-delivered: #2ea7a6;
    --status-closed: #797b97;
    --status-canceled: #ff2d6d;
    --status-quoted: #8356d5;
    /*CalendarBookingsModels*/
    --model-1: #4197c6;
    --model-2: #827b7b;
    --model-3: #139281;
    --model-4: #962041;
    --model-5: #cc9c60;
    /*Table*/
    --table-bg: #222223;
    --table-line: #0000;
    --table-light-gray: #9CA3AF;
}


/* Toggle switch dark mode*/
.theme-switch-wrapper {
    display: flex;
    align-items: center;
    padding: 5px 20px;
    white-space: nowrap
}

.theme-switch {
    display: inline-block;
    height: 25px;
    position: relative;
    width: 40px;
    margin-right: 1rem;
}

    .theme-switch input {
        display: none;
    }


.slider {
    background-color: var(--light-gray);
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: 0.2s;
}

    .slider:before {
        background-color: var(--neutral);
        bottom: 5px;
        content: "";
        height: 15px;
        left: 4px;
        position: absolute;
        transition: 0.2s;
        width: 15px;
    }

input:checked + .slider {
    background-color: var(--green);
}

    input:checked + .slider:before {
        transform: translateX(16px);
    }

.slider.round {
    border-radius: 34px;
}

    .slider.round:before {
        border-radius: 50%;
    }

.navbar-nav .open .dropdown-menu {
    padding: 10px !important
}

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: local('Material Icons'), local('MaterialSymbolsOutlined'), url('fonts/material/MaterialSymbolsOutlined.woff2') format('woff2');
}

@font-face {
    font-family: 'Material Icons Filled';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: local('Material Icons Filled'), local('MaterialSymbolsFilled'), url('fonts/material/MaterialIconsOutlined-Regular.otf') format('truetype');
}

.material-icons,
.material-icons-outlined {
    font-family: 'Material Icons';
    font-weight: 300;
    font-style: normal;
    font-size: 24px;
    /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
}

.material-icons-filled {
    font-family: 'Material Icons Filled';
    font-weight: 300;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

.material-icons-14,
.material-icons-outlined-14 {
    font-family: 'Material Icons';
    font-size: 14px;
    /* Preferred icon size */
}

.material-icons-18,
.material-icons-outlined-18 {
    font-family: 'Material Icons';
    font-size: 18px;
    /* Preferred icon size */
}

.material-icons-22,
.material-icons-outlined-22 {
    font-family: 'Material Icons';
    font-size: 22px;
    font-weight: 100
    /* Preferred icon size */
}


.material-icons-28,
.material-icons-outlined-28 {
    font-family: 'Material Icons';
    font-size: 28px;
    /* Preferred icon size */
}

.material-icons-32,
.material-icons-outlined-32 {
    font-family: 'Material Icons';
    font-size: 32px;
    /* Preferred icon size */
}

/* Kendo-grid command icon for "Comparar protocolos": renders the Material
   `compare_arrows` glyph (ligature) inside a k-icon slot, matching the button
   of the protocol-compare screen. */
.k-icon.icon-compare-protocols::before {
    font-family: 'Material Icons';
    content: "compare_arrows";
    font-size: 16px;
    font-weight: 400;
}


a {
    color: var(--blue);
}

    a:hover {
        color: var(--link-hover);
    }

.help-text {
    color: var(--blue);
}

.warning-help-text {
    color: var(--orange);
}

.help-text:hover {
    color: var(--link-hover);
}

.fa.fa-external-link {
    color: var(--blue);
}

.fa.fa-external-link-icon {
    color: var(--primary);
}

span.info-color {
    color: var(--blue);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--primary) !important;
}

hr {
    border-top: 1px solid var(--line)
}

input[type=checkbox] {
    transform: scale(1.1);
    accent-color: var(--blue);
    cursor: pointer
}

input[type="checkbox"]:focus {
    outline: none !important
}

.loader {
    width: 40px !important;
    height: 40px !important;
    margin-top: 10px;
}

#searchBox .loader {
    margin: 20px;
}

.loader.small {
    width: 80px !important;
    height: 80px !important;
}

[data-title] {
    position: relative;
    cursor: pointer;
}

    [data-title]:hover::before {
        content: attr(data-title);
        position: absolute;
        bottom: -38px;
        display: inline-block;
        padding: 6px 10px 6px;
        border-radius: 5px;
        background: #2E2D35;
        border: 1px solid var(--border);
        color: #fff;
        font-size: 12px;
        font-weight: 500;
        font-family: sans-serif;
        white-space: nowrap;
        z-index: 2;
    }

/*[data-title]:hover::after {
    content: '';
    position: absolute;
    bottom: -13px;
    left: 8px;
    display: inline-block;
    color: var(--neutral);
    border: 8px solid transparent;
    border-bottom: 8px solid var(--primary);
}*/

/* Width */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}


/* Track */

::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}


/* Handle */

::-webkit-scrollbar-thumb {
    background: var(--scrollbar);
    border-radius: 8px;
    min-height: 100px;
}


    /* Handle Hover */

    ::-webkit-scrollbar-thumb:hover {
        background: #BDC2CB;
    }


body {
    background-color: var(--rently-bg) !important;
    font-family: Roboto, Segoe UI, Verdana, Helvetica, Sans-Serif;
    color: var(--light-gray) !important;
    height: 100%;
    overflow-y: hidden
}

#body {
    background-color: var(--rently-bg) !important;
    color: var(--light-gray) !important;
    overflow-x: hidden;
}

.main-content {
    background: none;
    padding-left: 30px;
    padding-right: 30px;
}

.site-logo {
    border-radius: 100%;
}

.dropdown-toggle.profile div {
    border-radius: 100%;
}

.page-title {
    background-color: transparent;
    margin-bottom: 12px !important;
}

    .page-title h2 {
        color: var(--primary) !important;
        font-size: 20px !important;
        margin-bottom: 4px !important;
        font-weight: 400;
    }

h2 {
    color: var(--primary) !important;
    font-size: 20px !important;
    margin-bottom: 0px !important;
    font-weight: 400;
}

.page-title .customer-title-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

    /* El feedback se empuja a la derecha y se centra al nivel del título. Anulamos los offsets
       internos del partial (.rating-details fue pensado para ir inline dentro del viejo h2). */
    .page-title .customer-title-header .rating-details {
        margin-left: auto;
        align-items: center;
        position: static;
        left: auto;
        bottom: auto;
        padding-right: 0;
    }

        .page-title .customer-title-header .rating-details span {
            position: static !important;
            bottom: 0 !important;
        }

        /* La estrella y el valor se centran verticalmente (el wrapper data-title alinea por baseline). */
        .page-title .customer-title-header .rating-details > div,
        .page-title .customer-title-header .rating-details > a {
            display: inline-flex;
            align-items: center;
            gap: 3px;
        }

        /* El rating está pegado a la derecha: el tooltip abre hacia la izquierda para no cortarse. */
        .page-title .customer-title-header .rating-details [data-title]:hover::before {
            left: auto;
            right: 0;
        }

.page-title h1.customer-title-name {
    font-size: 20px !important;
    font-weight: 600;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.page-title .customer-title-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 4px;
    color: var(--gray);
    font-size: 13px;
}

.page-title .customer-title-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}

    .page-title .customer-title-meta-item i {
        font-size: 18px;
        line-height: 1;
        color: var(--gray);
    }

/* Fila de portlets compactos del detalle de cliente (CustomerMiniPortlet) */
.customer-portlets {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
}

.customer-portlet {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: var(--porlet);
    border-radius: 12px;
    padding: 14px 18px;
    color: var(--gray);
}

    .customer-portlet .customer-portlet-icon {
        font-size: 22px;
        line-height: 1;
        color: var(--gray);
    }

    .customer-portlet .customer-portlet-title {
        font-size: 14px;
        font-weight: 500;
        color: var(--gray);
    }

    .customer-portlet .customer-portlet-value {
        font-size: 16px;
        font-weight: 600;
        color: var(--primary);
    }

    .customer-portlet.important .customer-portlet-value,
    .customer-portlet.important .customer-portlet-icon {
        color: var(--red);
    }

.footer {
    padding: 10px 24px 10px 75px;
    z-index: 6;
    background-color: var(--neutral);
    box-shadow: var(--shadow-2) !important
}

    .footer .logo {
        height: 18px;
        margin-left: 10px;
    }

/* left-menu */

.left-menu li.dropdown > a.dropdown-toggle span.material-icons-outlined {
    display: block;
    margin-top: 5px;
    display: inline;
    font-size: 24px;
}


span.menu-title {
    position: relative;
    bottom: 6px;
}

.left-menu.big li.dropdown > a.dropdown-toggle span {
    margin-left: 0;
}

span.menu-title {
    font-size: 15px !important;
}

.left-menu.big li.dropdown > a.dropdown-toggle span.menu-title {
    margin-left: 10px !important;
}

.left-menu.big .dropdown.active {
    height: 60px;
    margin-bottom: -10px;
}

.left-menu {
    background: var(--neutral) !important;
    box-shadow: var(--left-menu-shadow) !important;
}

    .left-menu.big {
        width: 253px;
    }

        .left-menu .dropdown-menu,
        .left-menu.big .dropdown-menu {
            background: var(--neutral) !important;
        }

            .left-menu .dropdown-menu li.group-title {
                background: var(--neutral) !important;
                color: var(--primary) !important;
                font-weight: bold;
            }

    .left-menu .nav li a {
        color: var(--light-gray) !important;
        background: var(--neutral) !important;
        height: 100%;
    }

        .left-menu .nav li a:hover {
            color: var(--primary) !important;
            background: var(--hover) !important;
            font-weight: 500;
        }

            .left-menu .nav li a:hover i {
                color: var(--primary);
                margin: 1px;
            }

    .left-menu .nav li.active a,
    .left-menu .nav li.dropdown:hover .dropdown-toggle i {
        background: transparent !important;
        color: var(--orange);
    }

        .left-menu .nav li.active a:hover {
            background: var(--hover) !important;
        }

        .left-menu .nav li.active a i {
            color: var(--orange);
        }

    .left-menu li i,
    .left-menu li a {
        color: var(--light-gray);
        font-size: 14px !important;
        padding-left: 7px;
    }


    /* Big Menu Open*/

    .left-menu.big .dropdown.open .dropdown-menu {
        box-shadow: none !important;
    }

        .left-menu.big .dropdown.open .dropdown-menu li a {
            color: var(--primary);
        }

    .left-menu.big .dropdown.open a,
    .left-menu .dropdown.open a.dropdown-toggle,
    .left-menu .dropdown.open a.dropdown-toggle:focus {
        color: var(--orange);
    }

    .left-menu.big .dropdown.open i {
        color: var(--orange);
    }

    .left-menu.big .dropdown.open .dropdown-menu li a:hover {
        color: var(--primary) !important;
        background: var(--hover) !important;
    }

    .left-menu .dropdown.active .dropdown-toggle,
    .left-menu .nav li.dropdown:hover .dropdown-toggle {
        color: var(--orange) !important;
        border-left: none;
        /*
    background: var(--hover) !important;
        */
    }

    .left-menu .nav li.dropdown:hover .dropdown-toggle {
        color: var(--primary) !important;
        border-left: none;
    }

label {
    font-weight: 500;
    color: var(--gray);
    margin-bottom: 0;
}


input,
textarea,
select,
.chosen-container,
.additional-selector.selected input {
    background: var(--neutral);
    border: 1px solid var(--border) !important;
    box-sizing: border-box;
    border-radius: 6px !important;
    color: var(--primary) !important;
    font-size: 14px;
}

    input:hover,
    textarea:hover,
    .chosen-container:hover,
    .additional-selector.selected:hover {
        border: 1px solid var(--primary) !important;
    }

.select-editable.creditCard #cardNumber {
    z-index: 10;
}

.select-editable select:focus {
    border: 2px solid var(--orange) !important
}

.chosen-container-multi .chosen-choices {
    background-color: var(--neutral);
    border-radius: 8px
}

.chosen-container .chosen-drop {
    background: var(--neutral);
    box-shadow: 0 4px 5px rgb(0 0 0 / 15%);
}

.chosen-container-active .chosen-choices li.search-field input[type="text"] {
    color: var(--primary) !important;
}

.chosen-container-multi .chosen-drop .result-selected,
.chosen-container-multi .chosen-drop .result-selected.active {
    color: var(--green);
    margin: 5px
}

.chosen-container-single .chosen-single {
    border: none;
    background-color: var(--neutral);
    background: var(--neutral);
    box-shadow: none;
    color: var(--primary);
}


.chosen-container-active.chosen-with-drop .chosen-single {
    border: none;
    background-color: var(--neutral);
    background: var(--neutral);
    box-shadow: none;
    color: var(--primary);
}

.chosen-container-single .chosen-single span {
    margin-top: 2px;
}

.chosen-container-single .chosen-single div {
    top: 2px;
}

.chosen-container .chosen-results li.no-results {
    background: var(--neutral);
    color: var(--primary);
}

select.form-control {
    padding: 0 6px
}

    select.form-control:hover {
        border: 1px solid var(--primary) !important;
        cursor: pointer
    }


select {
    height: 34px;
}

    select:focus {
        outline: none;
        border: 2px solid var(--orange) !important;
    }

    select[disabled='disabled']:hover {
        border: none !important;
    }

input:focus {
    border: 2px solid var(--orange) !important;
}

.hasDatepicker {
    height: 34px;
}

.additional-selector.selected input {
    background: var(--neutral) !important;
}

.form-control {
    background-color: var(--neutral);
    box-shadow: none !important;
    color: var(--primary);
    padding: 6px 10px
}

    .form-control:focus {
        box-shadow: none !important;
        -webkit-box-shadow: none !important;
        border: 2px solid var(--orange) !important
    }

    .form-control[readonly] {
        background-color: var(--neutral);
    }

label.checkbox-text {
    font-weight: 400;
    margin-top: 7px;
}


.floating-label .form-control::placeholder {
    color: transparent;
}

.form-control:focus + label {
    color: var(--orange);
    font-weight: 500
}

.form-control:focus + label,
.form-control:not(:placeholder-shown) + label,
.form-control:autofill + label {
    font-size: 12px;
    transform: translate3d(0, -50%, 0);
    opacity: 1;
    margin-left: 7px;
    padding: 0 4px;
    background-color: var(--neutral);
}

.form-control[disabled] {
    background-color: var(--neutral) !important;
    opacity: 0.5;
}

.additional-selector.selected {
    border: 1px solid var(--green);
    background-color: var(--selected);
    box-shadow: rgb(45 62 80 / 4%) 0px 1px 6px 0px !important;
}

    .additional-selector.selected:hover {
        background-color: var(--selected-hover);
        border: 1px solid var(--green) !important;
    }

.additional-selector p {
    color: var(--primary);
    font-size: 14px;
}

    .additional-selector p.price {
        margin: 5px;
        color: var(--light-gray);
        font-weight: 400;
        font-size: 14px;
    }

additional-selector.excluded,
.additional-selector.excluded input {
    opacity: 0.4;
}

.fa-pencil.fa-chevron-up:before {
    content: "\f040";
}

.panel {
    background: var(--neutral);
    border: none !important;
    box-shadow: var(--shadow-1);
    box-sizing: border-box !important;
    border-radius: 12px !important;
}

    .panel:hover {
        box-shadow: var(--shadow-hover)
    }

.panel-body {
    padding: 16px 24px 21px !important;
}

.panel.panel-info .panel-heading {
    background-color: var(--neutral);
}


input.login-control:-webkit-autofill {
    background-color: var(--rently-bg) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--rently-bg) inset;
    color: var(--light-gray) !important;
    border: 1px solid var(--border) !important;
    -webkit-text-fill-color: var(--light-gray) !important;
}

.form-group > input,
textarea,
select {
    width: 100% !important;
}

.form-group span.title {
    font-weight: 500;
    color: var(--gray);
}

.form-group.amount-group {
    display: flex;
    flex-direction: column;
    width: 100%;
}

    .form-group.amount-group label.control-label.col-md-2 {
        width: 100% !important;
    }

div.display-label {
    font-weight: 500;
    color: var(--gray);
}

.editor-label.inline label {
    font-weight: 500;
}

dt {
    font-weight: 500;
    color: var(--gray);
}

.panel-heading {
    padding: 0 24px;
}

    .panel-heading i.action,
    .panel-heading a.action {
        color: var(--primary);
    }

.panel.panel-primary .panel-heading {
    background-color: var(--neutral);
    color: var(--primary)
}

.flat-collapsable {
    padding: 0px !important;
}

.panel-heading h3.panel-title,
.sub-title,
.panel-heading h4.panel-title {
    font-size: 15px !important;
    color: var(--gray) !important;
    font-weight: 500 !important;
}

.panel-title.notes {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 5px
}

.panel h3.panel-title,
.panel h3 {
    font-size: 17px !important;
    color: var(--primary) !important;
    font-weight: 500 !important;
    margin-bottom: 0;
}

h3.sub-title {
    font-size: 17px !important;
    margin-bottom: 17px !important;
}

.panel-heading h3.panel-title {
    padding: 17px 0;
}

.title-date {
    font-size: 14px;
    color: var(--primary);
    font-weight: 400;
}

span.panel-title-data {
    font-size: 14px;
    color: var(--primary);
    font-weight: 500;
}


    span.panel-title-data label {
        font-size: 14px;
        color: var(--primary);
        font-weight: 500;
    }

.panel-heading h3.panel-title.info-color {
    color: var(--blue) !important
}

.quote-summary {
    background-color: var(--hover);
    border-radius: 8px;
    margin: 0 15px
}

    .quote-summary:hover {
        background-color: var(--light-blue);
        transition: 0.5s
    }

span.panel-data {
    font-size: 14px;
    color: var(--green);
    font-weight: 400;
    padding: 30px 0;
}

span.debt {
    font-size: 14px;
    color: var(--red);
    font-weight: 400;
    padding: 30px 0;
}

span.data {
    font-size: 14px;
    color: var(--light-gray);
    font-weight: 400;
    padding: 30px 0;
}



.additional-selector {
    border-radius: 8px !important;
    background: var(--rently-bg);
    border: 1px solid var(--line);
    width: 180px !important;
    height: 171px !important;
    margin: 14px 8px 0 0 !important;
}

    .additional-selector:hover {
        background: var(--hover);
    }

.additional-image {
    width: 25px !important;
    height: 25px !important;
}

#franchisePanelInfo .panel-body {
    border-bottom: none;
    padding: 12px !important;
}

.customer-info-card-popup .modal-content {
    background: none !important;
    box-shadow: none
}

.panel-body.main {
    padding: 12px !important;
}

.flat-collapsable {
    cursor: pointer;
}

    .flat-collapsable > h3 {
        padding: 8px 0;
    }

.collapsing-target {
    transition: 0.3s ease-in-out;
}

.flat-collapsable > h3 > .section-value.icon {
    margin-top: -3px !important;
    background-color: var(--rently-bg) !important;
    padding: 9px !important;
    border-radius: 6px;
    color: var(--gray) !important;
}

    .flat-collapsable > h3 > .section-value.icon:hover {
        background-color: var(--hover) !important;
    }

.collapsable,
.panel-price > .panel-heading {
    background-color: var(--hover) !important;
    padding: 15px 12px !important;
    color: var(--gray) !important;
    border-radius: 5px !important;
    cursor: pointer;
}

.panel-price {
    padding: 8px 0;
}

.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
    border: none !important;
    padding-bottom: 0 !important;
    padding-top: 8px !important;
}

.panel-default > .panel-heading {
    background-color: var(--hover) !important;
}

    .panel-default > .panel-heading:hover {
        background-color: var(--alternate) !important;
    }

.price-item-description {
    margin-bottom: 2px !important;
}

    .price-item-description.meliorate {
        max-width: 80% !important
    }

.price-item-value.meliorate {
    color: var(--red)
}

.price-item-actions i {
    padding: 5px;
}

    .price-item-actions i:hover {
        color: var(--blue);
        cursor: pointer;
        background: var(--light-blue);
        border-radius: 50px;
        transition: .3s
    }

.panel panel-default panel-price {
    margin-bottom: 0 !important;
}

.panel-default.panel-price {
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    box-shadow: none !important;
}

.list-group-item:first-child {
    background: var(--neutral);
    border-color: var(--border)
}

a.list-group-item,
button.list-group-item {
    color: var(--light-gray);
    background: var(--neutral);
    border-color: var(--border)
}

    a.list-group-item:hover {
        background-color: var(--hover);
        color: var(--primary)
    }

.list-group-item.disabled {
    color: var(--primary);
    cursor: not-allowed;
    background-color: var(--hover);
}

.autocomplete-content-container {
    box-shadow: var(--autocomplete-shadow) !important;
    border-radius: 12px;
    border: none;
    margin-top: 10px;
    background-color: var(--neutral);
    color: var(--primary)
}

    .autocomplete-content-container .ui-state-selected {
        background: var(--hover) !important;
        color: var(--primary);
        padding: 8px;
    }

    .autocomplete-content-container ul li {
        padding: 8px;
        cursor: pointer
    }

.icon-control {
    font-weight: normal;
}

    .icon-control:hover {
        color: var(--red);
    }

.availability .title {
    font-size: 18px;
}

.availability .subtitle,
.subtitle {
    font-size: 14px;
    color: var(--light-gray)
}

.availability span.franchise {
    color: var(--blue)
}

.availability img {
    width: 100%;
}

.ui-state-active:hover {
    background: var(--hover) !important;
    color: var(--primary);
}

.price-items li,
.rendition-items li,
.cash-details li {
    padding-bottom: 0 !important;
}

.price-info.new-booking .panel-body {
    padding-top: 8px !important;
}

input.input-validation-error,
select.input-validation-error,
textarea.input-validation-error {
    border: 1px solid var(--red);
}

.main-price {
    padding: 0 !important;
    padding-top: 3px !important;
}

    .main-price .panel-title.price-detail {
        padding: 12px !important;
        font-size: 18px;
    }

    .main-price.payed {
        background-color: var(--neutral) !important;
    }

    .main-price.with-debt {
        background-color: var(--neutral) !important;
    }


    .main-price .panel-title.price-detail {
        background-color: var(--primary) !important;
        border-radius: 5px !important;
        color: var(--neutral) !important;
        font-size: 17px !important;
        padding: 17px 12px !important;
    }

        .main-price .panel-title.price-detail.with-debt {
            background-color: var(--light-red) !important;
            border-radius: 8px;
            color: var(--primary) !important;
            font-size: 17px !important;
            border: 1px solid var(--red);
        }

        .main-price .panel-title.price-detail.payed {
            background-color: var(--light-green) !important;
            border-radius: 8px;
            color: var(--primary) !important;
            font-size: 17px !important;
            border: 1px solid var(--green);
        }


        .main-price .panel-title.price-detail.cost-price {
            background-color: var(--alternate) !important;
            border-radius: 8px;
            color: var(--primary) !important;
            font-size: 17px !important;
            display: block;
        }

/*
        .subtitle.payed{
            color: var(--green)
        }

.subtitle.with-debt {
    color: var(--red)
}
*/
/*

.panel-title.price-detail.with-debt {
color:var(--red) !important
}

.panel-title.price-detail.payed {
    color: var(--green) !important
}
*/
.price-items .panel-body {
    padding: 0 12px !important;
}

.panel-body.subtotal {
    padding: 0 7px !important;
}

#bookingPanelPayments {
    padding: 0 16px !important
}

span.Refund {
    color: var(--green);
}

li.disabled,
li.disabled span {
    color: var(--inactive) !important;
}

    li.disabled > a {
        pointer-events: none;
        cursor: not-allowed;
    }

select optgroup {
    font-weight: 500;
    color: var(--blue);
}

/*AGENCY*/
.main-price .panel-title.price-detail.agency-panel {
    background-color: var(--neutral) !important;
    border-radius: 12px;
    color: var(--primary) !important;
}

    .main-price .panel-title.price-detail.agency-panel:hover {
        background-color: var(--hover) !important;
    }

    .main-price .panel-title.price-detail.agency-panel.payed {
        border: 1px solid var(--green);
        color: var(--green) !important
    }


    .main-price .panel-title.price-detail.agency-panel.with-debt {
        border: 1px solid var(--red);
        color: var(--red) !important
    }



/*Customer*/
.main-price .panel-title.price-detail.customer-panel {
    background-color: var(--neutral) !important;
    border-radius: 12px;
    color: var(--primary) !important;
}


    .main-price .panel-title.price-detail.customer-panel:hover {
        background-color: var(--hover) !important;
    }


    .main-price .panel-title.price-detail.customer-panel.payed {
        border: 1px solid var(--green);
        color: var(--green) !important
    }


    .main-price .panel-title.price-detail.customer-panel.with-debt {
        border: 1px solid var(--red);
        color: var(--red) !important
    }


.price-detail > a > strong {
    font-weight: 500;
}

.section-value {
    font-weight: 500;
}

span.section-value:hover {
    color: var(--gray)
}

.hidden {
    display: none;
}

.price-info {
    min-height: auto;
}

h4.panel-title.price-detail {
    font-size: 15px
}

    h4.panel-title.price-detail::first-letter {
        text-transform: uppercase;
    }

    h4.panel-title.price-detail a:hover {
        color: var(--gray)
    }

.panel.panel-info {
    border-top: none !important;
}

.panel-body.subtotal {
    padding-bottom: 8px !important;
}

.section-value.icon {
    color: var(--light-gray) !important;
}

div.price-items {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.main-price h4 {
    display: list-item;
    color: var(--light-gray) !important;
    padding: 0 13px !important;
    margin-bottom: 8px
}

#bookingPanelAdditionalInfo .panel-body {
    padding-top: 16px !important;
}


.fixedprice #Price {
    font-size: 24px;
    width: 95%;
    margin: auto;
}

.fixedprice label {
    font-size: 28px;
    padding: 10px 10px 0 0;
    font-weight: 400;
}

.fixedprice #DailyRate {
    font-size: 28px;
    width: 90%;
    margin: auto;
}

.fixedprice #HourlyRate {
    font-size: 28px;
    width: 90%;
    margin: auto;
}

.login-body {
    background-color: var(--rently-bg) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.login-form {
    background: var(--neutral);
    box-sizing: border-box;
    border-radius: 12px;
    padding: 10px 34px;
    height: 470px;
    width: 400px;
    overflow: hidden;
    box-shadow: var(--shadow-2);
    margin: 0;
    z-index: 1;
}

.login-footer .version {
    color: darkgrey;
    margin-top: 5px;
}

.login-form div.login-logo {
    width: 170px !important;
    height: 80px !important;
    margin-bottom: 60px !important;
    margin-top: 60px !important;
    display: none;
}

div.login-form-container {
    width: 100% !important;
    margin-top: 0 !important;
}

.login-form .validation-summary-errors {
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none;
    color: var(--red) !important;
}

input.login-control::-webkit-input-placeholder {
    color: var(--light-gray) !important;
}

.login-control,
.login-control:focus {
    color: var(--light-gray) !important;
    background-color: var(--rently-bg) !important;
    border: 1px solid var(--border) !important;
}

.login-footer {
    position: fixed;
    bottom: 20px;
    text-align: center;
    color: var(--light-gray) !important;
    font-size: 10px;
}

    .login-footer img {
        width: 120px;
    }

.login-form .field-validation-error {
    color: var(--red) !important;
    font-weight: normal !important;
}

.login-form div {
    margin: 16px auto !important;
}

.btn-login {
    background: var(--primary);
    color: var(--neutral) !important;
    transition: 0.1s;
    border: none !important;
}

    .btn-login:hover {
        color: var(--neutral) !important;
        opacity: .9;
        transition: 0.3s;
        border: none !important;
    }

.btn.btn-login:focus {
    border: none !important;
    opacity: 1;
}

.btn {
    border-radius: 6px !important;
    padding: 10px 10px 12px;
}

.btn-large {
    padding: 10px 70px !important
}

.btn-default.btn-primary {
    font-weight: 500;
    cursor: pointer;
    color: #FFF;
}

    .btn-default.btn-primary:hover {
        opacity: 0.8;
        color: #FFF !important;
        transition: 0.3s;
    }


    .btn-default.btn-primary:focus {
        opacity: 0.6;
        color: #FFF !important;
        transition: 0.3s
    }

.btn-primary:active {
    opacity: .9;
    transition: 0.3s;
}

.btn-default {
    color: var(--gray);
    background-color: transparent;
    border: 1px solid var(--gray);
    font-weight: 500
}

    .btn-default:hover {
        background-color: var(--hover);
        color: var(--gray);
        transition: 0.3s
    }

    .btn-default:focus {
        background-color: var(--light-hover);
        border: 1px solid var(--gray);
        color: var(--gray) !important
    }

    .btn-default:active:focus {
        color: var(--light-gray) !important;
        background-color: var(--light-hover);
        border-color: var(--border)
    }

    .btn-default.btn-primary:active:focus {
        color: #FFF !important
    }


.btn:focus,
.btn:active:focus {
    outline: none;
    box-shadow: none;
}

.btn-neutral {
    background-color: transparent !important;
    border: 1px solid var(--blue) !important;
    color: var(--blue) !important;
    font-size: 14px;
    font-weight: 500 !important;
    margin: 10px 0;
    width: 100%;
    transition: .3s
}

    .btn-neutral:hover {
        background-color: var(--light-blue) !important;
        transition: .3s
    }

.btn-border {
    width: 100% !important;
    height: 34px !important;
    padding: 6px !important;
    background-color: var(--neutral) !important;
    color: var(--blue) !important;
    border: 1px solid var(--blue) !important;
    font-weight: 500 !important
}

    .btn-border:hover {
        background-color: var(--light-blue) !important;
        transition: .5s
    }


.btn-100 {
    width: 100%;
    margin: 10px 0;
}


.btn[disabled] {
    opacity: .45;
    color: var(--primary) !important;
    background-color: var(--inactive) !important;
    cursor: no-drop
}

.btn-control {
    color: var(--primary) !important;
}

#access-problem-message {
    color: var(--light-gray);
    margin-top: 26px;
}

    #access-problem-message a {
        font-weight: 500;
        color: var(--light-gray);
        display: block;
    }

.panel .row {
    margin-bottom: 3px;
}

.row-center {
    display: flex;
    align-items: center
}

.row-justify {
    display: flex;
    justify-content: center
}

.form-group {
    position: relative;
    margin-bottom: 0;
    margin-top: 1.3em;
}

.floating-label label {
    position: absolute;
    top: 0;
    padding: 7px 0 0 13px;
    transition: all 160ms;
    opacity: 0.6;
    color: var(--gray);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 24px);
    pointer-events: none;
    font-weight: 400
}

    .floating-label label i {
        pointer-events: initial;
    }

.price-item-description {
    color: var(--light-gray);
    max-width: 70% !important
}

    .price-item-description span {
        color: var(--model-1);
        font-size: 13px
    }

.tariff-name {
    background: var(--light-orange);
    border: 1px solid var(--orange);
    border-radius: 4px;
    color: var(--orange) !important;
    font-style: normal;
    font-size: 12px !important;
    margin: 5px 0;
    padding: 2px 5px;
}

.additional-selector input {
    background-color: var(--neutral);
    margin-top: 8px;
}

    .additional-selector input:hover {
        border: 1px solid var(--border) !important;
    }

#bookingAdditional, .required-action {
    text-align: center;
}

#linkCreateCustomerMembership {
    padding-left: 15px
}

div.checkbox {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

input[type="radio"] {
    margin-top: 0px !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: var(--primary) !important;
}

.col-md-10 input[type="checkbox"] {
    margin-top: 0px !important;
}

ul.sub-menu {
    float: right;
    width: auto;
    margin-right: 10px !important;
    margin-bottom: 16px !important;
    background: none;
}

    ul.sub-menu li {
        background: var(--neutral);
        border: none !important;
        box-shadow: rgb(45 62 80 / 30%) 0px 1px 2px 0px;
        box-sizing: border-box !important;
        border-radius: 8px !important;
        color: var(--primary) !important;
        margin-top: 10px;
        margin-right: 9px;
        transition: 0.1s;
        cursor: pointer;
    }

        ul.sub-menu li:hover {
            background: var(--light-hover);
            transition: 0.1s;
        }

        ul.sub-menu li a {
            color: var(--primary) !important;
            padding: 8px 15px !important;
            line-height: 1em !important;
            font-weight: 400;
            font-size: 13px;
            display: block;
            border-radius: 8px
        }

.nav .open > a {
    background-color: var(--light-hover) !important;
}

.btn-more-actions {
    background: none;
    border: none;
    color: var(--blue);
    margin-top: 13px;
}

    .btn-more-actions:hover {
        color: var(--link-hover)
    }

/* WI 19195: en viewports angostos (<1200px) la columna del título .col-lg-7 colapsa
   a width:100% y, al ser position:relative (default del grid BS3), se pinta por encima
   de #action-menu (ul.sub-menu, float:right SIN position) e intercepta el tap del kebab.
   Un z-index explícito sube el kebab por encima de la columna sin tapar modales (>=1040). */
.btn-group.dropleft {
    position: relative;
    z-index: 2;
}

.btn-group.open .dropdown-toggle {
    box-shadow: none;
}

.no-shadow > ul.sub-menu li {
    box-shadow: none !important;
}

.dropdown-menu li {
    box-shadow: none !important;
    margin: 0;
    width: 100%
}

    .dropdown-menu li a {
        margin: 0;
    }

.page-title,
ul.sub-menu {
    margin-top: 8px !important;
}

.display-field {
    margin-bottom: 10px
}

span.badge {
    color: var(--neutral);
    background-color: var(--green);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    padding: 7px 0;
    text-align: center;
    margin-top: -5px;
    margin-left: 5px;
}

.panel-infopanel-info > .panel-heading .badge {
    color: var(--neutral);
    background-color: var(--green);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    padding: 7px 0;
    text-align: center;
}

span.is-active {
    color: var(--green);
}


/* Modal   */

.modal-open .modal {
    background-color: #00000000;
}

.modal-backdrop.in {
    opacity: .75 !important;
}

.modal-content {
    border-radius: 12px !important;
    background: var(--neutral);
    padding: 10px !important
}

.modal-header {
    border-bottom: none;
}

.modal-footer {
    border-top: none;
}

.modal-title {
    color: var(--primary) !important;
    font-size: 16px;
    text-align: left;
}

.modal-body {
    color: var(--gray);
}

.modal .btn {
    padding: 7px 35px 10px;
    width: auto;
    font-weight: 500;
    transition: all .2s ease;
    height: 38px
}


.modal-footer .btn + .btn {
    padding: 8px 40px 10px;
}


.modal textarea {
    margin-bottom: 0 !important;
}

.form-horizontal-popUp {
    padding: 7px;
}

.modal-header .close {
    margin-top: -2px;
    color: var(--primary);
    opacity: 0.9;
}

.concept-details {
    color: var(--light-gray);
}

/* Tablas */

#gridParent {
    margin-top: 15px !important;
    /*height: 514px;*/
}

.k-grid table {
    background: var(--neutral);
    color: var(--primary)
}

.k-grid tr:hover {
    background-color: var(--hover);
}

.k-widget {
    border-color: var(--border);
    background-color: var(--neutral) !important;
}

div.k-grid-header {
    background: var(--neutral);
    border: 1px solid var(--border)
}

.k-grid-pager {
    background-color: var(--neutral) !important
}

.k-pager-sizes > select {
    margin-right: 5px;
    width: 3.5em !important;
    height: auto;
}

.k-pager-wrap {
    border-color: var(--border);
}

.k-textbox > .k-input {
    background: var(--neutral);
}

.k-grid .k-grid-search {
    background: var(--neutral);
    border-color: var(--border)
}

.k-input-icon .k-icon {
    color: var(--primary)
}

.k-grid tbody .k-button {
    min-width: auto;
}

.k-grid .k-button {
    color: var(--primary);
    border: none;
    background-color: transparent;
}

.k-toolbar,
.k-header {
    background-color: var(--hover) !important;
    color: var(--primary) !important;
    border: var(--border)
}

.k-grid-header .k-link:link {
    color: var(--primary) !important;
}

.k-header > .k-link {
    color: var(--primary) !important;
}

.k-toolbar {
    background-color: var(--hover) !important;
    /*justify-content: space-between;*/
}

    .k-toolbar::before {
        content: none;
    }

button.k-button.k-button-icontext.k-grid-excel {
    background: var(--light-green);
    border-radius: 5px;
    border: 1px solid var(--border);
    order: 2;
    margin-left: 10px;
}

.k-grid .k-grid-search {
    width: 40em !important;
    display: flex;
    margin-left: 0 !important
}

.k-alt {
    background-color: var(--neutral);
}

.k-grid > .k-grouping-header {
    background: var(--neutral);
    border: 1px solid var(--border);
    color: var(--light-gray);
    padding: 5px 15px;
}

.k-grid-footer {
    background-color: var(--neutral);
}

    .k-grid-footer td {
        color: var(--primary);
        background-color: var(--neutral);
    }

.k-pager-wrap .k-link.k-state-selected {
    background-color: var(--hover) !important;
    border-color: var(--blue) !important;
    color: var(--blue) !important;
    font-weight: 500;
}

.k-state-selected {
    color: var(--primary) !important;
    background-color: #ebebeb !important;
    box-shadow: none !important;
}

.k-autocomplete,
.k-dropdown-wrap.k-state-default {
    border-color: var(--border) !important;
}

.k-pager-wrap .k-link {
    color: var(--primary) !important;
}

    .k-pager-wrap .k-link:hover {
        color: var(--blue) !important;
        border-color: var(--border);
        background: var(--hover);
    }

.k-dropdown .k-input {
    color: var(--primary)
}

.k-dropdown .k-state-hover .k-input {
    color: var(--primary)
}

.k-group {
    background-color: var(--neutral) !important;
    border: none;
}

.k-menu .k-menu-group .k-item > .k-link {
    color: var(--primary)
}

    .k-menu .k-menu-group .k-item > .k-link:hover {
        background-color: var(--hover)
    }

.k-filter-menu {
    background-color: var(--neutral)
}

.k-numeric-wrap.k-state-default {
    background-color: var(--neutral)
}

    .k-numeric-wrap.k-state-default .k-input {
        background-color: var(--neutral)
    }

.k-column-menu {
    border-color: var(--border)
}

.k-picker-wrap.k-state-default .k-input {
    background-color: var(--neutral);
    border: none !important
}

.k-picker-wrap.k-state-default {
    background-color: var(--neutral);
    border-color: var(--border);
}

.k-menu .k-link.k-state-active {
    color: var(--primary)
}

.k-state-default > .k-select {
    border-color: var(--border);
}

.k-picker-wrap {
    background-color: var(--neutral);
    color: var(--primary) !important
}

.k-menu .k-item .k-item {
    color: var(--primary)
}


    .k-menu .k-item .k-item:hover {
        color: var(--primary)
    }

.k-list-container.k-state-border-down {
    color: var(--primary);
    border-color: var(--border)
}

.k-state-focused.k-state-selected {
    color: var(--primary) !important;
    background-color: var(--hover) !important
}

.k-dropdown .k-input,
.k-dropdown .k-state-focused .k-input {
    color: var(--primary)
}

.k-popup .k.list .k-state-hover {
    background-color: var(--hover) !important;
    color: var(--primary) !important
}

.k-calendar .k-month .k-link {
    color: var(--primary);
}

.k-calendar .k-month th {
    background-color: var(--neutral);
    color: var(--primary);
}

.k-calendar td.k-state-hover .k-link {
    background-color: var(--hover);
    color: var(--primary);
}

.k-grouping-header .k-group-indicator {
    border-color: var(--border);
}

.k-i-sort-asc-sm:before {
    color: var(--primary);
}

.k-grouping-header .k-link {
    color: var(--primary);
}

.k-grouping-row td {
    background-color: var(--neutral);
}

.k-grouping-row td {
    color: var(--primary);
}

td.k-group-cell {
    background-color: var(--neutral);
}

li.k-item {
    color: var(--primary);
}

    li.k-item.k-state-hover {
        background-color: var(--hover);
        color: var(--primary);
        box-shadow: none;
    }

form.k-filter-menu .k-textbox {
    background: var(--neutral);
}

.k-filter-help-text {
    color: var(--primary);
    background-color: var(--neutral);
}

.k-window-titlebar {
    border: none;
    color: var(--primary);
    background-color: var(--neutral);
    border-radius: 12px;
    padding: 20px
}

.k-window-title {
    font-weight: 500
}

.k-window > div.k-popup-edit-form {
    padding: 1em
}

.k-edit-form-container .k-edit-buttons {
    border: none;
    color: var(--primary);
    background-color: var(--neutral);
    padding: 10px 0;
    display: flex;
    justify-content: flex-end
}

a.k-button.k-button-icontext.k-primary.k-grid-update {
    color: var(--neutral) !important;
    border: none;
    order: 2
}

    a.k-button.k-button-icontext.k-primary.k-grid-update:hover {
        opacity: 0.7
    }

a.k-button.k-button-icontext.k-grid-cancel {
    background: none;
    color: var(--gray) !important;
    border: 1px solid var(--gray)
}

    a.k-button.k-button-icontext.k-grid-cancel:hover {
        background-color: var(--hover) !important;
    }

.k-edit-form-container .k-button {
    margin: 0 0px 0 10px;
    padding: 8px 35px 10px
}

.k-window > div.k-popup-edit-form {
    overflow: hidden;
}

.k-window.k-state-focused {
    border: none;
}

.k-widget.k-window.k-display-inline-flex {
    border: none;
    border-radius: 12px
}

.k-edit-form-container {
    position: relative;
    width: 400px;
    padding: 0 20px;
    margin-bottom: 12px
}

    .k-edit-form-container .editor-label, .k-edit-label {
        width: 100%;
        text-align: left;
        margin: 0;
        padding: 2px 0
    }

    .k-edit-field, .k-edit-form-container .editor-field {
        width: 100%;
        padding: 0;
        margin-bottom: 7px
    }

.k-edit-label {
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 2px 0;
    color: var(--gray);
    background: var(--neutral);
    position: relative;
    top: 9px;
    width: auto;
    padding: 0 5px;
    font-size: 12px;
    z-index: 3
}

input#Reason, input#Name, input#Code {
    padding-left: 12px;
}

input[type='datetime'], input#Dates, textarea.singleDate, #Code {
    width: 100%
}

.k-tooltip-error {
    border-color: var(--red);
    background-color: var(--light-red);
}

.k-grid tbody .k-button {
    padding: 3px
}

.k-button:focus {
    border: none;
    box-shadow: var(--shadow-1);
    transition: .4s
}

.k-primary:focus:active:not(.k-state-disabled):not([disabled]) {
    box-shadow: var(--shadow-1);
}

.k-grid .k-button:hover {
    background-color: var(--light-blue);
    /*border-radius: 50px;*/
    transition: .4s
}

.k-button:focus, .k-button:focus:hover {
    border: none;
    box-shadow: var(--shadow-2)
}

/* Action icons NEW Kendo Tables */

.k-edit {
    background: url(../Images/edit.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-delete {
    background: url(../Images/delete.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-clone {
    background: url(../Images/clone.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-details {
    background: url(../Images/details.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-send {
    background: url(../Images/resend.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-confirm {
    background: url(../Images/confirm.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-download {
    background: url(../Images/download.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-finalize {
    background: url(../Images/contract-delete.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-preview {
    background: url(../Images/preview.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-refresh {
    background: url(../Images/refresh.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-activate {
    background: url(../Images/toggle_off.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-deactivate {
    background: url(../Images/toggle_on.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-attach {
    background: url(../Images/attach.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-invoice {
    background: url(../Images/order-approve.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.k-shield {
    background: url(../Images/shield.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}



/* MVC Table*/

.table {
    min-width: 100% !important;
}

.mvc-grid tr:nth-child(odd) {
    background-color: var(--neutral);
}

    .mvc-grid tr:nth-child(odd):hover {
        background-color: var(--hover);
    }

.mvc-grid tr:nth-child(even) {
    background-color: var(--neutral);
}

.mvc-grid tr.selected,
.mvc-grid tr.selected:nth-child(odd) {
    background-color: var(--hover) !important;
    color: var(--primary) !important;
}

    .mvc-grid tr.selected a {
        color: var(--blue) !important;
    }

.mvc-grid tr:hover {
    background-color: var(--hover);
}

.k-textbox > .k-input {
    border: none !important;
}

.linkButton a:hover {
    background-color: var(--light-blue) !important;
    border-radius: 100%;
}

.grid-pagination-option {
    float: right;
    position: relative;
    bottom: 5px;
    right: 20px;
}

tr.row-transfer {
    background-color: var(--hover) !important;
}

.mvc-grid td.alert {
    color: var(--red) !important;
}

.mvc-grid th {
    background-color: var(--hover) !important;
    color: var(--primary)
}

.mvc-grid tr > td.border-right {
    border-right: 1px solid var(--gray) !important;
}

.pagination > .active > span {
    background-color: var(--hover) !important;
    border-color: var(--border) !important;
    color: var(--blue) !important;
}

    .pagination > .active > span:hover {
        background-color: var(--light-hover) !important;
        border-color: var(--border) !important;
        color: var(--blue) !important;
        font-weight: 500;
    }

.pagination > li > span {
    background-color: var(--neutral)
}

.pagination > li > span {
    color: var(--primary) !important;
    border: 1px solid var(--border)
}

    .pagination > li > span:hover {
        color: var(--blue);
        background-color: var(--hover);
        border-color: var(--border);
    }

.pagination > .disabled > span {
    background-color: var(--neutral);
    border-color: var(--border)
}

.grid-pagination-option select {
    background: var(--neutral) !important;
}

.mvc-grid-pager span {
    background-color: var(--neutral);
    border: 1px solid var(--border)
}

tr.discount a {
    color: var(--red);
}

.mvc-grid tr.alert {
    color: var(--red) !important;
}

.display-action.clickeable:hover {
    background-color: var(--hover) !important;
    color: var(--blue);
}

    .display-action.clickeable:hover,
    .display-action.clickeable:hover i.inline-link {
        background-color: var(--hover) !important;
        color: var(--blue);
    }

.mvc-grid-popup .popup-content {
    background: var(--neutral);
    border: none;
    border-radius: 8px;
}

.mvc-grid-popup {
    border: none
}

.btn-danger {
    color: var(--primary);
    background-color: var(--red);
    border-color: var(--red);
}

.btn-success {
    color: var(--primary);
    background-color: var(--green);
    border-color: var(--green);
}

.pagination > .disabled > span,
.pagination > .disabled > span:hover {
    color: var(--primary);
    cursor: not-allowed;
    background-color: var(--alternate);
    border-color: var(--border);
}

td.linkButton {
    padding: 4px 6px !important;
}


/* Action icons OLD Tables */

.editLink {
    background: url(../Images/edit.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.detailsLink {
    background: url(../Images/details.svg) no-repeat;
    height: 24px;
    width: 24px;
    margin-right: 0 !important
}

.resendLink {
    background: url(../Images/resend.svg) no-repeat;
    height: 24px;
    margin-right: 0 !important
}

.deleteLink {
    background: url(../Images/delete.svg) no-repeat;
    height: 24px;
    margin-right: 0 !important
}

td.linkButton a {
    color: var(--blue) !important;
}

.btn-grid-action,
.btn-grid-action:hover,
.btn-grid-action:focus {
    font-size: 24px;
}

/* Customer module*/
.info-Noprice {
    padding: 0 !important;
}

#iata-div {
    position: relative;
    bottom: 1px;
}

span.small-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--gray)
}


/* Selector Hours */
.k-time-header .k-title {
    color: var(--primary);
}

.k-time-header .k-time-now:hover {
    color: var(--blue);
}

.k-time-list-wrapper.k-state-focused .k-title {
    color: var(--blue);
}

.k-time-list {
    background: var(--neutral);
}

    .k-time-list .k-item {
        color: var(--primary);
        cursor: pointer
    }

    .k-time-list::before {
        box-shadow: none;
    }

    .k-time-list::after {
        box-shadow: none;
    }

.k-time-highlight {
    background-color: #1a73e842;
    border-color: var(--border);
    z-index: 99;
}

.k-time-list-wrapper .k-title {
    background: var(--alternate);
    border: none
}

.k-time-header {
    background-color: var(--neutral);
}

.k-time-list-container {
    background-color: var(--neutral);
}

.k-time-list-wrapper {
    margin-left: 10px;
    margin-bottom: 5px;
}

    .k-time-list-wrapper:focus {
        box-shadow: none !important;
    }

.k-header .k-icon:before {
    text-indent: 0;
    color: var(--primary);
}

.k-time-footer {
    margin-top: 0;
    background-color: var(--neutral);
    display: flex;
}

.k-picker-wrap.k-state-focused {
    box-shadow: none !important;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.k-grid-header th.k-state-focused,
k-state-focused {
    box-shadow: none !important;
}

.k-state-selected > td > a {
    color: var(--blue) !important;
}

.k-grid tr.k-state-selected td {
    background-color: var(--hover) !important;
    color: var(--primary) !important;
}

    .k-grid tr.k-state-selected td.k-state-focused {
        box-shadow: none !important;
    }

.k-grid tr.k-state-selected:focus {
    box-shadow: none !important;
}

.k-grid tr td {
    box-shadow: none !important;
}

.k-state-active {
    background-color: var(--alternate) !important;
}

    .k-state-active:hover {
        background-color: var(--hover) !important;
    }

ul.k-menu-vertical > .k-item {
    background-color: var(--neutral);
    color: var(--primary);
}

.k-menu-vertical > .k-menu-item > .k-menu-link:hover {
    background-color: var(--hover) !important;
    color: var(--primary);
}

.k-menu-vertical > .k-menu-item > .k-menu-link:active {
    background-color: var(--hover) !important;
    color: var(--primary);
}

.k-menu .k-state-selected > .k-link {
    color: var(--primary);
    background-color: var(--hover) !important;
    border-color: var(--hover) !important;
    background-image: none;
}

.k-pager-wrap .k-link {
    color: var(--primary);
    border-color: var(--border);
    background: var(--neutral);
}

.k-dropdown .k-input {
    color: var(--primary);
}

.k-i-arrow-60-down:before {
    color: var(--primary);
}

.k-menu .k-item .k-item {
    box-shadow: none;
}

.k-dropdown-wrap {
    background-color: var(--neutral) !important;
}

    .k-dropdown-wrap:hover {
        background-color: var(--hover) !important;
    }

.k-grid-norecords-template {
    background-color: var(--neutral);
    border: none;
    color: var(--primary);
}

/*      */

.table-hover > tbody > tr:hover {
    background-color: var(--hover);
}

.table-bordered {
    border: 1px solid var(--border);
}

    .table-bordered > thead > tr > th {
        border: 1px solid var(--border);
    }

    .table-bordered > tbody > tr > td {
        border: 1px solid var(--border);
    }

    .table-bordered > tbody > tr > th {
        border: 1px solid var(--border);
    }

.table-borderless tr:hover {
    background-color: var(--hover)
}

.table > tbody > tr > td {
    border-top: none;
    text-align: initial
}

/*Sub-menu dropdown */
.dropdown-menu {
    border-radius: 8px !important;
    padding: 10px;
    margin-top: 10px;
    box-shadow: var(--shadow-1);
    border: none;
    background-color: var(--neutral);
    color: var(--primary);
    overflow-x: hidden;
    z-index: 3;
    /*    left: unset;
    right: 0%;*/
}

    .dropdown-menu.right {
        left: unset;
        right: 0%;
    }

    .dropdown-menu a {
        margin: 5px
    }

        .dropdown-menu a:hover {
            color: var(--orange) !important;
        }

.k-dropdown-wrap.k-state-focused {
    box-shadow: none;
    border-color: none !important;
}

.k-checkbox-label > .k-checkbox {
    width: 16px;
    height: 16px;
    margin: 0 7px;
    border-color: var(--border) !important;
    border-radius: 100% !important
}

.k-checkbox:hover {
    background-color: var(--hover);
}

.k-checkbox:checked {
    border: none !important;
    color: var(--neutral) !important;
    background-color: var(--blue);
}

.k-filter-menu .k-filter-selected-items {
    color: var(--blue);
}

/*Header*/

.header {
    box-shadow: none !important
}

.config-menu {
    padding-top: 4px;
}

    .config-menu:hover {
        background-color: #ffffff53;
        color: var(--neutral);
    }

    .config-menu.active {
        background: var(--neutral);
        color: var(--primary);
    }

.navbar-nav .open .dropdown-menu {
    background-color: var(--neutral) !important;
}

.user-nav li.dropdown a:hover {
    background: var(--hover) !important;
}

.user-nav li.dropdown a.dropdown-toggle:hover {
    background: #ffffff53 !important;
}

.user-nav li.dropdown.open a.dropdown-toggle {
    background: #ffffff53 !important;
}

.admin-menu {
    background: var(--neutral) !important;
    padding: 20px;
    color: var(--primary) !important;
    box-shadow: rgb(45 62 80 / 8%) 0px 5px 6px 0px !important;
}

    .admin-menu h3 {
        color: var(--primary) !important;
        font-weight: 500;
        font-size: 18px;
        padding-left: 5px;
        padding-bottom: 30px;
    }

    .admin-menu div.menu-item a span {
        display: block;
        text-align: center;
        padding-top: 15px;
        margin-bottom: 3px;
    }

    .admin-menu div.menu-item {
        color: var(--light-gray);
        background: var(--light-hover) !important;
        box-shadow: rgb(45 62 80 / 10%) 0px 2px 2px 0px !important;
        border-radius: 8px;
        margin: 6px !important;
    }

        .admin-menu div.menu-item:hover {
            color: var(--primary);
            background: var(--hover) !important;
        }

        .admin-menu div.menu-item a {
            width: 100%;
            height: 100%;
            color: var(--gray) !important;
        }

            .admin-menu div.menu-item a:hover {
                width: 100%;
                height: 100%;
                color: var(--primary) !important;
            }

.profile-initials {
    border: none !important;
    line-height: 42px !important;
    font-size: 19px !important;
}

.site-title {
    font-size: 15px;
    font-weight: 400;
}

span.material-icons-outlined.headerdropdown {
    position: relative;
    top: 5px;
    right: 5px;
}

ul.quick-access {
    padding: 0 10px
}

li.header-icon {
    list-style: none;
    position: relative;
    top: 7px;
}

    li.header-icon a span {
        color: #FFF;
    }

        li.header-icon a span:hover {
            color: var(--hover);
        }

/*Input % Search result*/

li.searchBox {
    margin-right: 0
}

input.searchBox {
    background-color: #ffffff4d;
    width: 350px;
    border-radius: 50px !important;
    padding: 5.5px 20px;
    color: #2E2D35 !important;
    transition: width, all 0.2s ease;
    height: 31px;
    margin-left: 20px;
}

    input.searchBox:focus {
        box-shadow: none !important;
        background-color: #ffffff5f;
        width: 500px;
        transition: all 0.2s ease;
        box-shadow: var(--shadow-2) !important
    }

    input.searchBox:hover {
        border: none !important;
        box-shadow: var(--shadow-2)
    }

input.searchBox {
    background-size: 21px;
    background-position-x: 97%;
    background-position-y: 50%;
    font-weight: 500;
}

.searchBox::placeholder {
    color: var(--primary);
    font-size: 14px;
    font-weight: 400;
}

#searchResult {
    background-color: var(--neutral);
    border-radius: 20px;
    margin-right: 10px;
    padding: 10px;
}

    #searchResult .groupTitle {
        background-color: var(--neutral) !important;
        color: var(--orange);
        padding: 8px;
        font-weight: 500;
        border-left: none;
        border-radius: 5px;
        /* box-shadow: rgb(45 62 80 / 5%) 0px 2px 2px 0px !important; */
        height: 39px;
        margin: 16px 10px;
        text-decoration: underline
    }

    #searchResult .result {
        height: 84px;
        cursor: pointer;
        padding: 20px 10px;
        margin: 10px 7px;
        background-color: var(--rently-bg);
        color: var(--light-gray);
        border-radius: 8px;
        box-shadow: rgb(45 62 80 / 10%) 0px 2px 2px 0px !important;
        font-size: 13px;
    }

.result .customerName,
.payment-number {
    font-size: 13px;
}

#searchResult .result:hover {
    background-color: var(--alternate);
    font-weight: 400 !important;
}

#searchResult .info,
li .info {
    display: inline-block;
    height: 15px;
    vertical-align: top;
    margin-top: -3px;
    font-size: 13px;
    color: var(--light-gray);
}

#searchResult .bookingNumber,
li .bookingNumber,
.data-id {
    width: 73px;
    height: 63px;
    font-size: 14px;
    color: var(--light-gray);
    font-weight: 500;
    word-break: break-word;
}

    #searchResult .bookingNumber span {
        vertical-align: bottom;
        color: var(--blue)
    }

        #searchResult .bookingNumber span.external-id {
            vertical-align: bottom;
            padding-right: 5px;
            font-size: 11px;
        }


.result .customerName {
    font-size: 14px;
    padding: 10px 0;
}

.result .customer-email {
    vertical-align: middle;
}

.concept-description {
    color: var(--gray);
}

.btn-header {
    background: none !important;
    border: none !important;
    color: #FFF;
    margin: 7px 0;
    padding: 0 10px;
    width: auto;
}

    .btn-header:hover {
        color: var(--hover);
    }

.dropdown-menu > li > a {
    color: var(--light-gray);
}

    .dropdown-menu > li > a:hover {
        color: var(--primary) !important;
        background-color: var(--hover);
        font-weight: 500;
    }

.header-menu li {
    padding: 5px 5px 5px
}

    .header-menu li a {
        padding: 0 20px 8px;
    }


        .header-menu li a:hover {
            border-radius: 8px
        }

/* Alerts */

.alert-danger {
    color: var(--red);
    background-color: var(--neutral);
    border: 1px solid var(--red);
    border-radius: 8px !important;
    font-weight: 500;
}

    .alert-danger strong {
        color: var(--red) !important;
    }

.alert-success {
    color: var(--green);
    background-color: var(--neutral);
    border: 1px solid var(--green);
    border-radius: 8px !important;
}

.validation-summary-errors,
.input-error {
    color: var(--red);
    background-color: var(--neutral);
    border: 1px solid var(--red);
    border-radius: 8px !important;
}

input.input-validation-error,
select.input-validation-error,
textarea.input-validation-error {
    border: 1px solid var(--red) !important;
}

    input.input-validation-error:hover {
        border: 2px solid var(--red) !important;
    }

    input.input-validation-error.form-control:focus + label {
        color: var(--red)
    }


    input.input-validation-error.form-control:focus {
        border: 2px solid var(--red) !important;
    }

.field-validation-error {
    color: var(--red);
    font-weight: 500;
    font-size: 12px;
}

h4 strong {
    color: var(--gray) !important;
    font-weight: 500
}

strong {
    color: var(--primary) !important;
    font-weight: 500
}

    strong.light {
        color: var(--light-gray) !important;
    }

.panel-heading h3.panel-title-delete {
    padding: 17px 0;
    color: var(--red) !important;
}

.not-active {
    display: none;
    color: var(--red) !important;
}

.alert-info {
    border-radius: 8px !important;
    color: var(--blue);
    background-color: var(--neutral);
    border: 1px solid var(--blue);
}

    .alert-info .alert-link {
        color: var(--blue);
        font-weight: 500;
    }

.alert-warning {
    border-radius: 8px !important;
    color: var(--orange);
    background-color: var(--neutral);
    border: 1px solid var(--orange);
}

    .alert-warning .alert-link {
        color: var(--orange);
        font-weight: 500;
    }

span.alert-cancel {
    color: var(--red) !important;
}

span.danger {
    color: var(--red) !important;
    cursor: pointer;
}

span.delete:hover {
    color: var(--red) !important;
    cursor: pointer;
}

a.NotPayed,
a.NotCollected {
    color: var(--red) !important;
    font-weight: 500;
}

span.discount,
li.expired {
    color: var(--red) !important;
    font-weight: 500;
}

tr.discount {
    color: var(--red)
}

.bookingTooltip .payed {
    padding-top: 10px;
    color: var(--green);
}

span.redImportant {
    color: var(--red) !important;
}

.redImportant {
    color: var(--red) !important;
}

.amounts-panel-heading h3.panel-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.amounts-section {
    margin-bottom: 0;
}

    .amounts-section + .amounts-section {
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid var(--line);
    }

.amounts-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.amounts-section-title {
    margin: 0;
    font-size: 0.8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--gray) !important;
}

    .amounts-section-title::before {
        content: "";
        display: inline-block;
        width: 4px;
        height: 13px;
        margin-right: 8px;
        border-radius: 2px;
        vertical-align: middle;
        background-color: var(--orange);
    }

.amounts-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .amounts-list li {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 12px;
        padding: 7px 0;
        border-bottom: 1px solid var(--line);
    }

        .amounts-list li:last-child {
            border-bottom: none;
        }

        .amounts-list li > span:last-child,
        .amounts-list li > strong:last-child {
            font-family: 'Roboto Mono', Consolas, Menlo, 'Courier New', monospace;
            font-variant-numeric: tabular-nums;
            text-align: right;
            white-space: nowrap;
        }

.amounts-list-total > strong {
    font-size: 1.1em;
}

.amounts-inherited {
    margin-right: 4px;
    color: var(--gray);
    font-weight: 400;
}

.amounts-margin-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    padding: 14px 16px;
    background-color: var(--light-blue);
    border-radius: 8px;
}

    .amounts-margin-box > strong {
        font-family: 'Roboto Mono', Consolas, Menlo, 'Courier New', monospace;
        font-variant-numeric: tabular-nums;
        font-size: 1.3em;
    }

/* Infraction form cards (Create) */
.panel.infraction-form-wrapper {
    background: transparent;
    box-shadow: none;
}

    .panel.infraction-form-wrapper:hover {
        box-shadow: none;
    }

.infraction-form-wrapper > .panel-body {
    padding-top: 0 !important;
}

.infraction-form-wrapper .validation-summary-valid {
    display: none;
}

.infraction-card {
    margin-bottom: 16px;
}

    .infraction-card > .panel-heading h3.panel-title {
        display: flex;
        align-items: center;
        gap: 10px;
    }

.infraction-card-icon {
    color: var(--orange) !important;
    font-size: 22px;
    line-height: 1;
}

.amounts-summary {
    margin-top: 16px;
    padding: 12px 16px;
    background-color: var(--light-blue);
    border-radius: 8px;
}

.amounts-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 4px 0;
}

    .amounts-summary-row > span:first-child {
        color: var(--gray);
    }

.amounts-summary-value {
    font-family: 'Roboto Mono', Consolas, Menlo, 'Courier New', monospace;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.amounts-summary-total {
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
}

    .amounts-summary-total > strong {
        font-size: 1.05em;
    }

.amounts-group-title {
    margin: 18px 0 8px;
    font-size: 0.8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--gray);
}

/* Rediseño de descuentos de infracciones (opción 1a): el % es una acción "Recalcular" por
   importe, no un campo del form. Anatomía de la fila: input y, debajo, una única línea con la
   etiqueta informativa del % efectivo ("XX% de descuento sobre $ ...", texto secundario gris) a
   la izquierda y el enlace "Recalcular" a la derecha. El % nunca pesa más que el monto: la
   etiqueta es 11px/--light-gray, sin chip ni color de acento. */
.amount-discount-row {
    margin-bottom: 15px;
}

.amount-discount-line {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 18px;
    margin-top: 4px;
}

.amount-discount-info {
    display: block;
    padding-left: 13px;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 400;
    color: var(--light-gray);
}

.amount-discount-recalc {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 0;
    border: none;
    background: none;
    font-size: 12px;
    font-weight: 500;
    color: var(--blue);
    cursor: pointer;
    white-space: nowrap;
}

    .amount-discount-recalc:hover {
        color: var(--link-hover);
    }

.amount-discount-caret {
    display: block;
    flex: none;
}

.amount-discount-menu {
    position: absolute;
    top: calc(100% + 2px);
    right: 0;
    z-index: 30;
    min-width: 240px;
    padding: 6px;
    background: var(--neutral);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow-hover);
}

.amount-discount-menu-header {
    padding: 6px 8px 8px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--light-gray);
}

.amount-discount-preset {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;
    box-sizing: border-box;
    padding: 7px 8px;
    border: none;
    border-radius: 4px;
    background: transparent;
    font-size: 13px;
    color: var(--primary);
    text-align: left;
    cursor: pointer;
}

    .amount-discount-preset:hover:not(:disabled) {
        background: var(--hover);
    }

    .amount-discount-preset.is-selected {
        background: var(--porlet);
    }

    .amount-discount-preset:disabled {
        opacity: 0.45;
        cursor: default;
    }

.amount-discount-preset-preview {
    color: var(--light-gray);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.amount-discount-menu-divider {
    margin: 6px 4px 0;
    border-top: 1px solid var(--line);
}

.amount-discount-menu-note {
    padding: 8px;
    font-size: 11px;
    line-height: 1.4;
    color: var(--gray);
}

/* Rediseño de «Descuentos de multas» (Settings › Infracciones, #21517). Repeater de 2 columnas
   (porcentaje + aplicación) que reemplaza al grid Kendo de 4 columnas cobro/pago × antes/después; todo
   se persiste con el Guardar de la pantalla. La grilla colapsa a tarjeta apilada por container query
   (la card puede ser angosta), con labels inline que reaparecen en mobile. */
.infraction-discount-help {
    margin: 0 0 20px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--light-gray);
}

.infraction-discount-percentages {
    container-type: inline-size;
}

.infraction-discount-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.infraction-discount-eyebrow {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--light-gray);
}

.infraction-discount-add {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--primary);
    background: var(--neutral);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
}

    .infraction-discount-add:hover {
        background: var(--hover);
    }

    .infraction-discount-add .material-icons-outlined {
        font-size: 18px;
    }

.infraction-discount-table {
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.infraction-discount-thead,
.infraction-discount-row {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 48px;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
}

.infraction-discount-thead {
    background: var(--hover);
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 500;
    color: var(--light-gray);
}

.infraction-discount-row {
    border-top: 1px solid var(--line);
    background: var(--neutral);
}

.infraction-discount-pct-field {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.infraction-discount-pct {
    width: 78px;
    height: 36px;
    padding: 0 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--primary);
    text-align: right;
    background: var(--neutral);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.infraction-discount-pct-suffix {
    font-size: 14px;
    font-weight: 500;
    color: var(--gray);
}

.infraction-discount-apply {
    width: 100%;
    max-width: 340px;
    height: 36px;
    padding: 0 11px;
    font-size: 14px;
    color: var(--primary);
    background: var(--neutral);
    border: 1px solid var(--border);
    border-radius: 4px;
    cursor: pointer;
}

.infraction-discount-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 34px;
    padding: 0 8px;
    background: transparent;
    border: 0;
    border-radius: 4px;
    color: var(--red);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

    .infraction-discount-remove:hover {
        background: var(--red-hover);
    }

    .infraction-discount-remove .material-icons-outlined {
        font-size: 19px;
    }

.infraction-discount-inline-label {
    display: none;
}

/* Fila inválida: barra roja a la izquierda + fondo suave; la línea de aviso ocupa todo el ancho. */
.infraction-discount-row.is-invalid {
    box-shadow: inset 3px 0 0 var(--red);
    background: var(--light-red);
}

.infraction-discount-warning {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 2px;
    color: var(--red);
    font-size: 12px;
    line-height: 1.4;
}

    .infraction-discount-warning[hidden] {
        display: none;
    }

    .infraction-discount-warning .material-icons-outlined {
        font-size: 16px;
        flex: none;
    }

/* Descuento por defecto por situación: 2 columnas (cobro / pago) que las apila el grid de Bootstrap
   (col-lg-6) en pantallas chicas. */
.infraction-discount-defaults {
    margin-top: 24px;
}

.infraction-discount-defaults-title {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 500;
    color: var(--primary);
}

.infraction-discount-defaults-help {
    margin: 0 0 16px;
    font-size: 12px;
    color: var(--light-gray);
}

.infraction-discount-defaults-group {
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--light-gray);
}

.infraction-discount-default .discount-default-select {
    height: 36px;
}

@container (max-width: 519px) {
    .infraction-discount-thead {
        display: none;
    }

    .infraction-discount-row {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px;
    }

    .infraction-discount-inline-label {
        display: block;
        margin-bottom: 3px;
        font-size: 11px;
        letter-spacing: 0.4px;
        text-transform: uppercase;
        color: var(--light-gray);
    }

    .infraction-discount-apply {
        max-width: none;
    }

    .infraction-discount-remove {
        justify-content: flex-start;
        padding-left: 0;
    }
}

.infraction-card > .panel-heading {
    border-bottom: 1px solid var(--line) !important;
}

.booking-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s;
}

    .booking-option:hover {
        border-color: var(--orange);
    }

.booking-option-radio {
    margin: 3px 0 0;
    flex: 0 0 auto;
    cursor: pointer;
}

.booking-option-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.booking-option-title {
    color: var(--blue);
    font-weight: 500;
}

.booking-option-dates {
    color: var(--gray);
    font-size: 0.9em;
}

@media (max-width: 767px) {
    .infraction-form-col {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .infraction-form-wrapper > .panel-body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

        .infraction-form-wrapper > .panel-body > .row {
            margin-left: 0;
            margin-right: 0;
        }

            .infraction-form-wrapper > .panel-body > .row > [class*="col-"] {
                padding-left: 0;
                padding-right: 0;
            }
}

.panel.form-fieldset {
    border: 1px solid var(--orange) !important;
    border-radius: 8px;
    background-color: transparent;
    box-shadow: none;
    position: relative;
    margin-top: 20px;
    padding-top: 8px;
}

    .panel.form-fieldset > .panel-heading {
        position: absolute;
        top: 0;
        left: 16px;
        transform: translateY(-50%);
        background-color: #fff;
        padding: 0 8px;
        border: none;
    }

        .panel.form-fieldset > .panel-heading .panel-title {
            font-size: 11px;
            font-weight: 500;
            color: var(--orange);
        }

.amounts-headers h4 {
    font-size: 14px;
    font-weight: 500;
}

.checkGreen {
    color: var(--green) !important;
}

.info-color {
    color: var(--blue) !important;
}

.link-color {
    color: var(--blue) !important;
}


    .link-color:hover {
        color: var(--link-hover) !important
    }

div.discount {
    color: var(--red) !important;
    font-size: 18px;
    font-weight: 500;
}

.payment-amount {
    color: var(--green);
    font-size: 17px;
    font-weight: 500;
    padding: 0 15px;
}

    .payment-amount.debt {
        color: var(--red);
    }

.alert-line {
    color: var(--red) !important;
}

strong.green-line {
    color: var(--green) !important
}

.green-line {
    color: var(--green) !important
}

.orange-line {
    color: var(--orange) !important
}

h3.alert-line {
    color: var(--red) !important;
}

.alert-danger-driver {
    background: none;
    color: var(--red);
    border: none;
    font-weight: 500
}

.invoiceTitle {
    margin-top: 3px;
}

.balance {
    color: var(--red) !important;
}

.alert-PolicyDetails {
    background: none;
    color: var(--red);
    border: none;
}

span.is-active.Canceled {
    color: var(--red);
}

i.fromdate {
    color: var(--green);
}

i.todate {
    color: var(--orange);
}

.alertDialog p {
    padding-left: 40px;
    margin-top: 3px;
    color: var(--gray)
}

.alertDialog i {
    font-size: 28px;
    color: var(--red) !important;
}

.alertDialog .modal-title {
    color: var(--red) !important;
}

.alertDialog .modal-content {
    box-shadow: none !important;
    border: none !important
}

.alertDialog.warning-dialog .modal-content {
    box-shadow: none !important;
    border: none !important;
}

.alertDialog.warning-dialog i {
    color: var(--orange) !important;
}

.copy-message {
    background-color: var(--green);
    color: var(--neutral);
    border: none;
    border-radius: 4px;
    font-weight: 700;
    padding-top: 2px;
}

i.expired {
    color: var(--red);
}


.material-icons-outlined.confirm-message {
    color: var(--green);
    font-size: 32px;
    text-align: center;
    display: block;
}

span.message.confirm-message {
    font-weight: 400;
}

.toll-integration > .toll-integration-status {
    color: var(--red) !important;
    background: var(--light-red)
}

.toll-integration.active > .toll-integration-status {
    color: var(--green) !important;
    background: var(--light-green)
}

.toast-success {
    background-color: var(--green);
    border-radius: 8px !important;
}

#toast-container > div:hover {
    box-shadow: var(--shadow-1)
}

span.status_Canceled {
    color: var(--red) !important;
}

.error {
    color: var(--red) !important;
    font-weight: 500;
    font-size: 12px;
}

.error-page {
    color: var(--red);
    font-size: 48px;
}


.alertDialog.warning-dialog .modal-title {
    color: var(--orange) !important;
}

.tariff-name-invoice-item-red {
    color: var(--red);
    font-weight: 500;
    font-style: normal
}

span.itemInvoiceInfo {
    color: var(--gray);
    font-size: 16px;
}

.booking-debt-alert span {
    font-size: 14px !important;
}

.modal-error {
    padding-left: 50px;
    font-size: 16px;
}

    .modal-error ul {
        list-style: none;
        padding: 0
    }

        .modal-error ul li {
            list-style: none;
            margin: 0
        }

span.pills {
    font-family: Roboto, sans-serif;
}

.pills {
    padding: 2px 7px;
    border-radius: 5px !important;
    font-size: 14px !important;
    cursor: default !important;
    font-weight: 500;
    border: 1px solid;
    margin-left: 5px;
    display: inline-block;
    vertical-align: baseline;
    line-height: normal;
}

    .pills.danger {
        color: var(--red);
        background: var(--light-red);
    }

    .pills.warning {
        color: var(--orange);
        background: var(--light-orange);
    }

    .pills.success {
        color: var(--green);
        background: var(--light-green);
    }

    .pills.pending {
        color: var(--orange);
        background: var(--light-orange);
    }

    .pills.Approved {
        color: var(--green);
        background: var(--light-green);
    }

    .pills.Rejected {
        color: var(--red);
        background: var(--light-red);
    }

    .pills.new {
        color: var(--blue);
        background: var(--light-blue);
    }

    .pills.is-active {
        color: var(--green);
        background: var(--light-green);
    }


        .pills.is-active.Canceled {
            color: var(--red);
            background: var(--light-red);
        }

        .pills.is-active.Finished {
            color: var(--status-closed);
            background: var(--alternate);
        }

        .pills.is-active.Programed {
            color: var(--orange);
            background: var(--light-orange);
        }

    .pills.payment-status.Accredited.Conciliated {
        background-color: var(--light-green);
        color: var(--green);
    }

    .pills.payment-status.Pending.Accredited {
        background-color: var(--light-orange);
        color: var(--orange);
    }

    .pills.payment-status.erp-payment-Processed {
        background-color: var(--light-green);
        color: var(--green);
    }

    .pills.payment-status.erp-payment-PendingCreated {
        background-color: var(--light-orange);
        color: var(--orange);
    }


.status_Finished {
    color: var(--status-closed);
    background: var(--alternate);
}

.status_Programed {
    color: var(--orange);
    background: var(--light-orange);
}

.status_InExecution,
.status_Success {
    color: var(--green) !important;
    background: var(--light-green);
    white-space: nowrap
}

.status_Canceled,
.status_Danger {
    color: var(--red) !important;
    background: var(--light-red);
}

/* PIlls Booking status */

.pills.status0 {
    background-color: var(--light-blue) !important;
    border: 1px solid var(--status-reserved);
    color: var(--status-reserved);
    display: inline-flex;
    font-size: 16px !important;
    padding: 2px 10px;
    margin: 0 10px
}

.pills.status1 {
    background-color: var(--light-orange) !important;
    color: var(--status-confirmed);
    display: inline-flex;
    border: 1px solid var(--status-confirmed) !important;
    font-size: 16px !important;
    padding: 2px 10px;
    margin: 0 10px
}

.pills.status2 {
    background-color: var(--light-green) !important;
    color: var(--status-delivered);
    display: inline-flex;
    border: 1px solid var(--status-delivered) !important;
    font-size: 16px !important;
    padding: 2px 10px;
    margin: 0 10px
}

.pills.status3 {
    background-color: var(--alternate) !important;
    color: var(--status-closed);
    display: inline-flex;
    border: 1px solid var(--status-closed) !important;
    font-size: 16px !important;
    padding: 2px 10px;
    margin: 0 10px
}

.pills.status4 {
    background-color: var(--light-red) !important;
    color: var(--status-canceled);
    display: inline-flex;
    border: 1px solid var(--status-canceled) !important;
    font-size: 16px !important;
    padding: 2px 10px;
    margin: 0 10px
}

.pills.status5 {
    background-color: var(--porlet) !important;
    color: var(--status-quoted);
    display: inline-flex;
    border: 1px solid var(--status-quoted) !important;
    font-size: 16px !important;
    padding: 2px 10px;
    margin: 0 10px
}

.pills.comment {
    font-size: 11px !important;
    display: inline;
    margin: 0px;
}

/* Pills corporate contract*/

.booking-status-ref.ccstatus1 {
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    margin: 0 5px 0 0;
}

.pills.ccstatus1 {
    background-color: var(--light-red);
    border-radius: 18px;
    color: var(--status-canceled);
    display: inline-flex;
    border: 1px solid var(--status-canceled);
    font-size: 16px !important;
    padding: 5px 10px;
    margin: 0 10px
}

.booking-status-ref.ccstatus0 {
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    margin: 0 5px 0 0;
}

.pills.ccstatus0 {
    background-color: var(--light-green);
    border-radius: 18px;
    color: var(--status-delivered);
    display: inline-flex;
    border: 1px solid var(--status-delivered);
    font-size: 16px !important;
    padding: 5px 10px;
    margin: 0 10px
}

/* Pills corporate quote*/


.booking-status-ref.cstatus0 {
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    margin: 0 5px 0 0;
}

.pills.cstatus0 {
    background-color: var(--light-blue);
    border-radius: 18px;
    color: var(--status-reserved);
    display: inline-flex;
    border: 1px solid var(--status-reserved);
    font-size: 16px !important;
    padding: 5px 10px;
    margin: 0 10px
}

.booking-status-ref.cstatus1 {
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    margin: 0 5px 0 0;
}

.pills.cstatus1 {
    background-color: var(--light-green);
    border-radius: 18px;
    color: var(--green);
    display: inline-flex;
    border: 1px solid var(--green);
    font-size: 16px !important;
    padding: 5px 10px;
    margin: 0 10px
}


.booking-status-ref.cstatus2 {
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    margin: 0 5px 0 0;
}

.pills.cstatus2 {
    background-color: var(--light-red);
    border-radius: 18px;
    color: var(--red);
    display: inline-flex;
    border: 1px solid var(--red);
    font-size: 16px !important;
    padding: 5px 10px;
    margin: 0 10px
}

.booking-status-ref.cstatus3 {
    width: 15px;
    height: 15px;
    position: relative;
    top: 2px;
    margin: 0 5px 0 0;
}

.pills.cstatus3 {
    background-color: var(--alternate);
    border-radius: 18px;
    color: var(--status-closed);
    display: inline-flex;
    border: 1px solid var(--status-closed);
    font-size: 16px !important;
    padding: 5px 10px;
    margin: 0 10px
}

/* Pills Car Details */

span.pills.status_Delivered {
    color: var(--green) !important;
    background-color: var(--light-green);
}

span.pills.status_Free {
    color: var(--blue) !important;
    background-color: var(--light-blue);
}

span.pills.status_InTransfer {
    color: var(--orange) !important;
    background-color: var(--light-orange);
}

span.pills.status_InService {
    color: var(--red) !important;
    background-color: var(--light-red);
}

span.pills.status_Confirmed {
    color: var(--orange);
    background: var(--light-orange);
}

span.pills.status_Reserved {
    color: var(--status-reserved);
    background: var(--light-blue);
}

span.pills.status_Delivered {
    color: var(--status-delivered);
    background: var(--light-green);
}

span.pills.status_Canceled {
    color: var(--status-canceled);
    background: var(--light-red);
}

span.pills.status_Closed {
    color: var(--status-closed);
    background: var(--hover);
}

span.fills.status_Quoted {
    color: var(--status-quoted);
    background: var(--light-blue);
}

/*
    Calendar dropdown
*/

.ui-datepicker {
    padding: 10px;
    border-radius: 12px !important;
    background-color: var(--neutral);
}

    .ui-datepicker .ui-datepicker-next span {
        cursor: pointer;
        color: var(--primary);
    }

    .ui-datepicker .ui-datepicker-prev span {
        cursor: pointer;
        color: var(--primary);
    }

    .ui-datepicker .ui-datepicker-prev span,
    .ui-datepicker .ui-datepicker-next span {
        top: 45%;
    }

.ui-state-default,
.ui-widget-content .ui-state-default {
    border: none;
    background: var(--hover) !important;
    color: var(--primary) !important;
    border-radius: 5px;
    padding: 5px;
    margin: 2px;
}

    .ui-state-default,
    .ui-widget-content .ui-state-default:hover {
        border: none;
        background: var(--alternate) !important;
        color: var(--primary) !important;
    }

.ui-datepicker-today {
    background: none !important;
    background-color: var(--gray) !important;
    color: var(--neutral) !important;
    border-radius: 8px;
}

.ui-datepicker th {
    padding: 0.7em 0.3em;
    text-align: center;
    font-weight: 500;
    border: 0;
    color: var(--light-gray);
}

.ui-datepicker-header {
    color: var(--primary) !important;
    background-color: var(--neutral) !important;
}

.ui-datepicker-month,
.ui-datepicker-year {
    color: var(--primary);
    font-weight: 500
}

.ui-datepicker-prev:hover {
    background-color: transparent;
    border: none;
}

.ui-datepicker-next:hover {
    background-color: transparent;
    border: none;
}

.ui-state-active,
.ui-widget-content .ui-state-active {
    border: 2px solid var(--blue) !important;
}

.ui-datepicker .ui-datepicker-title select {
    font-size: 16px !important;
    color: var(--primary) !important;
    width: 61px !important;
    border: none !important;
    cursor: pointer;
    padding: 0
}

    .ui-datepicker .ui-datepicker-title select:hover {
        background: var(--hover)
    }

.ui-datepicker .ui-datepicker-title {
    margin: -3px 16px 0 24px;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    left: 40%;
}

#datepick .ui-datepicker {
    left: 248px;
}


/*   Cars Module - Calendar services */

.schedule-service-description {
    width: 25%;
    display: inline-block;
    text-transform: uppercase !important;
    font-weight: 500;
}

.overlay {
    border-radius: 8px;
}


.inline serviceCol,
span.servicesCar {
    position: relative;
    top: 5px;
    margin-right: 8px;
}

fieldset[disabled] .form-control {
    background-color: rgb(234 234 234) !important;
    opacity: 0.4 !important;
}

.editor-label {
    font-size: 13px;
}

.image-container.model {
    margin: 0;
    border-radius: 10px !important;
}

.tab-content {
    padding: 20px 0px;
}


.bookingDetails {
    width: 70%;
}

.car-booking-detail {
    width: 30%;
}

.change-car-info {
    font-size: 13px
}

/* Porlets */
.portlet {
    border: none !important;
    margin: 10px;
    padding: 10px;
    display: inline-block;
    vertical-align: top;
    height: 200px;
    width: 225px;
    background-color: var(--porlet) !important;
    border-radius: 12px;
    color: var(--gray);
}

    .portlet:hover {
        background-color: var(--porlet-hover) !important;
        transition: .3s
    }

    .portlet.miniPortlet .title {
        font-weight: 500;
        font-size: 14px;
        color: var(--gray);
    }

.miniPortlet.important {
    color: var(--red) !important;
    font-weight: 500;
}

    .miniPortlet.important a {
        color: var(--red) !important;
        position: relative;
        bottom: 20px;
    }

.porletCenter {
    font-weight: 500;
    font-size: 14px;
    text-align: center !important;
}

.porletCalendar {
    position: relative;
    right: 40px;
}

/*
.chosen-container {
    border-bottom: none !important;
}

.chosen-container-multi .chosen-choices {
    border: 1px solid #aaa;
    border-radius: 8px;
}

    */
.chosen-container.chosen-with-drop .chosen-drop {
    left: 0;
    border-radius: 8px;
    border: none;
    padding: 10px;
    margin-top: 15px;
    box-shadow: rgb(45 62 80 / 15%) 0px 1px 6px 0px !important;
}

.chosen-container .chosen-results li.highlighted {
    background-color: var(--hover) !important;
    background-image: none;
    color: var(--primary);
    font-weight: 500;
}

.chosen-container .chosen-results li.active-result {
    margin: 5px;
}

.chosen-container .chosen-results li {
    padding: 7px 6px;
}


element.style {
    width: 94px;
}

.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    color: var(--light-gray) !important;
    width: 250px !important
}

.image-container.model {
    width: 100%;
    max-width: 300px !important;
    height: auto !important;
}

.image-container.mini {
    width: 50%;
    max-width: 150px !important;
    height: auto !important;
}

.plate-details {
    display: flex;
}

.pad20 {
    padding: 20px;
}

.files-icons {
    float: right;
    margin-top: 15px;
}

.upload-icons {
    text-align: center
}

span.upload-file {
    font-size: 12px;
    font-weight: 500;
}

.action-icons a {
    position: relative;
    margin-top: 12px !important;
    float: right;
    color: var(--primary) !important;
    right: 5px;
}

    .action-icons a:hover {
        color: var(--blue) !important;
    }

.action-icons i:hover {
    color: var(--primary)
}

i.fa.action.clear {
    color: var(--blue);
}

.file-item {
    border-radius: 8px;
}

.file-item {
    border: 1px solid var(--border);
}

    .file-item:hover {
        border: 2px solid var(--blue);
        transition: all 50ms
    }

.file-item-delete:hover {
    color: var(--red) !important;
}

/* Pop up Table */

.table > thead > tr > th {
    border-bottom: none;
    font-weight: 500;
}

.table > thead > tr > td {
    border-bottom: none;
}

.table > thead:first-child > tr:first-child > th {
    background: var(--table-bg);
    border-bottom: 1px solid var(--table-line);
    color: var(--table-light-gray);
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .6px;
    padding: 10px 12px;
}


/*Tabs*/

.nav.nav-tabs li.active a {
    border-radius: 8px 8px 0 0 !important;
    font-weight: 500;
    transition: .4s
}

    .nav.nav-tabs li.active a:hover {
        font-weight: 500;
    }

    .nav.nav-tabs li.active a:hover {
        border-radius: 8px 8px 0 0 !important;
    }

.nav-tabs {
    margin-top: 0;
    display: flex;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.nav.nav-tabs li a {
    color: var(--light-gray) !important;
}

.nav-tabs > li > a {
    border: none;
    margin-right: 0
}

.nav-tabs > li {
    margin-bottom: 0 !important;
}

.nav.nav-tabs li a:hover {
    color: var(--primary);
    font-weight: 500;
    background: var(--hover) !important;
    border-radius: 8px 8px 0 0 !important;
}

@media(max-width:767px) {

    .nav.nav-tabs li a {
        font-size: 12px;
    }

    .nav-tabs > li > a {
        margin-right: 0;
    }

    .nav.nav-tabs li.active a {
        min-height: auto;
    }

    .nav-tabs {
        display: flex;
        white-space: nowrap;
        overflow-x: scroll;
        overflow-y: hidden;
    }
}


/*  TABS SECUNDARIOS */

ul.nav.nav-tabs.secondary-tabs {
    border-bottom: none !important;
    justify-content: center
}

    ul.nav.nav-tabs.secondary-tabs li a {
        background: none !important;
        color: var(--gray) !important;
        text-transform: uppercase;
        font-weight: 500;
        font-size: 13px;
    }

        ul.nav.nav-tabs.secondary-tabs li a:hover {
            background: var(--hover) !important;
            border-radius: 5px 5px 0
        }

    ul.nav.nav-tabs.secondary-tabs li.active {
        background-color: none;
        color: var(--primary);
        border-bottom: 2px solid var(--blue);
        transition: 0.15s
    }


        ul.nav.nav-tabs.secondary-tabs li.active a {
            color: var(--blue) !important
        }

            ul.nav.nav-tabs.secondary-tabs li.active a:hover {
                color: var(--blue) !important;
                font-weight: 500
            }



@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .nav-tabs {
        display: flex;
        white-space: nowrap;
        overflow-x: scroll;
        overflow-y: hidden;
        width: 100%;
    }

        .nav-tabs::-webkit-scrollbar {
            height: 0px;
        }
}

@media only screen and (max-device-width: 1776px) {
    .nav-tabs {
        display: flex;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
    }

        .nav-tabs::-webkit-scrollbar {
            height: 0px;
        }
}

/* Collection-modal */

.panel-default > .panel-heading + .panel-collapse > .panel-body {
    padding: 16px !important;
}

.modal-backdrop {
    opacity: 0.9 !important;
}

#fileSection {
    border-radius: 0
}


#CardNumber {
    border: none !important;
    top: 2px;
    margin-left: 5px;
}

#btnAddPay {
    width: 100%;
}

#Number {
    width: 100% !important;
}

a.ml-collect {
    margin-top: 10px;
}

.creditcardselector-content-container {
    background-color: var(--neutral);
    border: 1px solid var(--border);
    color: var(--primary)
}


/* Cards */

.context-menu-list {
    box-shadow: var(--shadow-1);
    border-radius: 8px;
    padding: 8px;
    background: var(--neutral);
    border: none;
}

.context-menu-item.icon {
    background: var(--neutral)
}

.context-menu-item {
    color: var(--primary);
    background: var(--neutral);
    border-color: var(--border)
}

    .context-menu-item:hover {
        background-color: var(--hover);
    }

.panel-body h2 {
    font-size: 18px;
    font-weight: 500;
    color: var(--primary) !important;
}

.material-icons-outlined.person {
    position: relative;
    top: 4px;
}


/* Booking tooltip*/

.bookingTooltip .info-icon span {
    font-size: 24px !important;
    padding-right: 10px;
    bottom: 1px;
}


div.ui-tooltip.booking-tooltip {
    left: 350px;
}

.bookingTooltip .info-description span.info {
    font-size: 14px;
}

.bookingTooltip h2 {
    height: auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bookingTooltip .additionals .additional {
    width: 24px;
    padding: 2px;
}

.material-icons-outlined.forward,
.material-icons-outlined-18.forward {
    color: var(--green);
}

.material-icons-outlined.back,
.material-icons-outlined-18.back {
    color: var(--red);
}

.material-icons.iconCar {
    position: relative !important;
    top: 4px !important;
}

.bookingTooltip .payed {
    font-size: 14px;
}

div.divider {
    height: 150px;
    margin: 20px auto;
    width: 1px;
    background-color: var(--border);
}

.dropdown-menu .divider {
    height: 0.5px;
    background-color: var(--border);
}

.tooltipInfo {
    margin-top: 10px;
}

.booking-info {
    margin-bottom: 5px;
}

.bookingTooltip .info-description span.info-place {
    display: block;
    color: var(--light-gray);
    font-size: .85em;
    font-style: italic;
}

.price-items li,
.rendition-items li,
.cash-details li {
    border-bottom: none;
}

.bookingTooltip span.booking-status-text {
    font-style: normal;
    color: var(--light-gray);
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .bookingTooltip .row {
        display: flex;
    }

    div.ui-tooltip.booking-tooltip {
        left: 0
    }
}

@media (max-width:767px) {
    div.divider {
        display: none;
    }

    .tooltipInfo {
        margin-top: 30px;
    }
}

/* ExpenseCreate,  */

.notActive label {
    font-size: 16px;
    color: var(--primary);
    margin-left: 20px;
}


.chosen-container-single .chosen-search input[type="text"] {
    margin-bottom: 10px;
}

#paymentDetailsInformationModal {
    padding: 0 !important;
}

    #paymentDetailsInformationModal hr {
        padding: 6px !important;
    }

.field .value {
    font-weight: 400;
}

.field h2 {
    font-weight: 500 !important;
    color: var(--light-gray) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--light-gray) !important;
}

h2.payment-type-title {
    margin-bottom: 0px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--gray) !important;
}

.payment-type-title {
    margin-bottom: 0px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--light-gray) !important;
}

.payment-type-line {
    font-weight: 400;
}

.label-item-description {
    color: var(--light-gray);
    font-weight: 400;
}

.field .value {
    font-size: 14px;
}

i.material-icons-outlined.dots {
    float: right;
    position: relative;
    top: 10px;
    font-size: 24px;
}

    i.material-icons-outlined.dots:hover {
        background-color: var(--neutral) !important;
        color: var(--primary);
    }


.created-expense {
    color: var(--blue);
    display: block;
    font-size: 12px;
    font-weight: 500
}

.close-date {
    color: var(--blue);
    display: block;
    font-size: 12px;
    font-weight: 500
}

div#cars {
    margin: 0
}

    div#cars h4 {
        font-size: 14px;
        color: var(--light-gray)
    }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .chosen-container {
        width: 100% !important;
    }
}


/* Infractions */


span.icon-photo {
    position: absolute;
    bottom: 4px;
    right: 1rem;
    cursor: pointer;
}

    span.icon-photo:hover {
        color: var(--blue)
    }

input.add-photo {
    padding-right: 3.5rem;
}

.capture-button {
    background-color: var(--blue);
    border: none;
    border-radius: 50px !important;
    color: var(--neutral);
    font-weight: 500;
    padding: 7px 24px;
    position: relative;
    margin-left: -250px;
    top: 3px;
}

#capture:hover {
    background-color: var(--link-hover);
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    #capture {
        position: absolute;
        top: 295px;
        right: 327px;
    }

    #player {
        margin-right: 0 !important;
        margin-left: 153px !important
    }

    #canvas {
        margin-left: 153px !important;
        margin-top: 20px
    }
}

@media (max-width:767px) {
    .page-title.infractionDetails h2 {
        display: flex;
        flex-wrap: wrap
    }
}


/* Handle */

.calendar-bookings-scroll::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar);
    border-radius: 8px;
    opacity: 0.4;
    width: 8px
}


/* Services */

.serviceEvent i {
    position: relative;
    top: 5px;
}

.serviceEvent .row-space {
    margin-top: 10px;
}

.info-delete {
    margin-bottom: 10px;
}

.serviceEvent .col-xs-6 {
    padding-right: 0;
}

.statusIcon .serviceIcon {
    position: relative;
    top: 4px;
}

.group-status {
    margin: 20px 15px;
}

.btn-primary.btnRefresh {
    padding: 7px 24px;
    margin: 20px 0 !important;
}

.mvc-grid tr > td.border-left {
    border-left: none !important;
}

.action-add {
    cursor: pointer;
    color: var(--blue)
}

.item-service {
    padding: 0 5px 5px;
}

.addItem-service {
    background: var(--hover);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 2px 10px
}

    .addItem-service:hover {
        border: 1px solid var(--blue);
        transition: .5s
    }

tfoot {
    font-weight: 500;
}

.table > tfoot > tr > td {
    border-top: none;
}

span.material-icons-outlined.delete {
    color: var(--red);
    cursor: pointer;
}

@media (max-width:767px) {
    .serviceEvent h3 span {
        font-size: 15px;
    }

    .filterSelect {
        padding: 10px 18px;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    #FilterBranchOffices {
        width: 10px !important;
    }

    .filterSelect {
        padding: 10px 18px;
    }
}


/* Bookings */

.title-row {
    margin-top: 50px
}

#bookingPanelReturn,
#bookingPanelDelivery {
    box-shadow: none !important;
    margin-bottom: 0
}

#bookingHistory .commentHistory {
    max-height: 420px !important;
    width: 100%;
}

.comment a.tag.light,
.comment span.tag.light {
    color: var(--primary);
    background-color: transparent;
}

    .comment a.tag.light:hover {
        color: var(--blue);
    }

.comment a.tag span.link {
    color: var(--blue);
}

.comment.important div.history {
    color: var(--red);
}

.important .comment-type.fa {
    color: var(--red) !important;
}

.comments h1 {
    font-size: 16px;
}

#commentImportant {
    margin-left: 0;
    margin-right: 3px;
    margin-top: 5px;
}

.comment-user .profile-initials span {
    margin-top: -50px;
    margin-left: 5px;
    float: left;
}

.comment-user .user-picture {
    border-radius: 100%;
}

.comment span.tag p {
    margin: 0;
}

.comment span.tag {
    color: var(--primary);
    background-color: var(--light-blue);
    border-radius: 5px;
    margin: 5px 0
}

.comment del a.tag,
.comment del span.tag {
    color: var(--primary);
    background-color: transparent;
    border: none;
}

.comment-type-container {
    background-color: var(--neutral) !important;
}

.comment-type.fa {
    font-size: 16px;
    margin-top: 4px;
}

.comment-timestamp {
    color: var(--gray);
}

.comment-user-name {
    color: var(--gray);
}

/* Comment Header - Modern Layout */
.comment-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--border);
    container-type: inline-size;
}

/* Narrow container: show only icon in comment pill */
@container (max-width: 494px) {
    .comment-header .comment-actions .pills .pill-text {
        display: none;
    }

    .comment-header .comment-actions .pills {
        padding: 6px;
        border-radius: 50%;
    }
}

.comment-avatar {
    flex-shrink: 0;
}

    .comment-avatar .user-picture,
    .comment-avatar .profile-initials {
        width: 40px;
        height: 40px;
        border-radius: 50%;
    }

    .comment-avatar .profile-initials {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        font-size: 14px;
    }

.comment-meta {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.comment-author {
    font-weight: 600;
    color: var(--primary);
    font-size: 14px;
}

.comment-time {
    font-size: 12px;
    color: var(--gray);
}

.comment-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

    .comment-actions .pills {
        font-size: 12px;
        padding: 4px 10px;
        border-radius: 9999px;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

        .comment-actions .pills i {
            display: inline-block !important;
            font-size: 12px;
        }

.pills.comment-pill {
    color: var(--blue);
    background: var(--light-blue);
}

.comment-actions .pin-icon {
    cursor: pointer;
    color: #9ca3af;
    font-size: 14px;
    padding: 4px;
}

    .comment-actions .pin-icon:hover {
        color: var(--primary);
    }

    .comment-actions .pin-icon.pinned {
        color: var(--primary);
    }

.comment-content {
    padding: 10px 14px;
}

/* Important comment styles */
.comment.important .comment-author {
    color: var(--red);
}

.comment.important .pills.danger {
    background: var(--light-red);
    color: var(--red);
    border-color: var(--red);
}

/* Mobile: show only icon in comment pill, text as tooltip */
@media (max-width: 768px) {
    .comment-actions .pills .pill-text {
        display: none;
    }

    .comment-actions .pills {
        padding: 6px;
        border-radius: 50%;
    }

    .addComment .actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
    }

    .addComment .comment-types {
        float: none;
        width: 100%;
        margin: 4px 0 0 0;
    }
}

div.commentHistory {
}

/* Panel de comentarios a alto completo (fillHeight setea el alto del panel): la cabecera queda fija
   arriba y el cuerpo con los comentarios scrollea dentro del alto disponible. */
#customerCommentsPanel {
    display: flex;
    flex-direction: column;
}

    #customerCommentsPanel .panel-body.customer {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
    }

.comment {
    margin: 0;
    color: var(--light-gray);
    box-shadow: var(--shadow-1);
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-bottom: 14px;
}

    .comment:hover {
        background-color: var(--hover);
        border-radius: 8px;
        transition: 0.1s;
    }

    .comment i.pin-icon {
        display: none
    }

    .comment i.fixed-comment {
        display: block
    }

    .comment:hover i {
        display: inline-block;
        cursor: pointer;
    }

    .comment i:hover {
        color: var(--primary)
    }

.comment-body .message p {
    word-break: break-all;
    white-space: normal;
}

.comment .message {
    overflow-x: scroll;
}

    /* Table Container */
    .comment .message .table-container {
        overflow-x: auto;
        border-radius: 8px;
        border: 1px solid var(--border);
    }

    /* Comment Table - Modern Pricing Table */
    .comment .message table.comment-table {
        width: 100%;
        font-size: 13px;
        border-collapse: collapse;
        border: none;
    }

        .comment .message table.comment-table th,
        .comment .message table.comment-table td {
            padding: 12px;
            text-align: center;
            border: 1px solid var(--border);
        }

        /* Header Row - Main (first row with distance groups) */
        .comment .message table.comment-table thead tr:first-child th {
            background: var(--hover);
            color: var(--primary);
            font-weight: 600;
            border-bottom: 1px solid var(--border);
        }

            .comment .message table.comment-table thead tr:first-child th:first-child {
                text-align: left;
                padding-left: 16px;
                background: var(--hover);
                color: var(--primary);
            }

        /* Header Row - Sub (second row with time ranges) */
        .comment .message table.comment-table thead tr:last-child th {
            font-size: 11px;
            font-weight: 500;
            background: var(--hover);
            color: var(--primary);
            padding: 8px 12px;
            border-bottom: 1px solid var(--border);
        }

        /* Body Rows */
        .comment .message table.comment-table tbody tr {
            transition: background-color 0.15s ease;
        }


        .comment .message table.comment-table tbody td:first-child {
            text-align: left;
            padding-left: 16px;
            font-weight: 500;
            color: var(--primary);
        }

        .comment .message table.comment-table tbody td {
            font-weight: 500;
            color: var(--primary);
        }

        .comment .message table.comment-table .tag {
            display: inline-block;
            border-radius: 4px;
            font-weight: 600;
            font-size: 12px;
            white-space: nowrap;
        }

        .comment .message table.comment-table del {
            color: #9ca3af;
            text-decoration: line-through;
        }

            .comment .message table.comment-table del .tag {
                background: #fee2e2;
                color: #dc2626;
                text-decoration: line-through;
            }

/* Responsive */
@media (max-width: 640px) {
    .comment .message table.comment-table {
        font-size: 11px;
    }

        .comment .message table.comment-table th,
        .comment .message table.comment-table td {
            padding: 8px 6px;
        }

        .comment .message table.comment-table tbody td:first-child,
        .comment .message table.comment-table thead tr:first-child th:first-child {
            padding-left: 8px;
        }
}

/* Field-changes variant: left-aligned, compact, used for booking create/update comment */
.comment .message .table-container.table-container-narrow {
    max-width: 600px;
}

.comment .message table.comment-table.comment-table-fields {
    line-height: 1.3;
}

    .comment .message table.comment-table.comment-table-fields th,
    .comment .message table.comment-table.comment-table-fields td {
        text-align: left;
        padding: 3px 10px;
        font-size: 12px;
        line-height: 1.3;
        vertical-align: middle;
        height: auto;
    }

    .comment .message table.comment-table.comment-table-fields thead th {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        padding: 5px 10px;
    }

/* Sub-section block (e.g. additionals list inside a booking create/update comment) */
.comment .message .comment-section-title {
    font-weight: 600;
    color: var(--primary);
    margin: 16px 0 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
}

.comment .message .comment-list {
    margin: 0;
    padding-left: 20px;
}

    .comment .message .comment-list li {
        padding: 3px 0;
    }

    .comment .message .comment-list .tag {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 4px;
        font-weight: 600;
        font-size: 12px;
        white-space: nowrap;
        background: #dbeafe;
        color: #1e40af;
    }

        .comment .message .comment-list .tag.tag-pos {
            background: #dcfce7;
            color: #166534;
        }

        .comment .message .comment-list .tag.tag-neg {
            background: #fee2e2;
            color: #991b1b;
        }

.pinned-comment-section .comment {
    background-color: var(--light-blue);
    border: 1px solid var(--blue);
    border-radius: 8px;
    margin-bottom: 5px
}

@media (max-width: 767px) {
    input[type="checkbox"] {
        width: 10px !important;
    }

    .commentMessage {
        margin-top: 50px;
    }

    .comment-types {
        margin: 10px 0;
        float: left;
    }
}

#bookingPanelDelivery .column-right-edit {
    float: right !important;
    position: relative;
    top: 0.7em;
    color: var(--gray);
    cursor: pointer;
}

#bookingPanelReturn .column-right-edit {
    float: right !important;
    position: relative;
    top: 10px;
    color: var(--primary);
    cursor: pointer;
}

.directions {
    color: var(--blue);
}

.outcome {
    color: var(--red);
}

span.bookingInfo {
    font-size: 21px;
    font-weight: 500;
    color: var(--blue);
}

    span.bookingInfo.light {
        font-weight: 400;
        font-size: 20px;
        color: var(--primary);
    }


.booking-km {
    display: inline-block
}

.status4 {
    background-color: var(--red);
}


.status2 {
    background-color: var(--green) !important;
}

.panel-heading i.action {
    margin-top: 15px;
}

span.column-right {
    float: right;
    color: var(--primary);
    margin-right: 5px;
    cursor: pointer;
}

    span.column-right:hover {
        color: var(--gray);
    }

.column-left {
    float: left;
}

span.categoryIcon {
    position: relative !important;
    top: 3px;
}

a.material-icons-outlined-18 {
    font-size: 18px !important;
}

a.material-icons-outlined-14 {
    font-size: 14px !important;
    color: var(--blue) !important;
}

i.plusAction {
    float: right;
    margin-top: 11px;
    color: var(--primary) !important;
    font-size: 18px !important;
}

    i.plusAction:hover {
        color: var(--blue) !important;
        background: none !important;
    }

span.moreDots {
    font-size: 21px !important;
    float: right;
    color: var(--primary);
    margin-top: 14px;
    cursor: pointer
}

    span.moreDots:hover {
        color: var(--gray);
    }

    span.moreDots:focus {
        color: #d17529;
    }

span.Holding {
    color: var(--green);
}

span.refund {
    color: var(--red) !important;
}

span.Iconevent-left {
    float: left;
    margin-top: 14px;
    margin-right: 8px;
    color: var(--green) !important;
}

span.Icontoday-left {
    float: left;
    margin-top: 14px;
    margin-right: 8px;
    color: var(--orange) !important;
}

.income,
.good {
    color: var(--green) !important;
}

.payment-status.Accredited.Conciliated {
    color: var(--green);
}

.payment-status.Deleted {
    color: var(--red);
}

span.errorMakeDelivery {
    font-size: 24px;
    color: var(--red);
}

.mt0 {
    font-size: 15px !important;
    color: var(--gray) !important;
}


.subtitleReturnFranchises {
    font-size: 14px !important;
    color: var(--primary)
}


.franchise-status.holding {
    color: var(--green);
}

#franchisePanelInfo .panel-body #divFranchisePrice {
    text-align: left;
    font-weight: 500
}

.field.right {
    padding-right: 10px;
}

.field .name {
    color: var(--primary);
}


.paymentList {
    list-style: none;
    padding: 0
}

.tariff-name {
    color: var(--light-gray);
    white-space: break-spaces;
}

.price-item-meliorate {
    vertical-align: top;
}

ul.available-balance li:hover {
    background-color: var(--hover);
}

ul.available-balance li.selected {
    background-color: var(--alternate);
}


@media(max-width:767px) {
    .field.right {
        float: left;
        text-align: left;
        margin-bottom: 10px;
    }

    span.bookingInfo {
        font-weight: 500;
        color: var(--primary);
    }

    .price-item-description {
        max-width: 60% !important;
    }

    #charges {
        margin-top: 20px;
    }

    .price-item-value {
        text-align: left;
    }

    .hide-mobile {
        display: none !important;
    }

    .mobile-reduce {
        font-size: 12px !important;
    }
}

@media(max-width:711px) {
    .title-row {
        margin-top: 0
    }
}

/* CalendarBookings */

.fc-other-month {
    background-color: var(--hover) !important;
    opacity: 0.2;
}

.booking-calendar-cell.bad {
    background-color: var(--light-red);
    color: var(--red);
}

    .booking-calendar-cell.bad:hover {
        background-color: var(--red-hover);
    }

.booking-calendar-cell.normal {
    background-color: var(--light-orange);
    color: var(--orange);
}

    .booking-calendar-cell.normal:hover {
        background-color: var(--orange-hover);
    }

.booking-calendar-cell.good {
    background-color: var(--light-green);
    color: var(--green);
}

    .booking-calendar-cell.good:hover {
        background-color: var(--green-hover);
    }

.booking-calendar-cell.past .rented-row span.rented {
    text-align: left;
    font-weight: 500;
}

.booking-calendar-cell .not-rented-row span {
    text-align: left;
}

.booking-calendar-cell span.ocupation {
    text-align: left;
    font-size: 16px;
    position: relative;
    bottom: 40px;
    color: var(--light-gray);
}

.booking-calendar-cell .not-rented-row span {
    display: block;
    float: left;
    width: 50%;
    text-align: left;
    font-size: 16px;
    position: relative;
    bottom: 40px;
    color: var(--light-gray);
}

.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
    color: var(--primary);
    float: right;
    padding-right: 10px;
    font-weight: 500;
}

.booking-calendar-cell .rented-row span.rented {
    text-align: left;
    position: relative;
    bottom: 10px;
    font-weight: 500;
    font-size: 2.5em;
}


.fc td {
    border-style: solid;
    border-width: 1px;
    border-color: var(--border) !important;
    border-width: 0.5px;
    cursor: pointer;
}

.fc-day:hover {
    background-color: var(--hover);
}


.fc th {
    border-style: solid;
    border-width: 0.5px;
    background-color: var(--hover);
    border-color: var(--border) !important;
    height: 25px;
    padding-top: 8px;
}

.booking-calendar-cell .day-rented-row span {
    text-align: left;
    font-weight: 500 !important;
    position: relative;
    bottom: 10px;
}

.booking-calendar-cell .day-rented-row span {
    display: block;
    float: left;
    width: 50%;
    text-align: left;
    font-size: 16px;
    position: relative;
    bottom: 40px;
    color: var(--light-gray);
    font-weight: 400 !important;
}

#OcupationChartPortlet {
    background-color: transparent !important;
    box-shadow: none;
    width: 265px !important;
}

rect.highcharts-background {
    fill: transparent;
}

.highcharts-container {
    font-family: Roboto, Segoe UI, Verdana, Helvetica, Sans-Serif;
}

    .highcharts-container text,
    .highcharts-container tspan {
        font-size: 14px !important;
        font-family: Roboto, Segoe UI, Verdana, Helvetica, Sans-Serif;
    }

    .highcharts-container .highcharts-title,
    .highcharts-container .highcharts-title tspan {
        font-size: 18px !important;
    }

    .highcharts-container .highcharts-subtitle,
    .highcharts-container .highcharts-subtitle tspan,
    .highcharts-menu .highcharts-menu-item {
        font-size: 12px !important;
    }

#OcupationChartPortlet .title {
    text-align: center;
}

.filterSpace {
    position: relative;
    top: 58px;
}

.fc .fc-toolbar > * > :first-child {
    margin-top: 0 !important;
}

@media (max-width:767px) {
    .booking-calendar-cell span.ocupation {
        bottom: 0;
    }

    .filterSpace {
        top: 8px;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .filterSpace {
        top: 0;
    }
}


/* Occupancy Forecast  */

/*
#categoryView {
    height: 630px;
}
*/
.forecastBody {
    overflow-x: auto;
    margin-top: 20px;
}

.title.handle {
    opacity: 1;
    font-size: 14px;
    font-weight: 500;
    color: var(--light-gray);
}


.title-forecast {
    padding: 10px 15px;
    font-weight: 500;
    color: var(--blue);
}

.forecastIcon {
    float: left;
    color: var(--primary) !important;
    cursor: pointer;
}

@media(max-width:767px) {
    .search-container-categories {
        margin-bottom: 10px;
    }

    .category-availability-table > tbody {
        overflow-x: hidden;
    }

    #categoryView {
        height: 750px;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .search-container-categories {
        margin-bottom: 10px;
    }

    .category-availability-table > tbody {
        overflow-x: hidden;
    }

    #categoryView {
        height: 750px;
    }
}

.removeBookingTariffs span {
    color: var(--primary)
}

/* Price Agreement */
.box-tools {
    top: -45px;
    right: 28px
}

.btn-add, .btn-save, .btn-cancel {
    color: var(--primary) !important;
    cursor: pointer;
}

    .btn-add:hover, .btn-save:hover {
        color: var(--gray) !important;
    }

.btn-cancel {
    color: var(--red) !important;
}

.price-agreement-tariff-name {
    color: var(--primary);
    font-size: 16px;
    font-weight: 500;
}

span.price-agreement-name {
    font-weight: 500
}

    span.price-agreement-name:hover {
        color: var(--link-hover)
    }

p.data-price-agreement {
    font-weight: 500
}

.label-checkbox {
    top: -2px;
    padding-left: 7px;
    font-size: 13px;
    font-weight: 500;
}


.row-price-agreement-display {
    padding: 8px;
    background: none;
    border-radius: 8px;
    margin: 10px 0;
}

.row-price-agreement-booking-tariff,
.row-price-agreement-external-systems {
    padding: 8px;
    background-color: var(--hover);
    border-radius: 8px;
    margin: 10px 0;
    border: none;
}

    .row-price-agreement-booking-tariff:hover {
        background-color: var(--alternate);
    }


.price-agreement-booking-tariff ul li p.title {
    font-size: 13px !important;
    font-weight: 500;
}

.inputSpace {
    margin-bottom: 10px;
}

.agreementPanel {
    max-height: 400px;
    overflow-x: auto;
}

.label-checkbox-help {
    padding-left: 0;
}

.removeBookingTariffs {
    position: relative;
    bottom: 2px;
}

.details-Link {
    background: url(../Images/details.svg) no-repeat;
    padding: 15px;
}

.edit-Link {
    background: url(../Images/edit.svg) no-repeat;
    padding: 15px
}


.delete-Link {
    background: url(../Images/delete.svg) no-repeat;
    padding: 15px
}

.clone-Link {
    background: url(../Images/clone.svg) no-repeat;
    padding: 15px;
}

.addNewLink {
    background: url(../Images/add-circle.svg) no-repeat;
    padding: 14px;
}

.reorder {
    background: url(../images/drag.svg) no-repeat;
    position: relative;
    bottom: 5px;
    cursor: grab;
    fill: var(--neutral)
}

.iconsTariff {
    position: relative;
    top: 21px;
}

.sort-icon {
    position: relative;
    top: 5px;
    right: 5px;
}

.panel-BookingTariff {
    padding: 24px !important;
    background: var(--porlet) !important;
    border-radius: 12px 12px 0 0 !important;
}

    .panel-BookingTariff:hover {
        background: var(--porlet-hover) !important;
    }

.tariffCurrency {
    font-size: 21px;
    padding: 25px;
    font-weight: 500;
    color: var(--blue) !important;
}

span.is-active.False {
    color: var(--red);
}

.left {
    margin-bottom: 10px;
}

.collapsable .panel-BookingTariff {
    cursor: auto;
}


.tariffType {
    float: right;
    font-weight: 500;
    color: var(--primary);
    font-size: 16px;
    padding-right: 8px;
}

.icon-control {
    opacity: 1;
    color: var(--primary);
}


.price-agreement-display-name {
    color: var(--gray);
}

.form-group-price-agreement-links {
    margin-left: 0 !important;
}

#tariff-tabs #tariffs,
#tariff-tabs #history,
.fixed-tariff {
    height: 65vh;
    overflow: auto;
}

@media(max-width:768px) {
    .iconsTariff {
        float: left;
    }

    .tariffTitle {
        margin-top: 50px !important;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .tariff-left {
        float: none;
    }
}

.rangesIcon {
    position: relative;
    bottom: 25px;
}

.divFixedTariff {
    position: relative;
    top: 5px;
    left: 2px;
    display: flex;
    justify-content: space-between;
}

span.getBtn {
    position: relative;
    top: 5px;
    left: 5px;
}


.divFixedTariff table > th {
    text-align: left;
}

.promotion {
    min-height: auto;
}

.promotion-list {
    padding: 0;
    margin: 0;
}

    .promotion-list li {
        list-style: none;
        border-bottom: none;
        padding: 30px 20px;
        background: var(--neutral);
        margin: 20px 20px 0 0;
        min-height: 200px;
        border-radius: 8px;
        box-shadow: var(--shadow-2)
    }

.promotion-info {
    color: var(--light-gray) !important;
    font-size: 14px;
}

#promotionDetails {
    color: var(--green);
    font-weight: 500;
    margin-top: 5px;
}

.promotion-list li:hover {
    box-shadow: var(--shadow-hover)
}

.setting-title {
    width: auto !important;
}

    .setting-title label {
        font-size: 14px;
        font-weight: 400;
        color: var(--primary);
        cursor: pointer
    }

.btn-validateCode {
    padding: 7px 24px;
    margin: 18px 0 !important;
}

.setting-line div {
    margin-left: 2px;
}

.setting-line input[type=checkbox] {
    position: relative;
    top: 1px
}

.mt-6 {
    border-radius: 8px;
    border: none;
    padding: 5px 10px;
}

.btnCode {
    background-color: var(--alternate);
    font-weight: 500
}

    .btnCode:hover {
        background-color: var(--hover);
    }

/*

.mt-6:hover {
background-color:#F2F5F7;
}

    */
@media(max-width:767px) {
    .promotion-list {
        padding: 0;
    }

    .btn-validateCode {
        position: relative;
        top: 10px;
        left: 0;
    }

    .spaceRow {
        padding-top: 20px;
    }

    .image-container {
        margin-top: 50px;
        text-align: left;
        padding: 16px;
    }

    .promotion-list li div.action-menu {
        float: left;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .tariff-left {
        float: none;
    }

    .setting-line {
        display: flex;
    }

    .btn-validateCode {
        top: 0;
    }

    .setting-line div {
        margin-left: -1px;
    }

    .setting-title label {
        font-size: 14px;
        padding-right: 5px;
    }

    .image-container {
        width: auto;
        height: 100px;
        vertical-align: middle;
        margin-right: 20px;
        text-align: left;
        overflow: hidden;
    }
}


.daysBrackground {
    background-color: var(--hover);
    padding: 10px 20px !important;
    border-radius: 8px;
    margin: 10px 0;
    border: 1px solid var(--border)
}

    .daysBrackground:hover {
        background-color: var(--alternate);
    }

.chosen-container-multi .chosen-choices li.search-choice {
    padding: 5px 20px 5px 5px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background-color: var(--hover);
    background-image: none;
    color: var(--primary);
    margin: 2px 0 0px 5px !important;
}

    .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
        top: 5px;
    }


@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
    .chosen-container-multi .chosen-choices .search-choice .search-choice-close {
        background: url(../Images/chosen-sprite.png) -42px 1px no-repeat !important;
        background-size: 52px 37px !important;
        background-repeat: no-repeat !important;
    }
}

.btnAgreement {
    margin-bottom: 5px;
    margin-left: 10px;
    padding: 10px 25px;
}

@media(max-width:767px) {
    .btnAgreement {
        margin-bottom: 0;
        margin-left: 0;
        margin-top: 10px;
    }
}

.dSpace {
    margin-bottom: 10px;
}


@media(max-width:767px) {

    .fc-view-container {
        overflow-x: auto;
    }

    .fc-view {
        min-width: 950px;
        overflow-x: auto;
    }

    .fc-basic-view .fc-body .fc-row {
        min-height: 8em;
    }
}

span.form-display {
    padding-top: 7px;
    position: relative;
}




/* Cash Register */

.cash-portlet-content .total {
    text-align: left;
    font-weight: 400;
    color: var(--gray)
}

.cash-portlet-content .income {
    color: var(--green) !important;
    font-weight: 400;
    text-align: left;
    font-size: 18px;
}

.cash-portlet-content .outcome {
    color: var(--red) !important;
    font-weight: 400;
    text-align: left;
    font-size: 18px;
}


.total {
    padding: 0 16px;
}


.portlet.miniPortlet.cash-portlet a {
    float: left;
    margin-top: -31px;
}

span.calendar {
    font-size: 24px;
    position: relative;
    top: 2px;
    color: var(--orange) !important
}


.table > tbody > tr.info > td {
    background-color: var(--hover);
}



.cash-header-detail {
    display: flex;
    color: var(--light-gray);
}

.portlet.miniPortlet .content {
    font-size: 37px;
    font-weight: 400 !important;
    float: left;
}

    .portlet.miniPortlet .content.chart {
        display: block;
        float: none;
    }

.panel.panel-success {
    border-top: none !important;
}

.panel.panel-danger {
    border-top: none !important;
    color: var(--red);
}

.panel.panel-success {
    color: var(--green) !important;
}


.panel.panel-primary {
    border-top: none !important;
    color: var(--blue);
}

.ConciliationError {
    color: var(--red);
}

.cash-details div.summary {
    font-weight: 400;
}

textarea.form-control {
    margin-bottom: 0;
}


@media(max-width:767px) {

    .scroll-heading {
        width: 650%;
    }

    .scroll-body {
        width: 550%;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {

    .scroll-heading {
        width: 300%;
    }

    .scroll-body {
        width: 270%;
    }
}

.cashflow-calendar-cell {
    padding-right: 0;
    margin-top: 40px;
}

    .cashflow-calendar-cell span {
        text-align: left;
    }

    .cashflow-calendar-cell .accredited {
        color: var(--green);
    }

    .cashflow-calendar-cell .cash {
        color: var(--orange);
    }

    .cashflow-calendar-cell .bookings {
        color: var(--blue);
    }

#sidePanel {
    background-color: var(--neutral);
}


.transaction-section-title {
    font-weight: 500;
    margin-top: 10px;
}

.accredited-transactions.title {
    color: var(--green) !important;
}

.cash-transactions.title {
    color: var(--orange) !important;
}

.booking-transactions.title {
    color: var(--blue) !important;
}

.title h2 {
    font-size: 1.5em;
    font-weight: 500;
    color: var(--primary) !important;
}

@media (max-width:767px) {

    .cashflow-calendar-cell {
        padding-right: 0;
        margin-top: 20px;
    }


        .cashflow-calendar-cell span {
            font-size: 16px;
        }

    #sidePanel {
        width: 85% !important;
    }

    .field.lg {
        width: 100%;
        margin-left: 0;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .cashflow-calendar-cell {
        padding-right: 0;
        margin-top: 5px;
    }

        .cashflow-calendar-cell span {
            font-size: 14px;
        }

    #sidePanel {
        width: 85% !important;
    }

    .field.lg {
        width: 40%;
        margin-left: 0;
    }
}

.negative .amount, .negative.amount {
    color: var(--red);
}

/* Reports */

.panel.panel-success .panel-heading {
    background-color: var(--neutral);
}

.panel.panel-danger .panel-heading {
    background-color: var(--neutral);
}

.cash-line {
    border-top: 1px solid var(--border) !important;
}

span.ellipsis {
    padding-top: 16px;
}

@media (max-width:767px) {

    .untilSpace {
        margin-top: 10px;
    }

    .modelSpace {
        margin-top: 10px;
    }

    .scroll-head {
        width: 450%;
    }

    .scroll-info {
        width: 395%;
    }

    .scroll-head-2 {
        width: 450%;
    }

    .scroll-info-2 {
        width: 395%;
    }

    .scroll-head-3 {
        width: 450%;
    }

    .scroll-info-3 {
        width: 380%;
    }

    .scroll-head-4 {
        width: 450%;
    }

    .scroll-info-4 {
        width: 385%;
    }

    .scroll-head-5 {
        width: 450%;
    }

    .scroll-info-5 {
        width: 390%;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {

    .scroll-head {
        width: 270%;
    }

    .scroll-info {
        width: 230%;
    }

    .scroll-head-2 {
        width: 270%;
    }

    .scroll-info-2 {
        width: 230%;
    }

    .scroll-head-3 {
        width: 450%;
    }

    .scroll-info-3 {
        width: 270%;
    }

    .scroll-head-4 {
        width: 200%;
    }

    .scroll-info-4 {
        width: 187%;
    }

    .scroll-head-5 {
        width: 200%;
    }

    .scroll-info-5 {
        width: 185%;
    }

    .modelSpace {
        margin-top: 10px;
    }
}

.portlet.double {
    min-width: 270px !important;
}

/* All alert */

span.status_Delivered {
    color: var(--green) !important;
    font-weight: 500;
}


.fa-check {
    color: var(--green) !important;
}

.remove {
    color: var(--red) !important;
    cursor: pointer;
}

.fa-remove {
    color: var(--red) !important;
    cursor: pointer;
}

span.status_InService {
    color: var(--red) !important;
}

/*Security Events*/

.badge-secondary {
    background-color: var(--hover);
    padding: 3px 8px;
    border-radius: 15px;
    border: 1px solid var(--border);
}

span.detailFont {
    font-weight: 500
}


.comment-types span {
    cursor: pointer;
    margin: 0px 3px;
}

span.selected {
    color: var(--orange) !important
}

a.plusCircle {
    font-size: 21px !important;
    position: relative;
    right: 8px;
    color: var(--primary) !important
}

    a.plusCircle:hover {
        color: var(--gray) !important
    }

/* Invoice */

.invoice-issue-date {
    font-size: 17px;
    padding: 0 15px;
}

.JobIcon {
    color: var(--blue);
    position: relative;
    top: 2px;
}

.row-space {
    padding: 5px 0;
}

.uploadIcons {
    position: relative;
    top: 10px;
}

.chosen-container {
    padding: 2px;
}

.filterSelect .chosen-container {
    width: 100% !important;
}

.left-menu .nav li {
    margin-bottom: 0px;
}

.portlet.miniPortlet a.material-icons-outlined-14 {
    bottom: 10px;
    left: 10px;
    display: block;
    position: absolute;
}

div#cars.portlet {
    margin: 10px;
    padding: 10px 15px;
}

.t-grid tbody td a.elink {
    font-weight: 400;
    color: var(--blue);
}

.payment-status.erp-payment-Processed {
    color: var(--green);
}

.Pending {
    color: var(--orange);
}

.payment-status.erp-payment-PendingCreated {
    color: var(--orange);
}

pre {
    color: var(--primary);
    background-color: var(--light-hover);
    border: 1px solid var(--border);
}

.json-string {
    color: var(--green) !important;
}

.json-literal {
    color: var(--blue) !important;
}

.space-mail {
    padding: 0 0 0 50px
}

.checkedItem {
    background: none;
    cursor: pointer;
}

span.subTotalInvoiceInfo {
    font-size: 16px;
    font-weight: 500 !important;
    color: var(--light-gray) !important;
}

.amountInvoice {
    position: relative;
    bottom: 8px;
}

.break-description {
    word-break: break-word;
}

@media (max-width: 950px) {
    .t-widget.t-grid {
        background: var(--neutral) !important;
    }

        .t-widget.t-grid tr {
            background-color: var(--neutral);
        }

    .space-mail {
        padding: 15px
    }
}


/* Dashboard */

.edit-dashboard,
.add-portlet {
    background-color: var(--blue);
}

    .edit-dashboard.edit {
        background-color: var(--green);
        color: var(--neutral) !important;
    }

ul.portlet-list {
    list-style: none;
    padding: 0;
}

    ul.portlet-list li {
        border-bottom: none;
        padding: 15px 10px;
        margin: 10px 0 !important;
        background-color: var(--hover);
        border-radius: 8px;
    }

        ul.portlet-list li:hover {
            background-color: var(--light-hover);
        }

.porlet-description {
    margin-bottom: 5px;
}

.porlet-item-name {
    margin: 7px 0;
}


.main-content.edit {
    background-color: var(--edit) !important;
    margin-bottom: 0;
}

.office-icon {
    max-width: 24px;
    position: relative;
    bottom: 5px;
    left: 5px;
}

.without-space {
    padding: 0;
}

.space-right {
    padding-right: 0;
}

#todayDevolutions.portlet {
    background-color: var(--neutral) !important;
    box-shadow: var(--shadow-1)
}

    #todayDevolutions.portlet:hover {
        box-shadow: var(--shadow-hover)
    }

.modern-list .row:hover {
    background-color: var(--hover);
    border-radius: 8px;
}

.portlet div.title .title-content a {
    color: var(--primary);
    font-weight: 500;
}

.row-card {
    border-top: none;
}

.portlet.triple.row-16 .content {
    height: 420px;
}

.portlet.triple .content {
    height: 230px;
}

.open-in-new {
    color: var(--blue) !important;
}

.tote.badge.devolutions {
    background-color: var(--orange) !important;
    color: var(--neutral);
    margin-right: 5px;
}

.tote.badge.deliveries {
    background-color: var(--green) !important;
    margin-right: 5px;
}

.commands > span {
    color: var(--primary) !important;
}

span.previous,
span.next {
    font-size: 24px;
    padding-top: 0;
    margin: 0 15px;
}


.portlet-date {
    margin-top: 1px;
    font-weight: 400;
}

div.commands {
    float: right;
    display: flex;
    width: auto;
}

.title.handle.today {
    margin-bottom: 20px !important;
}

.portlet .content p.no-data {
    font-size: 16px;
}

.col-nopl {
    font-size: 14px !important;
}

.second-line > a {
    color: var(--gray);
}

    .second-line > a:hover {
        color: var(--light-gray);
    }

.main-line > a {
    color: var(--primary) !important;
    font-weight: 500
}


#todayDeliveries.portlet {
    background-color: var(--neutral) !important;
    box-shadow: var(--shadow-1)
}

    #todayDeliveries.portlet:hover {
        box-shadow: var(--shadow-hover)
    }


.text-red {
    color: var(--red) !important;
}

    .text-red .main-line strong {
        color: var(--red) !important;
    }

    .text-red .main-line a {
        color: var(--red) !important;
    }

    .text-red .second-line a {
        color: var(--light-gray) !important;
    }

        .text-red .second-line a:hover {
            color: var(--gray) !important;
        }

.exclamation {
    color: var(--red) !important;
}

.portlet.triple {
    width: 100%;
    background-color: var(--neutral) !important;
    box-shadow: rgb(45 62 80 / 8%) 0px 1px 6px 0px;
    padding: 15px;
}

    .portlet.triple:hover {
        box-shadow: rgb(45 62 80 / 25%) 0px 1px 6px 0px;
    }

    .portlet.triple .content {
        padding: 5px;
    }


        .portlet.triple .content .t-widget.t-grid {
            height: auto !important;
        }

.portlet-container.triple .edit-close {
    right: -10px !important;
    top: 20px;
}

.t-header {
    border: none !important;
}

.t-header,
.t-grid-header {
    border: none !important;
    font-weight: 500 !important;
    background: var(--table-bg);
    border-bottom: 1px solid var(--table-line);
    color: var(--table-light-gray);
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .6px;
    padding: 10px 12px;
}

.t-grid td {
    line-height: 2em;
}

.trow-bg:hover {
    background: var(--hover);
}

.portlet div.title {
    font-size: 16px;
    font-weight: 500;
    color: var(--primary);
}


.triple-icon {
    position: relative;
    top: 2px;
}

th.t-header {
    border-bottom: none !important;
}

.t-grid tr:hover {
    background-color: var(--hover);
}

.t-grid tbody td a {
    color: var(--blue);
    font-weight: 400;
}

    .t-grid tbody td a:hover {
        font-weight: 500;
        transition: 0.2s
    }

.alertsDash {
    color: var(--red) !important
}

.expiredBooking {
    color: var(--red) !important
}

.extBookings {
    color: var(--green) !important
}

/* Calendar */
.monthTitle {
    text-align: center;
    font-size: 15px;
    padding: 7px;
    margin-bottom: 5px;
    background-color: var(--hover) !important;
    border-radius: 10px;
    width: 99%;
    margin-left: 10px;
    color: var(--primary);
    font-weight: 500;
}

    .monthTitle.alternate {
        background-color: var(--alternate) !important;
        border-radius: 10px;
    }

.daysLeter .alt,
.daysNumber .alt {
    background-color: var(--alternate);
}


#calendar-category-filter {
    position: relative;
    bottom: 5px;
    background-color: var(--neutral);
    border: 1px solid var(--border) !important;
}

    #calendar-category-filter:hover {
        position: relative;
        bottom: 5px;
        background-color: var(--hover);
        border: 1px solid var(--border) !important;
    }

    #calendar-category-filter:focus {
        position: relative;
        bottom: 5px;
        background-color: var(--border);
        border: 1px solid var(--border) !important;
    }


.calendar-bookings-wrapper {
    position: absolute;
}

.carDaysRow {
    background-color: var(--neutral);
    position: relative;
}

.dayToday {
    background-color: #ffcbcb;
    opacity: 0.5;
    font-weight: bold;
}

.model {
    width: 8px;
    float: left;
}

/* ===== Componentes reutilizables del módulo (resumen / estado / timeline / progreso) ===== */

/* Grid de tarjetas resumen (totalizadores) */
.rly-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.rly-summary-card {
    background-color: var(--neutral);
    border-radius: 12px;
    box-shadow: var(--shadow-1);
    padding: 18px 20px;
}

.rly-summary-label {
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 11px;
    font-weight: 600;
    color: var(--light-gray);
}

.rly-summary-value {
    font-size: 26px;
    font-weight: 700;
    color: var(--gray);
    line-height: 1.2;
    margin: 8px 0;
}

.rly-summary-value--positive {
    color: var(--green);
}

.rly-summary-value--pending {
    color: var(--orange);
}

.rly-summary-sub {
    font-size: 12px;
    color: var(--light-gray);
}

.rly-summary-sub-strong {
    color: var(--green);
    font-weight: 600;
}

/* Avance: más aire alrededor de los separadores (- y /) */
.rly-summary-sub--spaced {
    word-spacing: 0.35em;
}

/* Badge de estado reutilizable (pill outline) */
.rly-status {
    display: inline-block;
    min-width: 90px;
    text-align: center;
    padding: 3px 7px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    border: 1px solid transparent;
}

.rly-status--paid {
    background-color: var(--light-green);
    border-color: var(--green);
    color: var(--green);
}

.rly-status--pending {
    background-color: var(--light-orange);
    border-color: var(--orange);
    color: var(--orange);
}

.rly-status--projected {
    background-color: var(--rently-bg);
    border-color: var(--border);
    color: var(--gray);
}

/* Barra de progreso reutilizable. Ancho dinámico vía --rly-fill (única excepción inline). */
.rly-progress {
    background-color: var(--line);
    border-radius: 4px;
    height: 10px;
    overflow: hidden;
    margin-top: 10px;
}

.rly-progress-fill {
    height: 100%;
    width: var(--rly-fill, 0%);
    background-color: var(--green);
    border-radius: 4px;
    transition: width .3s ease;
}

.rly-progress-fill--pending {
    background-color: var(--orange);
}

.rly-progress--split {
    flex: 1 1 0%;
    background: repeating-linear-gradient(45deg, var(--light-orange) 0 3px, var(--orange) 3px 4px);
}

.rly-timeline {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    overflow-x: auto;
    padding: 18px 2px 36px;
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar) transparent;
}

    .rly-timeline::-webkit-scrollbar {
        height: 8px;
    }

    .rly-timeline::-webkit-scrollbar-thumb {
        background-color: var(--scrollbar);
        border-radius: 999px;
    }

    .rly-timeline::-webkit-scrollbar-track {
        background: transparent;
    }

.rly-timeline-item {
    position: relative;
    flex: 1 0 96px;
    min-width: 96px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

    .rly-timeline-item::before {
        content: "";
        position: absolute;
        top: 97px;
        left: 50%;
        width: 100%;
        height: 2px;
        background-color: var(--line);
        z-index: 0;
    }

    .rly-timeline-item:last-child::before {
        display: none;
    }

.rly-timeline-item--paid::before,
.rly-timeline-item--pending::before {
    background-color: var(--primary);
}

.rly-timeline-node {
    position: relative;
    z-index: 1;
    width: 36px;
    height: 36px;
    line-height: 36px;
    border-radius: 50%;
    text-align: center;
    font-weight: 700;
    color: var(--neutral);
    background-color: var(--gray);
    margin-bottom: 16px;
}

.rly-timeline-node--paid {
    background-color: var(--green);
}

    .rly-timeline-node--paid .fa-check {
        color: #fff !important;
    }

.rly-timeline-node--pending {
    background-color: var(--orange);
}

.rly-timeline-node--projected {
    color: var(--orange);
    background-color: var(--neutral);
    border: 2px solid var(--orange);
    line-height: 32px;
    background-image: repeating-linear-gradient(45deg, var(--orange) 0, var(--orange) 1px, transparent 3px, transparent 6px);
}

.rly-timeline-head {
    height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 16px;
}

.rly-timeline-label {
    font-size: 11px;
    line-height: 16px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--gray);
    margin-bottom: 3px;
}

.rly-timeline-date {
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: var(--gray);
}

.rly-timeline-year {
    font-size: 11px;
    line-height: 16px;
    color: var(--light-gray);
}

.rly-timeline-amount {
    font-size: 16px;
    line-height: 22px;
    font-weight: 700;
    color: var(--gray);
    margin-bottom: 14px;
}

.rly-timeline-item--link {
    cursor: pointer;
    border-radius: 8px;
    transition: background-color .15s ease;
}

    .rly-timeline-item--link:hover {
        background-color: var(--hover);
    }

.rly-timeline-link-cover {
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: inherit;
}

/* ===== Detalle de plan de cuotas (#21742) — específico de la vista ===== */

.ipd-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ipd-header-top {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ipd-header-tag {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 999px;
    background-color: var(--light-green);
    color: var(--green);
    font-size: 12px;
    font-weight: 600;
}

.ipd-header-code {
    font-size: 13px;
    font-weight: 600;
    color: var(--blue);
}

.ipd-header-title {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
}

.ipd-header-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 4px;
}

.ipd-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--gray);
}

    .ipd-meta-item .fa {
        color: var(--light-gray);
    }

.ipd-meta-label {
    color: var(--light-gray);
}

/* Paneles de desglose (materializadas vs proyectadas) */
.ipd-breakdown {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.ipd-breakdown-card {
    background-color: var(--neutral);
    border-radius: 12px;
    box-shadow: var(--shadow-1);
    padding: 18px 20px;
}

.ipd-breakdown-card--projected {
    background-color: var(--light-orange);
}

.ipd-breakdown-main {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.ipd-breakdown-icon {
    flex: 0 0 auto;
    font-size: 26px;
    line-height: 1;
}

.ipd-breakdown-card--materialized .ipd-breakdown-icon {
    color: var(--primary);
}

.ipd-breakdown-card--projected .ipd-breakdown-icon {
    color: var(--orange);
}

.ipd-breakdown-info {
    flex: 1 1 auto;
    min-width: 0;
}

.ipd-breakdown-title {
    font-weight: 600;
    font-size: 15px;
    color: var(--gray);
}

.ipd-breakdown-pct {
    flex: 0 0 auto;
    font-size: 24px;
    font-weight: 700;
    color: var(--gray);
    white-space: nowrap;
}

.ipd-breakdown-card--projected .ipd-breakdown-pct {
    color: var(--orange);
}

/* Barra: materializadas en oscuro (real), proyectadas en naranja */
.ipd-breakdown-card--materialized .rly-progress-fill {
    background-color: var(--primary);
}

/* Proyectadas: rayado diagonal (proyección financiera, no Expense real) */
.ipd-breakdown-card--projected .rly-progress-fill--pending {
    background-color: var(--orange);
    background-image: repeating-linear-gradient( 45deg, var(--orange), var(--orange) 6px, var(--light-orange) 6px, var(--light-orange) 10px );
}

.ipd-breakdown-help {
    font-size: 12px;
    color: var(--gray);
    margin: 6px 0 0;
}

/* Cronograma: header, leyenda y tabla */
.ipd-schedule-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.ipd-schedule-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
}

.ipd-legend {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.ipd-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--gray);
}

.ipd-legend-swatch {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    display: inline-block;
}

.ipd-legend-swatch--paid {
    background-color: var(--green);
}

.ipd-legend-swatch--pending {
    background-color: var(--orange);
}

.ipd-legend-swatch--projected {
    border: 2px solid var(--orange);
    background-color: var(--light-orange);
    background-image: repeating-linear-gradient(45deg, var(--orange) 0, var(--orange) 2px, transparent 2px, transparent 5px);
}

/* En pantallas angostas ocultamos la leyenda para que el header (titulo + toggle) no se
   rompa ni pierda formato. */
@media (max-width: 991px) {
    .ipd-legend {
        display: none;
    }
}

.ipd-table-wrap {
    overflow: auto;
    max-width: 100%;
    max-height: 720px;
}

.ipd-table {
    margin-top: 4px;
    border: none;
    min-width: 800px !important;
}

    .ipd-table.table > thead:first-child > tr:first-child > th {
        text-transform: uppercase;
        font-size: 11px;
        letter-spacing: .04em;
        font-weight: 600;
        color: var(--light-gray);
        background-color: var(--neutral) !important;
        border-bottom: 1px solid var(--line) !important;
        padding: 10px 18px;
        white-space: nowrap;
        /* Header fijo arriba mientras se scrollea la lista de cuotas. */
        position: sticky;
        top: 0;
        z-index: 2;
    }

        .ipd-table.table > thead:first-child > tr:first-child > th:hover {
            background-color: var(--neutral) !important;
        }

        .ipd-table.table > thead:first-child > tr:first-child > th.column-right {
            padding-right: 30px;
        }

    .ipd-table > tbody > tr > td {
        border: none;
        padding: 14px 18px;
        vertical-align: middle;
        white-space: nowrap;
    }

    /* Zebra striping con token (dark-mode safe): sombrea filas pares como el prototipo */
    .ipd-table > tbody > tr:nth-of-type(even) > td {
        background-color: var(--rently-bg);
    }

.ipd-table-num {
    font-variant-numeric: tabular-nums;
    color: var(--light-gray);
}

/* Columna Tipo (materializada / proyección) */
.ipd-type {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
}

.ipd-type--materialized {
    color: var(--gray);
}

.ipd-type--projected {
    color: var(--orange);
}

/* Íconos dentro de badges, toggles y títulos de desglose */
.rly-status .fa {
    margin-right: 4px;
}

.ipd-schedule-toggle .fa {
    margin-right: 4px;
}

.ipd-table .btn,
.ipd-schedule-toggle .btn {
    padding: 3px 10px;
}

.ipd-schedule-toggle .btn-primary {
    border: 1px solid transparent !important;
}

.ipd-table .btn,
.ipd-schedule-toggle .btn-default {
    border-color: var(--light-gray);
}

.ipd-view--hidden {
    display: none;
}

#timelineView {
    padding-bottom: 30px;
}

.carHeader {
    text-align: left;
    display: flex;
}

    .carHeader:hover {
        text-align: left;
        font-weight: 500;
        margin-left: 10px;
        transition: .2s
    }

    .carHeader a:hover {
        font-weight: 500;
        color: var(--primary)
    }

.model_1 {
    background-color: var(--model-1);
}

.model_2 {
    background-color: var(--model-2);
}

.model_3 {
    background-color: var(--model-3);
}

.model_4 {
    background-color: var(--model-4);
}

.model_5 {
    background-color: var(--model-5);
}

/* Calendar Size*/


div#bookingView {
    background-color: var(--neutral) !important;
    box-shadow: var(--shadow-1);
    padding-right: 0;
    padding: 25px;
    height: 619px !important;
}

    div#bookingView:hover {
        box-shadow: var(--shadow-hover);
    }

.calendar-cars-wrapper {
    width: 15%;
    height: 499px !important;
}

.calendar-bookings-scroll {
    overflow: auto;
    height: 510px !important;
}

/*****************/


.carDaysRow {
    border-top: 1px solid var(--border);
}

.month {
    display: table-cell;
}

.dayToday,
.carDaysRowToday {
    background-color: var(--hover) !important;
    color: var(--blue);
    opacity: 0.6;
}

.model {
    border-radius: 10px;
}

.carHeader.active {
    background-color: var(--hover);
    border-radius: 8px 0 0 8px;
}

    .carHeader.active a {
        background-color: var(--hover);
        border-radius: 8px;
        padding: 0 20px;
        transition: 0.2s;
        color: var(--gray);
    }


.category.alternate {
    background-color: var(--neutral);
}

.category {
    background-color: var(--hover);
}


body .ui-tooltip {
    border-radius: 8px !important;
    background-color: var(--neutral) !important;
    box-shadow: var(--shadow-2);
    border: 1px solid var(--border);
    padding: 10px 20px;
    color: var(--light-gray) !important;
}

.ui-tooltip-content {
    border-radius: 8px;
    background-color: var(--neutral) !important;
}

span.icon-tooltip {
    color: var(--light-gray);
}

span.booking-id {
    color: var(--light-gray);
}

.booking-info {
    color: var(--light-gray);
}

span.icon-pick-up {
    color: var(--green) !important;
}

span.icon-drop-off {
    color: var(--orange) !important;
}


span.serviceTooltip {
    padding: 6px;
    position: relative;
    top: 6px;
    color: var(--light-gray);
}

/* Row Booking Status */
.booking.status {
    border-radius: 18px;
}

.booking:hover,
.booking.hover {
    z-index: 3;
    margin-top: 0px;
    box-shadow: inset 0 0 5px 5px rgb(100 100 100 / 20%);
    transition: 0.5s;
}

span.status0 {
    color: var(--status-reserved) !important;
}

span.status1 {
    color: var(--status-confirmed) !important;
}

span.status2 {
    color: var(--status-delivered) !important;
}

span.status3 {
    color: var(--status-closed) !important;
}

span.status4 {
    color: var(--status-canceled) !important;
}

span.status5 {
    color: var(--status-quoted) !important;
}

.booking.status2,
.status2 {
    background-color: var(--status-delivered) !important;
    border-radius: 50px;
}

.booking.status1,
.status1 {
    background-color: var(--status-confirmed) !important;
    border: none !important;
    border-radius: 50px
}

.booking.status2.expired {
    background-color: var(--red) !important;
    border-radius: 50px
}

.booking.status3,
.status3 {
    background-color: var(--status-closed) !important;
    border-radius: 50px
}

.calendar-bookings-scroll::-webkit-scrollbar-thumb:hover {
    background-color: #BDC2CB;
    border-radius: 8px;
}

.calendar-timeline .monthScale {
    border-right: none;
}

.cstatus0,
.status0 {
    border-radius: 50px;
}

.cstatus1,
.ccstatus0 {
    background-color: var(--green);
    color: var(--green);
    border-radius: 50px;
}

.cstatus2,
.ccstatus1 {
    background-color: var(--red);
    color: var(--red);
    border-radius: 50px;
}

.cstatus3 {
    background-color: var(--status-closed);
    color: var(--status-closed);
    border-radius: 50px;
}

/* Row Service Status */
.booking-month-button.next:hover {
    color: var(--primary);
}

.booking-month-button.previous:hover {
    color: var(--primary);
}

span.status0 {
    color: var(--status-reserved) !important;
}

.booking.status0,
.status0 {
    background-color: var(--status-reserved) !important;
}

.booking.status5,
.status5 {
    opacity: .9;
    background-color: var(--status-quoted);
    border-radius: 50px;
}

.transfer > .return-place {
    border-radius: 0 10px 10px 0;
    border-right: none;
    border-bottom: none;
    height: inherit;
}

.transfer > .delivery-place {
    border-left: none;
    border-radius: 10px 0 0 10px;
    border-bottom: none !important;
    height: inherit !important;
}

.booking.service {
    border-radius: 18px;
}

    .booking.service.status1 {
        background-image: repeating-linear-gradient(-45deg, var(--in-progress) 0 10px, var(--in-progress-2) 10px 20px);
    }

    .booking.service.status2 {
        background-image: repeating-linear-gradient(-45deg, var(--in-finalized) 0 10px, var(--in-finalized-2) 10px 20px);
    }

.carDaysRow.inactive,
.booking.inactive {
    background-image: repeating-linear-gradient(-45deg, var(--neutral) 0 10px, var(--hover) 10px 20px);
}

.booking.service {
    background-image: repeating-linear-gradient(-45deg, var(--in-programmed) 0 10px, var(--in-programmed-2) 10px 20px);
}


.bookingHighlight {
    background-color: var(--blue);
    border: none;
    border-radius: 5px;
    top: 38px;
    opacity: 0.3;
}

span.brand-name {
    font-size: 14px;
    text-transform: uppercase;
    color: var(--light-gray);
    font-weight: 500
}

#calendar-cars-filter,
#calendar-cars-filter:focus {
    background-image: url(../images/search-2.png);
    background-color: var(--hover);
    width: 148% !important;
    border: 1px solid var(--border) !important;
}

.calendar-cars-filter-container {
    padding-right: 13px;
}

.dayHoliday {
    background-color: #ffc41f52 !important;
}

.calendar-content-container {
    position: relative;
}

.calendar-category-filter-container {
    margin-top: 5px;
    padding-right: 0;
}

#calendar-category-filter {
    height: 34px;
    width: 170% !important;
}

    #calendar-category-filter:focus {
        height: 34px;
        width: 180px !important;
        background-color: var(--neutral);
    }

.calendar-cars-container {
    width: 100%;
}


.booking-month-button {
    font-size: 16px !important;
}

    .booking-month-button.previous {
        margin-top: 8px;
        margin-left: -20px;
        color: var(--blue)
    }

    .booking-month-button.next {
        margin-top: 8px;
        margin-left: -5px;
        color: var(--blue);
        position: inherit;
        left: 35px;
    }

@media(max-width:767px) {

    .col-nopl {
        margin-left: 5px;
    }

    .second-line.xs > a {
        color: var(--primary);
    }

    .td-additionals {
        margin-top: 40px;
    }

    .calendar-bookings-wrapper {
        position: inherit;
    }

    .responsive-data {
        font-size: 14px !important;
    }

    .portlet .content p.no-data {
        font-size: 15px;
    }

    span.previous,
    span.next {
        margin: 0;
    }
}

@media only screen and (max-width: 950px) {

    .t-widget.t-grid tr.t-alt {
        background-color: var(--neutral);
    }
}



@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {

    .hide-mobile {
        display: none
    }

    .w-controller {
        max-width: 300px
    }

    .modern-list .row {
        margin-left: 0px;
        margin-right: 0px;
        display: flex;
        flex-wrap: wrap
    }

    .row .row-additional {
        display: block;
    }

    div#bookingView {
        margin: 20px 0;
    }

    #calendar-category-filter {
        width: 150% !important;
    }

    .without-space {
        padding: 0 15px;
    }

    .col-nopl {
        padding-left: 15px;
        padding-right: 15px;
    }

    .row-card {
        border-bottom: 1px solid var(--border) !important;
        padding: 15px 0px;
    }
}


@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) {
    .modern-list .row {
        margin-left: 0px;
        margin-right: 0px;
    }

    div#bookingView {
        margin: 20px 0;
    }

    #calendar-category-filter {
        width: 150% !important;
    }

    .without-space {
        padding: 0;
    }

    .col-nopl {
        padding-left: 15px;
        padding-right: 15px;
    }

    .row-card {
        border-top: 1px solid var(--border) !important;
        padding: 15px 0px;
    }
}

/* Admin Submenu */

.admin-submenu h3 {
    color: var(--light-gray) !important;
}

#sidebar .toogle-btn {
    cursor: pointer !important;
}

#collapsed-toggle {
    margin-top: 30px;
    text-align: center;
}

.admin-submenu {
    background-color: var(--neutral);
    box-shadow: rgb(45 62 80 / 20%) 0px 1px 6px 0px !important;
    width: 320px;
    padding-top: 45px;
}

    .admin-submenu.collapsed {
        width: 110px;
    }

        .admin-submenu.collapsed #collapsed-toggle {
            display: block;
        }

        .admin-submenu.collapsed .menu-item, .admin-submenu.collapsed h3, #collapsed-toggle {
            display: none;
        }

    .admin-submenu .menu-item div {
        font-size: 15px;
        color: var(--gray);
    }

.menu-item.title a,
.menu-item.title {
    font-size: 15px !important;
    padding: 5px 0px;
    color: var(--gray) !important;
    font-weight: 500 !important;
}

.admin-submenu.menu-item a {
    font-size: 14px !important;
    padding: 5px 20px !important;
    color: var(--light-gray) !important;
    font-weight: 400 !important;
}

.menu-item a {
    font-size: 14px !important;
    color: var(--light-gray) !important;
    font-weight: 400 !important;
}

.admin-submenu .menu-item:hover a {
    color: var(--primary) !important;
    background-color: var(--hover);
    font-weight: 500 !important;
    border-radius: 20px 0 0 20px;
    margin-left: 10px !important;
    padding-left: 10px !important;
    transition: 0.1s;
}

.menu-item:hover {
    background: none !important;
}

.admin-submenu .menu-item div:hover {
    background-color: var(--neutral);
    color: var(--gray) !important;
    cursor: default;
    transition: 0.1s;
}

.admin-submenu .menu-item.active a {
    color: var(--blue) !important;
    background-color: var(--light-blue);
    font-weight: 500 !important;
    font-size: 14px !important;
    border-radius: 20px 0 0 20px;
    padding-left: 19px !important;
}


/* Administración */


.setting-line {
    display: block;
    margin: 5px 0;
    padding: 5px 0;
}

#ThemeConfiguration_PrimaryColor,
#ThemeConfiguration_PrimaryTextColor,
#ThemeConfiguration_SecondaryColor {
    width: 100%;
    max-width: 300px;
}

.inlineContainerDiv.coverages input {
    margin: 1px;
    margin-inline: auto;
}

.inlineContainerDiv.coverages label {
    margin: 1px;
    margin-inline: auto;
    text-align: left;
}

.inlineContainerDiv.coverages .floating-label input {
    width: 300px !important;
}

.inlineContainerDiv.coverages .floating-label label {
    max-width: 300px;
}

.coverages div {
    width: 200px;
    font-weight: 500;
}

.inlineContainerDiv.generalStatus input {
    width: 100px;
    margin: 1px;
}

.generalStatus div {
    width: 130px;
    font-weight: 500;
}

    .generalStatus div.title {
        width: 142px !important;
        text-align: left !important;
        font-weight: 500;
    }

.normal {
    color: var(--orange);
}

.bad {
    color: var(--red);
}

span.mt-2 {
    position: relative;
    top: 2px;
}

span.m-5 {
    padding: 0 5px 0 0;
    position: relative;
    top: 4px;
    color: var(--primary);
}

.move-3 {
    position: relative;
    top: 3px
}

.m-0 {
    margin: 0;
}

.mr-10 {
    margin-right: 10px
}

.mt-5 {
    margin-top: 5px;
}

.mt-10 {
    margin-top: 10px;
}

.mt-15 {
    margin-top: 15px;
}

.mt-20 {
    margin-top: 20px !important;
}

.mb-5 {
    margin-bottom: 5px;
}

.mb-0 {
    margin-bottom: 0;
}


.b-3 {
    position: relative;
    bottom: 3px
}

.b-5 {
    position: relative;
    bottom: 5px
}

.t-20 {
    position: relative;
    top: 20px;
}

.t-2 {
    position: relative;
    top: 2px;
}

.t-2 {
    position: relative;
    top: 3px;
}

.t-5 {
    position: relative;
    top: 5px;
}

.t-10 {
    position: relative;
    top: 10px;
}

.t-15 {
    position: relative;
    top: 15px;
}

.position-5 {
    position: relative;
    top: 5px;
}

.pl-0 {
    padding-left: 0;
}

.title-config {
    margin: 40px 0 30px;
}

.toll-integration.active > div > div > .toll-integration-status {
    color: var(--green) !important;
}

.toll-integration {
    border-radius: 8px;
    padding: 25px 35px;
    margin: 10px 2px;
    height: 240px;
}

.title-icon {
    display: flex;
    align-items: flex-end;
}

.img-fluid {
    width: 100%;
    border-radius: 8px;
}

.btn-erp {
    padding: 10px 0;
    margin: 15px 0 0;
    width: 100%;
}

.txtBtn h3 {
    color: var(--green);
}

.float-right-edit {
    float: right;
    cursor: pointer;
}

h3.ranges-line {
    font-weight: 400 !important;
    color: var(--light-gray) !important;
}

h3.ranges-title {
    color: var(--gray) !important;
}

#map {
    border-radius: 8px;
}

.sticky-panel {
    position: sticky;
    top: 70px;
}

.m-0 {
    margin: 0;
}

.p-0 {
    padding: 0;
}

.pt-10 {
    padding-top: 10px;
}

.pb-5 {
    padding-bottom: 5px
}

.pb-10 {
    padding-bottom: 10px
}


.toll-integration {
    border: 1px solid var(--border);
}

span.add-icon {
    position: relative;
    left: 8px;
    bottom: 5px;
}

.separator-bg {
    background: var(--hover);
    border-radius: 8px !important;
    margin: 0 15px;
}

span.action {
    cursor: pointer;
}

    span.action:hover {
        color: var(--blue)
    }


.pop-up-label {
    width: auto;
}

.base {
    background-color: var(--hover) !important;
    color: var(--blue);
    border-radius: 12px
}

.sub-menu.admin-view {
    padding-left: 0 !important;
}

.image-container.edit {
    border-radius: 8px !important;
    border: 1px solid var(--border)
}

#editor {
    border-radius: 8px;
    z-index: 0
}

.ace_editor {
    border-radius: 8px;
}

.btnaccountbycc {
    width: 100%;
    margin: 0;
}

@media (min-width: 1200px) {
    .row.equal-cols {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

        .row.equal-cols:before,
        .row.equal-cols:after {
            display: block;
        }

        .row.equal-cols > [class*='col-'] {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
        }

            .row.equal-cols > [class*='col-'] > * {
                -webkit-flex: 1 1 auto;
                -ms-flex: 1 1 auto;
                flex: 1 1 auto;
            }
}

@media (min-width: 1400px) {
    .col-xxl-6 {
        width: 50%;
    }

    .col-xxl-3 {
        width: 25%;
    }
}


.mr-20 {
    margin-right: 20px;
}


@media (max-width:768px) {
    .mr-20 {
        margin-right: 0;
    }
}

.w100 {
    width: 100%;
}

.w-break {
    word-break: break-all
}

.customer-flex {
    display: flex;
    justify-content: space-between;
}



@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {

    #sidebar {
        display: flex;
        flex-direction: column;
        position: fixed;
        width: 320px;
        height: 100%;
        background: var(--neutral);
        left: 0;
        padding-right: 50px;
        transition: all 0.3s;
    }

        #sidebar.active {
            left: -265px;
        }

        #sidebar .toogle-btn {
            position: relative;
            left: 146px;
            bottom: 4px
        }

    .admin-submenu {
        padding-left: 20px;
        z-index: 9
    }

        .admin-submenu .menu-item.active a {
            background-color: var(--neutral);
        }

    .generalStatus div.title {
        width: 93px !important
    }

    .generalStatus.inlineContainerDiv div:last-child {
        width: 56px !important;
    }
}


/* Al colapsar el sidebar en resoluciones bajas, la barra debe angostarse para no tapar el contenido.
   El ancho colapsado se define por clase (.admin-submenu.collapsed) pero la media query de arriba lo
   fija por id (#sidebar { width: 320px }), que gana por especificidad y dejaba el div blanco de 320px
   tapando la pantalla (solo se ocultaban los items). Se corrige con especificidad de id + clase y se
   reubica el botón de reabrir (que la misma media query desplaza 146px para el estado expandido)
   dentro del riel angosto. */
@media (max-width: 950px) {
    #sidebar.collapsed {
        width: 65px;
        padding-left: 0;
        padding-right: 0;
    }

        #sidebar.collapsed #collapsed-toggle {
            left: 0;
        }
}


@media (min-width:950px) {
    #sidebar .toogle-btn {
        display: none
    }

    .admin-submenu.collapsed {
        width: 320px;
    }

        .admin-submenu.collapsed #collapsed-toggle {
            display: none;
        }

        .admin-submenu.collapsed .menu-item, .admin-submenu.collapsed h3, #collapsed-toggle {
            display: block;
        }
}


@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) {

    .generalStatus div.title {
        width: 92px !important;
    }

    .generalStatus div {
        width: 99px;
    }

    .inlineContainerDiv.generalStatus input {
        width: 94px;
    }

    .toll-integration-img > img {
        width: 174px;
        max-height: 50px;
    }

    .toll-integration > div > div > .toll-integration-status {
        font-size: 14px;
    }
}



/* Merge Customer */

.result-bg {
    padding: 0 0 20px 0;
    background: var(--hover);
    border: 1px solid var(--border);
    border-radius: 8px;
}

    .result-bg:hover {
        border: 1px solid var(--green);
        transition: 0.2s;
    }


input[type="radio"] {
    cursor: pointer;
}


.panel h3.panel-title.customer-1 {
    color: var(--green) !important;
    font-weight: 400;
}


.panel h3.panel-title.customer-2 {
    color: var(--red) !important;
    font-weight: 400;
}

.panel h3.panel-title.merge-result {
    color: var(--gray) !important;
    font-weight: 400;
}

input[type='datetime'] {
    width: 100%;
}

.r-flex {
    display: flex;
}

.align-center {
    display: flex;
    align-items: center;
}


#addCorporateContractItemButton,
#addCorporateContractAdditionalButton,
#addCorporateContractPriceItemButton,
#addCorporateQuoteSupplyButton {
    padding: 15px 30px;
    font-weight: 500;
}



/* Code Space */
.ace-monokai {
    background-color: #151414;
}

    .ace-monokai .ace_gutter {
        background: #141519;
        color: var(--light-gray);
    }

    .ace-monokai .ace_gutter-active-line {
        background-color: #424242;
    }


/* New Task */
label.property-label {
    width: auto;
    font-size: 14px;
}

.work-item-core {
    background-color: var(--neutral)
}

    .work-item-core .nav.nav-tabs li {
        float: left !important;
    }

.work-item-container h4 {
    border-bottom: none;
    margin-bottom: 10px;
    color: var(--primary) !important
}

.tox .tox-toolbar-overlord {
    background-color: var(--neutral)
}

.close {
    color: var(--primary);
    opacity: 1;
}

.tox .tox-toolbar__primary {
    background-color: var(--neutral) !important;
    color: var(--primary)
}

.tox .tox-tbtn__select-label {
    color: var(--primary) !important;
}

.tox .tox-edit-area__iframe {
    background-color: var(--neutral) !important;
    color: var(--primary) !important;
}

.tox .tox-tbtn svg {
    fill: var(--primary) !important;
}

.tox .tox-tbtn:hover {
    background: var(--hover) !important;
    color: var(--primary) !important;
}

.mce-content-body {
    color: var(--primary) !important;
}

.tox .tox-tbtn--enabled,
.tox .tox-tbtn--enabled:hover {
    background: var(--hover) !important;
    color: var(--primary) !important;
}

.tox .tox-collection--list .tox-collection__group {
    border-color: var(--border) !important;
    background-color: var(--neutral) !important;
}

.tox .tox-collection__item-label {
    color: var(--primary) !important;
}

.tox .tox-collection--list .tox-collection__item--active {
    background-color: var(--hover) !important;
}

.tox .tox-collection__item-caret svg {
    fill: var(--primary) !important;
}

.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
    color: var(--blue) !important;
}

.tox .tox-collection--list .tox-collection__item--enabled {
    background-color: var(--hover) !important;
    color: var(--blue) !important;
}

.work-item-header {
    padding: 10px 0;
    border-left: none;
    margin: 0
}

span.work-item-type {
    font-size: 18px;
}

.work-item-header input[type=text] {
    font-size: 14px;
}

code {
    background-color: var(--neutral) !important
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--neutral) !important;
}

/*  Incident  */

div.infraction p {
    font-size: 16px;
    font-weight: bold;
    margin: 0px 0px;
}

.mobile-only {
    display: none !important;
}

@media (max-width: 820px) {
    .mobile-only {
        display: block !important;
    }
}

/* Handoff único de navegación por debajo de 1024px: el menú principal lateral (.left-menu) cede el lugar
   a la barra inferior (nav.mobile-menu), y ninguno de los dos deja la pantalla sin menú.
   Antes la visibilidad del lateral era un parche inconsistente — el tema del tenant lo ocultaba ~768–1010px
   y las media queries de teléfonos del repo recién ≤667px — dejando dos zonas rotas: ~820–1010 sin ningún
   menú (la barra inferior arrancaba recién a 820px) y ~668–767 donde el lateral reaparecía. Unificamos
   ambas cosas acá: ocultamos el lateral y mostramos la barra inferior en el mismo breakpoint. El hide del
   lateral va con !important en site-new (que carga después del tema) para ganarle a cualquier regla del
   tema. La barra inferior se acota a nav.mobile-menu para no adelantar el resto de los .mobile-only
   (botones de submenú en Reservas, etc.). */
@media (max-width: 1024px) {
    .left-menu {
        display: none !important;
    }

    nav.mobile-menu.mobile-only {
        display: block !important;
    }
}

@media (max-width: 767px) {
    .btn-header {
        padding: 0 5px;
    }

    ::-webkit-scrollbar {
        height: 5px;
    }

    .mobile-only {
        display: block !important;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) {
    .footer {
        padding: 10px 24px 10px 75px;
        z-index: 0;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .quote-summary {
        margin-bottom: 25px;
    }
}

@media(max-width: 767px) {
    ul .sub-menu li.right {
        float: left;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    /*   ul.sub-menu {
        margin-bottom: 50px !important;
    }*/
    .row.title-row {
        margin-top: 60px;
    }

    ul.sub-menu {
        padding: 0px 10px 0px 20px;
    }
}

@media(min-device-width: 375px) and (max-device-width: 667px) and (orientation: portrait) {
    ul.sub-menu {
        float: none;
        margin-left: 12px !important;
    }
}

@media (min-width: 768px) {
    .modal-content {
        border: none;
        box-shadow: var(--shadow-1);
    }
}

@media(max-width:767px) {
    .modal-footer {
        display: flex;
        justify-content: flex-end
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .modal-content {
        max-width: 768px;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .k-toolbar {
        width: 100%;
    }
}


@media (max-width: 966px) {
    input.searchBox {
        width: 100%;
        margin-left: 15px;
    }

        input.searchBox:focus {
            width: 100%;
            transition: none;
        }

    li.searchBox {
        margin-right: 10px
    }
}

@media (max-width: 820px) {
    .site-title {
        display: none;
    }
}

@media (min-width: 1070px) and (max-width: 1320px) {
    .site-title {
        max-width: 400px;
    }
}

@media (min-width: 820px) and (max-width: 1070px) {
    .site-title {
        max-width: 250px;
    }
}
/* Ipad */

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    input.searchBox {
        width: 180px;
    }

        input.searchBox:focus {
            width: 180px;
            transition: none;
        }


    .site-title {
        font-size: 12.5px;
        font-weight: 400;
    }
}

@media(max-width:767px) {
    .bookingDetails {
        width: 100%;
    }

    .car-booking-detail {
        width: 100%;
    }
}

/* Phone-Mobile */

@media (max-width: 767px) {
    .schedule-service-description {
        width: 100%;
    }

    div.serviceCol {
        margin-left: 0;
        margin-top: 8px;
    }

    .nav-tabs {
        display: flex;
        font-size: 10.5px;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .image-container.model {
        width: 100%;
    }

    .chosen-container {
        width: 100% !important;
    }

    .plate-details {
        display: block;
    }

    .image-container.model {
        width: 100% !important;
    }

    .btn-group.dropleft {
        float: right;
    }

    ul.quick-access {
        padding: 0 5px;
    }

    a.dropdown-item {
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 200px;
        overflow: hidden
    }

    .dropdown-menu {
        box-shadow: none;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
    .chosen-container.chosen-container-multi {
        width: 100% !important;
    }
}

.dropdown-backdrop {
    z-index: 1 !important;
}

/*  Mobile Bottom Nav */

nav.mobile-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin-bottom: 0;
    width: 100%;
    z-index: 999;
}

nav ul.mobile-list {
    background-color: var(--neutral);
    box-shadow: var(--shadow-1);
    -webkit-box-shadow: var(--shadow-1);
    -moz-box-shadow: var(--shadow-1);
    display: flex;
    list-style-type: none;
    height: 56px;
    padding: 0;
    margin-bottom: -1px;
}

    nav ul.mobile-list li {
        color: var(--light-gray);
        flex: 1;
        padding: 7px;
        margin-left: 3px;
        text-align: center;
        cursor: pointer;
        transition: background-color 0.6s ease-out;
    }

        nav ul.mobile-list li a {
            color: var(--light-gray);
            display: flex;
            flex-direction: column;
            font-size: 13px
        }

        nav ul.mobile-list li.active {
            color: var(--orange);
            align-items: center;
        }

            nav ul.mobile-list li.active a {
                color: var(--orange);
                display: flex;
                flex-direction: column;
            }

.more-mobile-menu > li > a {
    display: flex;
    justify-content: space-evenly;
}

ul.dropdown-menu > .active > a {
    background: none;
    color: var(--orange)
}

    ul.dropdown-menu > .active > a:focus {
        color: var(--primary);
        background-color: var(--hover);
    }


button.btn-mobile.dropdown-toggle {
    background: none;
    border: none;
    padding: 7px 15px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    flex-direction: column;
    font-size: 13px;
}

ul.dropdown-menu.pull-right {
    box-shadow: var(--shadow-1);
}

ul.dropdown-menu.more-mobile-menu.pull-right {
    height: auto;
}

@media (max-width: 767px) {
    .edit-dashboard, .add-portlet {
        bottom: 70px !important;
        z-index: 998;
    }

    .k-grid .k-grid-search {
        margin-left: 0 !important;
        width: 100% !important
    }

    .second-line.xs > a {
        color: var(--primary) !important;
    }

    ::-webkit-scrollbar {
        display: none;
    }

    .ui-widget-content {
        width: auto !important;
    }

    .k-toolbar {
        height: auto;
    }

    button.k-button.k-button-icontext.k-grid-excel {
        margin-left: 0
    }

    .row-justify {
        display: block;
    }
}

.blue-uppercase {
    font-size: 12px;
    font-weight: 500;
    color: var(--blue);
    text-transform: uppercase;
    margin-bottom: 5px
}

.with-icon {
    background-color: var(--neutral) !important;
    display: flex;
}

    .with-icon:hover {
        background-color: var(--neutral) !important;
    }

.iconcolor-orange span {
    color: var(--orange);
}

.iconcolor-model-1 span {
    color: var(--model-1);
}

.iconcolor-externals span {
    color: #2b908f;
}

.iconcolor-status-canceled span {
    color: var(--status-canceled);
}

.iconcolor-blue span {
    color: var(--blue);
}

.iconcolor-primary span {
    color: var(--primary);
}

.with-icon .icon-container {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    align-content: center;
    padding-right: 20px;
    padding-left: 10px;
}

.with-icon div .title {
    color: var(--light-gray) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    margin-bottom: -20px !important;
    margin-top: 20px !important;
}

.with-icon div .content {
    color: var(--primary);
}

.with-icon.alternate-color-bg .icon-container .icon {
    background-color: var(--alternate);
    border-radius: 4px;
}

.portlet.miniPortlet.triple {
    width: 320px !important;
}

    .portlet.miniPortlet.triple div.title {
        min-width: 100px;
    }

.daily-report-porlet-container {
    border-radius: 5px;
    border: 1px solid #ebeff3;
    display: flex;
    align-items: end;
    margin-bottom: 20px;
}

.daily-report-porlet-circle {
    height: 25px;
    width: 25px;
    border-radius: 50%;
    margin: 15px;
}

.daily-report-porlet-text {
    height: 38px;
}

span.daily-report-porlet-circle.green {
    background-color: var(--green);
}

span.daily-report-porlet-circle.orange {
    background-color: var(--orange);
}

span.daily-report-porlet-circle.toreturncolor {
    background-color: #0fa9ff;
}

span.daily-report-porlet-circle.deliveredcolor {
    background-color: #605cf4;
}

span.daily-report-porlet-circle.gray {
    background-color: var(--gray);
}

a.command.k-button {
    display: inline-flex;
    border: 1px solid var(--border) !important;
    background-color: var(--rently-bg);
    order: 2;
    justify-content: flex-end;
    margin-left: auto !important;
}

.k-toolbar > .k-button {
    margin-right: 0px !important;
}

.scanned-document-img {
    max-width: 100%;
    margin: 10px 0 10px 0;
    border: 4px solid var(--blue);
    border-radius: 10px;
    cursor: pointer;
}

#popup-image-extended {
    overflow: scroll;
    height: 550px;
}

    #popup-image-extended img {
        max-width: 100%;
        cursor: pointer;
    }

@media (max-width: 768px) {
    .alertsTable.mobile-hidden-columns th:nth-child(4), .alertsTable.mobile-hidden-columns th:nth-child(5), .alertsTable.mobile-hidden-columns td:nth-child(4), .alertsTable.mobile-hidden-columns td:nth-child(5) {
        display: none;
    }
}

.golden-star-icon {
    color: #ffc107;
    font-size: 20px;
    position: relative;
    bottom: 2px;
}

.rating-client-template {
    position: relative;
    margin-left: 2px;
    bottom: 6px;
}

.rating-details {
    display: inline-flex;
    color: var(--primary);
    gap: 3px;
    align-items: flex-end;
    position: relative;
    vertical-align: middle;
    left: 3px;
    font-size: 14px;
    font-weight: 400;
    padding-right: 8px;
}

.incident-total-repair {
    margin-left: -5px;
}

    .incident-total-repair li:first-child .price-item-description strong,
    .incident-total-repair li:first-child .price-item-value strong {
        color: var(--gray) !important;
    }

    .incident-total-repair li:last-child {
        font-size: 15px;
    }

.alertDialog > .modal-dialog {
    width: auto;
    max-width: 50%;
}

.alertDialog .modal-body {
    word-wrap: break-word;
}

.form-group .btn-in-input {
    position: absolute;
    right: 8px;
    top: 55%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    font-size: 18px;
    color: var(--light-gray);
    cursor: pointer;
}

.tooltip-column {
    white-space: nowrap;
}

.k-tooltip {
    max-width: 300px;
    word-wrap: break-word;
    padding: 10px;
    background-color: #2E2D35 !important;
    color: #fff !important;
    border-radius: 5px;
}

#bo-tabs #ranges,
#bo-tabs #comments {
    max-height: 440px;
}

#bo-tabs #comments {
    overflow: auto;
}

.qr-div {
    max-width: 350px;
    justify-self: center;
}

#text-code {
    font-weight: bolder;
}

.session-timeout-clock {
    font-size: 64px;
    color: var(--orange);
}

#session-timeout-modal .modal-footer {
    text-align: center;
}

.k-grid .currency-toolbar-item {
    margin: 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: auto !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

    .k-grid .currency-toolbar-item:hover, .k-grid .currency-toolbar-item:active {
        background-color: transparent !important;
        box-shadow: none !important;
    }

    .k-grid .currency-toolbar-item .k-button-text {
        padding: 0 !important;
    }

    .k-grid .currency-toolbar-item select {
        margin: 0 !important;
        font-family: inherit;
        font-size: inherit;
        line-height: inherit;
        color: inherit;
    }

.secret-key {
    -webkit-text-security: disc;
}

.payment-gateway-logo {
    display: block;
    padding: 15px 0;
    max-height: 65px;
    object-fit: contain;
}

#contractPanel {
    margin-bottom: 0;
}

/* ===== Seguimiento de cuotas (#21513) — específico de la vista ===== */

/* Cabecera en banda porlet (mismo patrón que .tv-page-header de TariffVisualization). */
.scu-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    /* Banda full-bleed: el margen negativo cancela el padding lateral de .main-content (30px) y el padding
       propio de 30px realinea el texto con el contenido de abajo. */
    margin: 0 -30px 2px;
    padding: 18px 30px;
    background: var(--porlet);
}

    .scu-page-header h2 {
        margin: 0;
        font-size: 26px;
        font-weight: 400;
        line-height: 1.1;
        color: var(--primary);
    }

.scu-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    color: var(--gray);
}

/* Barra superior: tabs de moneda a la izquierda, búsqueda + exportar + nuevo plan a la derecha. */
.scu-toolbar-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 12px;
}

.scu-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}

/* Buscador externo: input con ícono de lupa embebido a la izquierda. */
.scu-search {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.scu-search-icon {
    position: absolute;
    left: 10px;
    font-size: 13px;
    color: var(--light-gray);
    pointer-events: none;
}

.scu-search-input {
    height: 32px;
    min-width: 280px;
    padding: 0 10px 0 28px;
    background: var(--neutral);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--primary);
    font-size: 13px;
    outline: none;
}

    .scu-search-input:focus {
        border-color: var(--blue);
    }

/* Botones de la barra: variantes "border" y "primary". */
.scu-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}

/* Es un <a>: fijamos el color en todos los estados para que ni el ícono ni el texto se pongan azules
       (el a:hover global de Rently lo teñía de azul). */
.scu-btn--border,
.scu-btn--border:hover,
.scu-btn--border:focus,
.scu-btn--border:active,
.scu-btn--border:visited {
    background: transparent;
    color: var(--primary);
    border-color: var(--primary);
}

.scu-btn--primary,
.scu-btn--primary:hover,
.scu-btn--primary:focus,
.scu-btn--primary:active,
.scu-btn--primary:visited {
    background: var(--primary);
    color: var(--neutral);
}

.scu-btn:hover,
.scu-btn:focus {
    text-decoration: none;
}

/* Los íconos del botón heredan el color del botón (anula reglas globales que pintan un ícono puntual, p. ej.
       `.fa.fa-external-link { color: var(--blue) }`). */
.scu-btn .fa {
    color: inherit;
}

.scu-currency-tabs {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    background: var(--rently-bg);
    border: 1px solid var(--line);
    border-radius: 8px;
}

.scu-currency-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--gray);
    cursor: pointer;
    font-size: 13px;
}

    .scu-currency-tab.active {
        background: var(--neutral);
        color: var(--primary);
        box-shadow: var(--shadow-1);
    }

.scu-currency-tab-code {
    font-weight: 700;
    letter-spacing: .5px;
}

.scu-currency-tab-total {
    font-size: 11px;
    color: var(--light-gray);
}

    /* Sin dato aún (antes del primer read) no ocupa lugar (ni el gap del tab) */
    .scu-currency-tab-total:empty {
        display: none;
    }

/* Barra de filtros externa: cada filtro es un pill (ícono + etiqueta + valor + flecha). */
.scu-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

/* El pill: contiene el ícono, la etiqueta y el DropDownList (que va sin borde por dentro). */
.scu-filter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 10px;
    background: var(--neutral);
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: 13px;
}

.scu-filter--active {
    background: var(--porlet);
    border-color: var(--blue);
}

.scu-filter-icon {
    font-size: 15px;
    color: var(--gray);
}

.scu-filter-label {
    margin: 0;
    font-weight: 400;
    font-size: 13px;
    color: var(--light-gray);
}

    .scu-filter-label::after {
        content: ":";
    }

/* DropDownList de Kendo embebido en el pill: sin caja propia (la caja es el pill), valor en color primario. */
.scu-filter .scu-filter-input.k-dropdown {
    flex: 1 1 auto;
    width: auto;
    min-width: 90px;
    background: transparent;
}

    .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap {
        display: flex;
        align-items: center;
        width: 100%;
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0;
    }

        /* Sin gris de Kendo al pasar el mouse / enfocar: la caja es el pill, el wrap queda siempre transparente. */
        .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap.k-state-hover,
        .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap.k-state-focused,
        .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap.k-state-active {
            background: transparent !important;
            box-shadow: none !important;
            border-color: transparent !important;
        }

        .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap .k-input {
            flex: 1 1 auto;
            padding: 0 4px 0 0;
            line-height: normal;
            color: var(--primary);
            font-weight: 500;
        }

        /* Flecha del dropdown: pegada a la derecha y reemplazada por un chevron FontAwesome (como el
           expand_more del prototipo) en lugar del ícono k-i-arrow-60-down de Kendo. */
        .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap .k-select {
            margin-left: auto;
            color: var(--gray);
            line-height: normal;
        }

            .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap .k-select .k-icon {
                display: none;
            }

            .scu-filter .scu-filter-input.k-dropdown .k-dropdown-wrap .k-select::after {
                content: "\f107";
                font-family: FontAwesome;
                font-size: 14px;
            }

/* Popup de los filtros con estética del prototipo: tarjeta redondeada con sombra, ítems con esquinas suaves,
   el seleccionado en porlet y hover gris. Scopeado con .scu-filter-popup (la agrega el JS al popup de estos 3
   DropDownList) para no tocar el resto de los combos de Rently.
   NOTA: el CSS de Kendo se carga DESPUÉS de site-new.css, así que para ganarle (sin pelear especificidad) usamos
   !important en las props clave. El OptionLabel ("Todos") NO es un .k-item: Kendo lo renderiza aparte como
   .k-list-optionlabel, por eso hay que estilarlo explícitamente o se ve crudo (con el recuadro azul de foco). */
/* El .k-animation-container que envuelve el popup tiene width inline y recorta: lo ensanchamos para que no corte
   la lista de 220px. overflow visible por si quedara algún clip. */
.scu-filter-popup-anim {
    min-width: 220px !important;
    overflow: visible !important;
    /* Un poco de aire entre el pill y el popup (como el proto, ~4px). El margin desplaza el contenedor
       absoluto hacia abajo respecto del `top` que setea Kendo. */
    margin-top: 4px !important;
}

.scu-filter-popup.k-list-container {
    /* Ancho mínimo como el prototipo (minWidth 220); con AutoWidth(true) el popup se ensancha al ítem más largo
       en vez de quedar atado al ancho angosto del pill. */
    min-width: 220px !important;
    border: 1px solid var(--line) !important;
    border-radius: 8px !important;
    box-shadow: var(--shadow-1) !important;
    padding: 4px;
}

.scu-filter-popup .k-list .k-item,
.scu-filter-popup .k-list-optionlabel {
    border-radius: 6px !important;
    padding: 6px 10px;
    font-size: 13px;
    color: var(--gray);
    /* Nombres largos en una sola línea (no se parten como pasaba al quedar el popup angosto). */
    white-space: nowrap;
    box-shadow: none !important; /* mata el recuadro/glow azul de foco de Kendo */
}

    /* Hover y foco de teclado: gris suave, sin el glow azul. */
    .scu-filter-popup .k-list .k-item.k-state-hover,
    .scu-filter-popup .k-list .k-item.k-state-focused,
    .scu-filter-popup .k-list .k-item:hover,
    .scu-filter-popup .k-list-optionlabel.k-state-hover,
    .scu-filter-popup .k-list-optionlabel.k-state-focused {
        background: var(--hover) !important;
        color: var(--primary) !important;
        box-shadow: none !important;
    }

    /* Seleccionado: porlet + texto primario (en vez del azul lleno de Kendo). Va después del hover/foco para
       ganar cuando el ítem está seleccionado y enfocado a la vez. */
    .scu-filter-popup .k-list .k-item.k-state-selected,
    .scu-filter-popup .k-list-optionlabel.k-state-selected {
        background: var(--porlet) !important;
        color: var(--primary) !important;
        font-weight: 500;
        box-shadow: none !important;
    }

.scu-filter-clear {
    margin-left: auto;
    padding: 0 8px;
    border: 0;
    background: transparent;
    color: var(--blue);
    cursor: pointer;
    font-size: 13px;
}

    .scu-filter-clear:hover {
        text-decoration: underline;
    }

/* ===== Grilla con estilo propio (scope .scu-grid): NO afecta a las demás grillas Kendo de Rently ===== */

/* En ventanas chicas la grilla scrollea horizontal: el wrapper recorta y la grilla mantiene un ancho mínimo
   (con Scrollable(false) es una sola tabla, así el header acompaña al body al scrollear). */
.scu-grid-wrap {
    overflow-x: auto;
}

    .scu-grid-wrap .scu-grid {
        min-width: 1200px;
    }

/* Alternancia de filas como el prototipo: par blanco (--neutral), impar gris suave (--rently-bg). Rently anula
   la cebra globalmente (`.k-alt { background: var(--neutral) }`, más arriba), así que la re-aplicamos solo
   dentro de .scu-grid. Pintamos el <tr> (no dependemos de .k-grid-content ni .k-master-row, que cambian según
   scrollable/detalle). El :hover se redeclara acá para que gane sobre la cebra (misma especificidad, va después). */
.scu-grid tbody > tr.k-alt {
    background-color: var(--rently-bg);
}

/* Sin highlight gris al pasar el mouse: cada fila mantiene su color de cebra en :hover (anula el hover global
   de Rently `.k-grid tr:hover → var(--hover)`). */
.scu-grid tbody > tr:hover {
    background-color: var(--neutral);
}

.scu-grid tbody > tr.k-alt:hover {
    background-color: var(--rently-bg);
}

/* Fila expandida (master): resaltada en porlet como el prototipo (la clase la togglean los eventos
   DetailExpand/DetailCollapse en JS). Pintamos los <td> con !important para ganarle al color de cebra del <tr>
   y a la regla global de selección de Rently (`.k-grid tr.k-state-selected td → var(--hover)`). */
.scu-grid tbody > tr.scu-row-open > td {
    background-color: var(--porlet) !important;
}

/* El panel de detalle (fila expandida) va SIEMPRE sin color (blanco), como el prototipo. */
.scu-grid tbody > tr.k-detail-row > td {
    background-color: var(--neutral) !important;
}

.scu-grid tbody > tr.k-master-row {
    cursor: pointer;
}

/* Footer de la grilla oculto: los aggregates alimentan la barra de totales, no un footer visible. */
.scu-grid .k-grid-footer {
    display: none;
}

/* Esquinas superiores redondeadas (como la card del prototipo): redondeamos el wrapper del grid y el header,
   con overflow hidden para que las celdas de los extremos recorten contra la curva. */
.scu-grid.k-grid {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.scu-grid .k-grid-header {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    overflow: hidden;
}

    /* Headers estilo prototipo: MAYÚSCULAS, 11px, gris claro, weight 500, fondo --rently-bg. Rently pisa .k-header
   con !important (bg --hover, color --primary), así que re-aplicamos con !important + más especificidad. */
    .scu-grid .k-grid-header,
    .scu-grid .k-grid-header .k-header {
        background-color: var(--rently-bg) !important;
    }

        /* Sin líneas verticales entre headers (como el proto): solo el borde inferior. */
        .scu-grid .k-grid-header .k-header {
            border-left: 0 !important;
            border-right: 0 !important;
            border-bottom: 1px solid var(--line);
        }

        .scu-grid .k-grid-header .k-header,
        .scu-grid .k-grid-header .k-link,
        .scu-grid .k-grid-header .k-link:link {
            color: var(--light-gray) !important;
            font-size: 11px;
            font-weight: 500;
            letter-spacing: .5px;
            text-transform: uppercase;
        }

        .scu-grid .k-grid-header .k-icon.k-i-sort-asc-sm,
        .scu-grid .k-grid-header .k-icon.k-i-sort-desc-sm {
            font-size: 13px;
        }

        .scu-grid .k-grid-header .k-i-sort-asc-sm:before,
        .scu-grid .k-grid-header .k-i-sort-desc-sm:before {
            color: var(--light-gray);
        }

/* Íconos-botón de acciones: los <a> fijan el gris para anular el `a { color: var(--blue) }` global. */
.scu-row-actions {
    display: flex;
    gap: 4px;
}

.scu-row-action,
.scu-row-action:link,
.scu-row-action:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--neutral);
    color: var(--gray);
}

    .scu-row-action .fa {
        font-size: 14px;
        color: inherit;
    }

    .scu-row-action:hover,
    .scu-row-action:focus {
        background: var(--hover);
        color: var(--primary);
        text-decoration: none;
    }

.scu-grid .scu-actions-cell {
    vertical-align: middle;
}

.scu-concept-head {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
}

.scu-concept-name {
    font-weight: 500;
    color: var(--primary);
}

.scu-concept-id {
    font-size: 11px;
    color: var(--blue);
}

.scu-concept-sub {
    font-size: 12px;
    line-height: 1.4;
    color: var(--gray);
}

.scu-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--gray);
}

.scu-cat-dot {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    flex: none;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
}

/* Ícono de expandir/colapsar la fila: como el prototipo, un chevron chico que rota 90° al abrir. Reemplazamos el
   glifo de Kendo (k-i-expand/k-i-collapse) por un chevron de Font Awesome (ya cargado en Rently). */
.scu-grid .k-hierarchy-cell .k-icon {
    font-family: FontAwesome;
    font-size: 11px;
    color: var(--gray);
    transition: transform .15s ease;
}

.scu-grid .k-hierarchy-cell .k-i-expand::before,
.scu-grid .k-hierarchy-cell .k-i-collapse::before {
    font-family: FontAwesome;
    content: "\f054"; /* fa-chevron-right */
}

.scu-grid .k-hierarchy-cell .k-i-collapse {
    transform: rotate(90deg);
}

/* Sin recuadro de focus al clickear (el ícono es un <a>: le sacamos outline/box-shadow). */
.scu-grid .k-hierarchy-cell .k-icon:focus,
.scu-grid .k-hierarchy-cell .k-icon:active {
    outline: none;
    box-shadow: none;
    text-decoration: none;
}

/* Barra-footer de totales, apoyada bajo la grilla (border-top:0 + esquinas inferiores). */
.scu-summary-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    padding: 10px 16px;
    background: var(--neutral);
    border: 1px solid var(--line);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    font-size: 12px;
    color: var(--light-gray);
}

.scu-summary-bar-count strong {
    color: var(--primary);
    font-weight: 600;
}

.scu-summary-bar-totals {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 16px;
}

/* Valor de cada total: coloreado por tipo (mismos colores que los estados del plan). El !important es para
   ganarle a la regla global `strong { color: var(--primary) !important }` (mismo patrón que strong.green-line). */
.scu-sum {
    font-weight: 600;
}

.scu-sum--paid {
    color: var(--green) !important;
}

.scu-sum--projected {
    color: var(--orange) !important;
}

.scu-sum--overdue {
    color: var(--red) !important;
}

/* Modificadores de estado del plan (reusan la pill .rly-status) */
.scu-status--paid {
    background-color: var(--light-green);
    border-color: var(--green);
    color: var(--green);
}

.scu-status--pending {
    background-color: var(--rently-bg);
    border-color: var(--border);
    color: var(--gray);
}

.scu-status--duesoon {
    background-color: var(--light-orange);
    border-color: var(--orange);
    color: var(--orange);
}

.scu-status--overdue {
    background-color: var(--red-hover);
    border-color: var(--red);
    color: var(--red);
}

.scu-nextdue {
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.scu-nextdue-rel {
    font-size: 11px;
    line-height: 1.4;
}

.scu-nextdue-rel--overdue {
    color: var(--red);
}

.scu-nextdue-rel--soon {
    color: var(--orange);
}

.scu-nextdue-rel--far {
    color: var(--light-gray);
}

.scu-advance {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

/* Barra segmentada: pagadas (verde) / vencidas (rojo) / proyectadas (rayado naranja), sobre riel gris. */
.scu-progress {
    display: flex;
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--rently-bg);
    border: 1px solid var(--line);
}

.scu-progress-seg--paid {
    background: var(--green);
}

.scu-progress-seg--overdue {
    background: var(--red);
}

.scu-progress-seg--projected {
    flex: 1;
    background: repeating-linear-gradient(45deg, var(--light-orange) 0 3px, var(--orange) 3px 4px);
    opacity: .55;
}

/* Línea de conteo: "pagadas · vencidas · proyectadas / total" coloreada. */
.scu-progress-counts {
    font-size: 11px;
    color: var(--gray);
    font-variant-numeric: tabular-nums;
}

.scu-progress-n--paid {
    color: var(--green);
}

.scu-progress-n--overdue {
    color: var(--red);
}

.scu-progress-n--projected {
    color: var(--gray);
}

.scu-progress-n--total {
    color: var(--light-gray);
}

/* Fila expandible: 3 columnas — total acordado · próximas cuotas · acción. */
.scu-detail {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) 3fr auto;
    gap: 24px;
    align-items: start;
    padding: 16px 20px;
}

/* Etiqueta de sección (mayúsculas, atenuada) — compartida izquierda/centro. */
.scu-detail-summary-label,
.scu-detail-upcoming-label {
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 11px;
    font-weight: 600;
    color: var(--light-gray);
}

/* Columna izquierda: total acordado. Un poco más a la izquierda (alineado con el inicio de la fila). */
.scu-detail-summary {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-left: -8px;
}

.scu-detail-summary-value {
    font-size: 18px;
    font-weight: 600;
    color: var(--primary);
}

.scu-detail-summary-meta {
    font-size: 12px;
    color: var(--gray);
}

/* Columna central: próximas cuotas en tarjetas. */
.scu-detail-upcoming-label {
    margin-bottom: 8px;
}

.scu-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

/* Tarjeta de cuota: mini-card de ancho fijo (no se estira con pocas), compacta para que entren las 6 en un
   notebook 14". */
.scu-card {
    position: relative;
    flex: 0 0 104px;
    padding: 5px 7px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--neutral);
    text-align: center;
}

.scu-card--paid {
    background: var(--light-green);
}

.scu-card-label {
    font-size: 10px;
    color: var(--light-gray);
}

.scu-card-date {
    margin-top: 2px;
    font-size: 11px;
    color: var(--primary);
}

.scu-card-year {
    color: var(--light-gray);
}

.scu-card-amount {
    margin: 2px 0 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--primary);
}

/* El pill de estado dentro de la tarjeta: separado del monto y centrado. */
.scu-card .rly-status {
    display: inline-flex;
}

/* Tarjeta clickeable (cuota materializada → su gasto): un link que cubre toda la card. */
.scu-card--link {
    cursor: pointer;
}

    .scu-card--link:hover {
        border-color: var(--blue);
    }

.scu-card-link-cover {
    position: absolute;
    inset: 0;
}

/* Columna derecha: acción (arriba, alineada con las etiquetas de sección, como el prototipo). */
.scu-detail-actions {
    align-self: start;
    margin-top: -6px;
}

.scu-detail-empty {
    padding: 8px 0;
    color: var(--light-gray);
    font-size: 13px;
}

/* ===== Proyección financiera (#21741) — específico de la vista (grilla pivot tipo cashflow) ===== */

/* Cabecera en banda porlet (mismo patrón que .scu-page-header de Seguimiento de cuotas / .tv-page-header). */
.fp-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    /* Banda full-bleed: el margen negativo cancela el padding lateral de .main-content (30px) y el padding
       propio de 30px realinea el texto con el contenido de abajo. */
    margin: 0 -30px 2px;
    padding: 18px 30px;
    background: var(--porlet);
}

    .fp-page-header h2 {
        margin: 0;
        font-size: 26px;
        font-weight: 400;
        line-height: 1.1;
        color: var(--primary);
    }

/* Barra superior: tabs de moneda arriba (mismo patrón que .scu-toolbar-row). */
.fp-toolbar-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 12px;
}

.fp-actions {
    display: inline-flex;
    /* flex-start: la columna del horizonte (segmento + rango) y los botones arrancan arriba; los botones se
       centran contra el segmento vía .fp-actions-btns, y el rango cuelga debajo sin desplazarlos. */
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    /* Alineadas a la derecha del toolbar. Con margin-left:auto quedan a la derecha aunque la botonera de
       monedas no se renderice (una sola moneda); con 2+ monedas el resultado es identico a space-between. */
    margin-left: auto;
}

/* Columna del horizonte: segmento arriba y el rango personalizado debajo, alineado a la DERECHA del
   segmento (align-items:flex-end). */
.fp-horizon-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

/* Exportar/Imprimir centrados contra el segmento (min-height = alto del segmento); quedan fijos arriba
   aunque se abra el rango. */
.fp-actions-btns {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
}


/* Control segmentado (horizonte) — valores fijos de diseño: contenedor blanco con borde, sin padding
   ni gap; los botones lo llenan y overflow:hidden recorta las esquinas del botón activo. Texto a la
   izquierda (align-items:flex-start); main 13px y sub 10px, sin separación entre líneas. */
.fp-segment {
    display: inline-flex;
    background: var(--neutral);
    /* Borde como box-shadow inset (no `border` real). SIN overflow:hidden: el recorte del contenedor
       redondeado dejaba un seam claro de 1px sobre el botón activo (visible a 1x). Los botones extremos
       ya redondean sus esquinas externas (8px), así que el segmento se ve redondeado sin recortar. */
    box-shadow: inset 0 0 0 1px var(--border);
    border-radius: 8px;
}

.fp-segment-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    /* margin 0: un margin heredado de `button` (reset/Bootstrap) dejaba un hueco a la derecha del
       último botón donde asomaba el fondo blanco del contenedor (el "blanco" en la esquina). */
    margin: 0;
    padding: 6px 14px;
    border: 0;
    background: transparent;
    color: var(--gray);
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
}

.fp-segment-main {
    font-size: 13px;
}

.fp-segment-sub {
    font-size: 10px;
    color: var(--light-gray);
}

/* Botón activo: fondo oscuro, texto blanco, main un poco más marcado (500). */
.fp-segment-btn.active {
    background: var(--primary);
    color: var(--neutral);
    font-weight: 500;
}

    .fp-segment-btn.active .fp-segment-sub {
        color: rgba(255, 255, 255, .6);
    }

/* Redondea el fondo del botón en las esquinas externas al MISMO radio del contenedor (8px; sin `border`
   real no hay que restar 1). Así el fondo del botón activo llena la esquina sin depender de que
   overflow:hidden recorte (que dejaba un arco claro en la esquina). */
.fp-segment-btn:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.fp-segment-btn:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.fp-segment--compact .fp-segment-btn:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.fp-segment--compact .fp-segment-btn:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

/* Segmento compacto de 1 línea (Agrupar por): mismo look que el horizonte pero más chico
   (padding 5px 12px, contenedor radio 6). */
.fp-segment--compact {
    border-radius: 6px;
}

    .fp-segment--compact .fp-segment-btn {
        padding: 5px 12px;
    }

/* Botón de la barra, variante "border": borde --primary, radio 8, padding 0 12px,
   ~32px de alto (no se estira; queda centrado contra el segmento). */
.fp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}

    .fp-btn:hover,
    .fp-btn:focus {
        text-decoration: none;
    }

    /* Los íconos heredan el color del botón (anula reglas globales que pintan un ícono puntual de azul).
       Tamaño 15px (16px del ícono material). */
    .fp-btn .fa {
        color: inherit;
        font-size: 15px;
    }

/* Es un <a>: fijamos el color en todos los estados para que ni el ícono ni el texto se pongan azules
   (el a:hover global de Rently lo teñía de azul). */
.fp-btn--border,
.fp-btn--border:hover,
.fp-btn--border:focus,
.fp-btn--border:active,
.fp-btn--border:visited {
    background: transparent;
    color: var(--primary);
    border-color: var(--primary);
}

/* Tabs de moneda tipo pill (mismo estilo que .scu-currency-tabs). */
.fp-currency-tabs {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    background: var(--rently-bg);
    border: 1px solid var(--line);
    border-radius: 8px;
}

.fp-currency-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--gray);
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
}

    .fp-currency-tab.active {
        background: var(--neutral);
        color: var(--primary);
        box-shadow: var(--shadow-1);
    }

.fp-currency-tab-code {
    font-weight: 700;
    letter-spacing: .5px;
}

/* Total proyectado de la moneda dentro de su propio tab (AC3) */
.fp-currency-tab-total {
    font-size: 11px;
    color: var(--light-gray);
}

    /* Sin dato aún (antes del primer read) no ocupa lugar (ni el gap del tab) */
    .fp-currency-tab-total:empty {
        display: none;
    }

/* Zona de controles fuera de panel: una sola barra con "Agrupar por" + segmento + pills de filtro +
   "Expandir todo". Separación amplia (~40px) entre el grupo de Agrupar por y los filtros; row-gap
   chico por si envuelve en pantallas angostas. */
.fp-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 60px;
    margin: 0 0 16px;
}

.fp-controls-groupby {
    display: flex;
    align-items: center;
    gap: 12px;
}

.fp-controls-label {
    font-size: 13px;
    color: var(--gray);
}

/* Barra de filtros: pills en fila (mismo pill que .scu-filter del Seguimiento de cuotas). */
.fp-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.fp-filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 10px;
    background: var(--neutral);
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: 13px;
}

.fp-filter-icon {
    font-size: 15px;
    color: var(--gray);
}

.fp-filter-label {
    margin: 0;
    font-weight: 400;
    font-size: 13px;
    color: var(--light-gray);
}

    .fp-filter-label::after {
        content: ":";
    }

.fp-filter-caret {
    font-size: 12px;
    color: var(--light-gray);
    pointer-events: none;
}

/* "Expandir todo" al final de la barra, empujado a la derecha. Borde liviano (no el oscuro de Exportar)
   para que no compita con los pills. */
.fp-toggle-all {
    margin-left: auto;
    background: var(--neutral);
    height: 28px;
    border-color: var(--primary) !important;
    color: var(--primary) !important;
}

    /* Ícono Material (unfold_more/less) y label: color oscuro forzado (no gris). */
    .fp-toggle-all .fp-toggle-icon,
    .fp-toggle-all #fpToggleLabel {
        color: var(--primary) !important;
    }

    .fp-toggle-all .fp-toggle-icon {
        font-size: 18px;
        vertical-align: middle;
    }

/* Chosen embebido en el pill: sin caja propia (la caja es el pill), valor en color primario, sin la flecha
   propia de Chosen (usamos .fp-filter-caret). */
.fp-filter-pill .chosen-container {
    width: auto !important;
    min-width: 60px;
    font-size: 13px;
    /* chosen.css (customizado en Rently) le pone borde con !important: hay que anularlo para que la caja sea
       el pill y no quede un recuadro interno. */
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.fp-filter-pill .chosen-container-single .chosen-single {
    height: auto !important;
    padding: 0 !important;
    line-height: normal;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--primary);
}

    .fp-filter-pill .chosen-container-single .chosen-single span {
        margin: 0;
    }

    /* Oculta la flecha sprite de Chosen (usamos nuestro chevron .fp-filter-caret). */
    .fp-filter-pill .chosen-container-single .chosen-single div {
        display: none;
    }

/* El popup mantiene el estilo default de Chosen, solo alineado bajo el pill. */
.fp-filter-pill .chosen-container .chosen-drop {
    min-width: 160px;
}

/* Rango personalizado: bloque bajo el segmento (dentro de .fp-horizon-col, alineado a su derecha).
   Caja de fechas + presets en una línea. */
.fp-customrange {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

/* Caja redondeada que envuelve ambas fechas + flecha (los inputs van sin borde
   propio y se funden en la caja; cada fecha lleva un ícono de calendario a la izquierda). */
.fp-daterange {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 4px 0 12px;
    background: var(--neutral);
    border: 1px solid var(--border);
    border-radius: 10px;
}

.fp-date-field {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fp-date-icon {
    color: var(--light-gray);
    font-size: 13px;
}

/* Input nativo (type=date): campo gris con borde un tono más oscuro que el fondo, redondeado.
   El borde va con !important porque .form-control global lo fuerza con !important. */
.fp-date-input.form-control {
    width: 118px;
    height: 24px;
    padding: 0 8px;
    background: var(--rently-bg);
    border: 1px solid var(--line) !important;
    border-radius: 6px;
    box-shadow: none;
    font-size: 13px;
    color: var(--primary);
}

.fp-date-arrow {
    color: var(--light-gray);
}

/* Presets rápidos de rango (AC4): pills chicos con borde. */
.fp-presets {
    display: inline-flex;
    gap: 4px;
    margin-left: 8px;
    vertical-align: middle;
}

.fp-preset.btn {
    padding: 0 10px;
    background: var(--neutral);
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--gray);
    font-size: 12px;
}

    .fp-preset.btn:hover {
        border-color: var(--primary);
        color: var(--primary);
    }

.fp-hidden {
    display: none;
}

/* El scroll horizontal vive en el cuerpo para que el pie (fp-footer-note) quede fijo al pie de la
   tarjeta y no se desplace con la tabla; padding 0 deja la tabla y el pie a ras. */
.fp-report-panel > .panel-body {
    /* Scroll interno: el encabezado (thead sticky top) y la fila Total
       (sticky bottom) quedan congelados mientras se recorre la tabla. El offset de max-height
       depende de la altura del layout (nav + cabecera + toolbar + filtros); ajustar si hace falta. */
    overflow: auto;
    max-height: calc(100vh - 340px);
    /* Anula el `padding: 16px 24px 21px !important` global de .panel-body para que la tabla y el
       pie lleguen a ras de los bordes de la tarjeta. */
    padding: 0 !important;
}

/* Tabla pivot */
.fp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    /* Números en monoespaciada; las etiquetas de la 1ª columna vuelven a sans. */
    font-family: 'Roboto Mono', 'Consolas', 'Menlo', 'Courier New', monospace;
}

    .fp-table th,
    .fp-table td {
        padding: 10px;
        line-height: 1.5;
        border-bottom: 1px solid var(--line);
        white-space: nowrap;
    }

    .fp-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--rently-bg);
        color: var(--light-gray);
        text-transform: uppercase;
        font-size: 11px;
        font-weight: 500;
        letter-spacing: .5px;
    }

        /* Encabezado de la columna Total: color primario y borde izquierdo. */
        .fp-table thead th:last-child {
            color: var(--primary);
            border-left: 1px solid var(--line);
        }

    /* Solo las columnas de período son clickeables para resaltar (no la cabecera de grupo ni Total) */
    .fp-table th.fp-colhead {
        cursor: pointer;
    }

    .fp-table th.fp-rowhead,
    .fp-table td.fp-rowhead {
        position: sticky;
        left: 0;
        z-index: 2;
        background: var(--neutral);
        text-align: left;
        min-width: 220px;
        /* Padding horizontal 14px (la columna congelada respira más). */
        padding-left: 14px;
        padding-right: 14px;
        /* Divisor vertical de la columna congelada + etiquetas en sans (los números van en mono). */
        border-right: 1px solid var(--line);
        font-family: Roboto, "Segoe UI", Verdana, Helvetica, sans-serif;
    }

    .fp-table thead th.fp-rowhead {
        background: var(--rently-bg);
        z-index: 3;
    }

    .fp-table td.fp-num,
    .fp-table th.fp-num {
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

.fp-col-sub {
    font-weight: 400;
    text-transform: none;
}

.fp-group-row {
    font-weight: 500;
}

    /* Etiqueta y números de la fila de grupo en color primario. */
    .fp-group-row td {
        color: var(--primary);
    }

    .fp-group-row .fp-rowhead {
        cursor: pointer;
    }

    /* Cebra: filas de grupo impares con fondo alterno (i % 2). Va como
       background-color para que el heatmap (background-image) se superponga y la deje verse.
       Dark-mode safe: --rently-bg tiene valores para ambos temas. */
    .fp-group-row.fp-zebra td,
    .fp-table .fp-group-row.fp-zebra td.fp-rowhead {
        background-color: var(--rently-bg);
    }

    /* Hover por encima de la cebra, sobre toda la fila (incluida la columna fija). */
    .fp-group-row:hover td,
    .fp-table .fp-group-row:hover td.fp-rowhead {
        background-color: var(--hover);
    }

.fp-cell-clickable {
    cursor: pointer;
}

.fp-plan-row td {
    color: var(--gray);
    font-weight: 400;
}

/* Celda del plan hijo: sin padding propio; el link lo aporta y así toda la celda es clickeable. */
.fp-plan-cell {
    padding: 0 !important;
}

/* Link al detalle del plan (AC6): ocupa toda la celda (dot + nombre + subdato). */
.fp-plan-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px 7px 44px;
    line-height: 1.3;
    color: var(--primary);
    text-decoration: none;
    cursor: pointer;
}

    .fp-plan-link:hover {
        color: var(--primary);
        background-color: var(--hover);
    }

/* Puntito de color del plan: swatch más chico y atenuado, con el color de su categoría/grupo. */
.fp-plan-dot {
    flex: 0 0 auto;
    width: 4px;
    height: 14px;
    border-radius: 1px;
    opacity: .5;
    background: var(--fp-color, var(--border));
}

.fp-plan-body {
    min-width: 0;
}

.fp-plan-name {
    display: block;
    color: var(--primary);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 260px;
}

/* Id del schedule resaltado (sin prefijo). */
.fp-plan-code {
    color: var(--blue);
}

/* Subdato: id · proveedor, atenuado. */
.fp-plan-sub {
    display: block;
    font-size: 10px;
    color: var(--light-gray);
    margin-top: 1px;
}

.fp-total-row td {
    background: var(--primary);
    color: var(--neutral);
    font-weight: 500;
    position: sticky;
    bottom: 0;
    z-index: 2;
    /* Fila Total claramente más alta que las de datos (~1.5×). */
    padding: 16px 10px;
}

/* Celda-etiqueta ("Total ARS"): es la esquina fija, mantiene el fondo oscuro de la fila
       (gana sobre .fp-table td.fp-rowhead, que la pintaría de blanco). */
.fp-table .fp-total-row td.fp-rowhead {
    background: var(--primary);
    color: var(--neutral);
    z-index: 3;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 11px;
    padding: 16px 14px;
    border-right: 1px solid var(--line);
}

/* Grand total resaltado en naranja y algo mayor. */
.fp-total-row td.fp-grand {
    color: var(--orange);
    font-size: 14px;
    padding: 16px 14px;
    border-left: 1px solid var(--line);
}

    [data-theme="dark"] .fp-total-row td.fp-grand {
        color: #b45309;
    }

/* Chevron de expandir/colapsar: mismo ícono y estilo que el seguimiento de cuotas (scu):
   Font Awesome fa-chevron-right (\f054), gris, que rota 90° al abrir. */
.fp-chevron {
    display: inline-block;
    width: 14px;
    font-family: "FontAwesome";
    font-size: 11px;
    color: var(--gray);
    transition: transform .15s ease;
}

    .fp-chevron::before {
        content: "\f054";
    }

    .fp-chevron.open {
        transform: rotate(90deg);
    }

/* Head de la fila de grupo: chevron · swatch · nombre en flex con gap. */
.fp-grouphead {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fp-color-bar {
    flex: 0 0 auto;
    width: 6px;
    height: 18px;
    border-radius: 1px;
    /* Color de la categoría/grupo (dato dinámico vía --fp-color, como el patrón de --fp-heat). */
    background: var(--fp-color, var(--border));
}

/* Heatmap: recuadro inset con esquinas redondeadas (no llena la celda). La cebra/fondo se ve
   alrededor; el número (.fp-cell-val) queda por encima.
   Intensidad dinámica vía --fp-heat (único dato inline). */
.fp-cell-heat {
    position: relative;
    contain: paint; /* no quitar: aísla el ::before, si no se derrama en el repaint (22068) */
}

    .fp-cell-heat::before {
        content: "";
        position: absolute;
        inset: 4px;
        border-radius: 3px;
        background-color: rgba(var(--orange-rgb), var(--fp-heat, 0));
        pointer-events: none;
    }

.fp-cell-val {
    position: relative;
}

/* Resaltado de columna al click (AC5). Clase sin guion: un nombre con "col-" activaría el reset
   global `table td[class*="col-"] { position: static }` y rompería el sticky (22068). */
.fp-table thead th.fp-colactive {
    color: var(--primary);
    background-color: var(--rently-bg);
    background-image: linear-gradient(rgba(var(--orange-rgb), .12), rgba(var(--orange-rgb), .12));
}

.fp-table td.fp-colactive {
    background: rgba(var(--orange-rgb), .08);
    box-shadow: inset 1px 0 0 rgba(var(--orange-rgb), .4), inset -1px 0 0 rgba(var(--orange-rgb), .4);
}

.fp-total-row td.fp-colactive {
    background: #1f2754;
    color: #fff;
    box-shadow: inset 0 0 0 1px var(--orange);
}

/* Pie / leyenda: franja del pie de la tarjeta, separada por un borde superior y dentro del panel
   (no flotando debajo del scroll). */
.fp-footer-note {
    margin: 0;
    padding: 10px 16px;
    border-top: 1px solid var(--line);
    font-size: 12px;
    color: var(--light-gray);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.fp-fiscal {
    font-style: italic;
}

.fp-empty {
    padding: 24px;
    text-align: center;
    color: var(--light-gray);
}

/* Encabezado del reporte que solo se muestra al imprimir; lo completa fpPrint(). */
.fp-print-header {
    display: none;
}

/* ===== Impresión del reporte de proyección financiera (window.print) =====
   site-new.css se carga en todas las vistas, así que estas reglas usan solo clases .fp-* propias.
   La orientación horizontal (@page size: landscape) NO va acá: se declara scopeada a esta vista con
   un <style media="print"> en la propia FinancialProjection.cshtml, para no forzar landscape en la
   impresión del resto de la app y para evitar los named-page (frágiles en la impresión interactiva).
   Estas reglas neutralizan además el salto de página que site-print.css fuerza en cada .panel. */
@media print {
    /* El site-print.css global pone .content-wrapper como position:absolute; top:0; width:100%.
       El position:absolute + top:0 es NECESARIO: trae el reporte al tope de la hoja por encima del
       header/menú que, aunque invisibles al imprimir, siguen ocupando alto; sin eso el reporte cae a
       una 2ª página y la 1ª sale en blanco. Por eso NO se toca position: solo se acota el ancho a la
       hoja con left/right (el width:100% resolvía más ancho que la página y cortaba la última columna
       y el pie). Scopeado a esta vista (body.fp-report-view) para no afectar otras impresiones. */
    body.fp-report-view .content-wrapper.main-content.clear-fix {
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
    }

    /* El site-print.css global solo oculta el chrome con visibility:hidden, así que sigue ocupando
       alto de flujo (header + menú) y genera una página en blanco de arrastre. Scopeado a esta vista
       lo colapsamos con display:none: todo lo que cuelga del body salvo #body, y dentro de #body todo
       salvo el contenedor del reporte. Así la hoja queda solo con el reporte, sin páginas vacías. */
    body.fp-report-view > *:not(#body) {
        display: none !important;
    }

    body.fp-report-view #body > *:not(.content-wrapper) {
        display: none !important;
    }

    /* Oculta controles: encabezado de página, barra de acciones (incluye horizonte + rango) y filtros. */
    .fp-page-header,
    .fp-toolbar-row,
    .fp-controls {
        display: none !important;
    }

    /* El reporte ocupa la hoja; se permite el corte de la tabla entre páginas
       y se anula el salto de página forzado que site-print.css aplica a cada .panel. */
    .fp-report-panel {
        page-break-before: avoid !important;
        page-break-inside: auto !important;
        margin: 0 !important;
        border: none !important;
        box-shadow: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

        .fp-report-panel > .panel-body {
            padding: 0 !important;
            overflow: visible !important;
            max-height: none !important;
        }

    /* Muestra el encabezado de impresión. */
    .fp-print-header {
        display: block;
        margin-bottom: 12px;
    }

    .fp-print-title {
        margin: 0 0 6px;
        font-size: 16pt;
    }

    .fp-print-meta,
    .fp-print-filters {
        font-size: 9pt;
        line-height: 1.5;
    }

    .fp-print-meta-item {
        margin-right: 18px;
        white-space: nowrap;
    }

    .fp-print-meta-label {
        font-weight: 600;
    }

    .fp-print-filters {
        margin-top: 2px;
    }

    /* La tabla imprime completa: repite la cabecera de columnas en cada página y evita partir filas. */
    .fp-table {
        width: 100% !important;
        table-layout: fixed !important;
        font-size: 7.5pt !important;
        border-collapse: collapse !important;
    }

        .fp-table thead {
            display: table-header-group;
        }

        .fp-table tr {
            page-break-inside: avoid;
        }

        .fp-table th,
        .fp-table td {
            border: 1px solid var(--line) !important;
            /* Padding chico y sin sticky para que la tabla ancha (hasta ~13 columnas) entre en la hoja
           sin recortar la última columna; el sticky/left no aplica en papel. */
            padding: 3px 5px !important;
            position: static !important;
        }

            /* La primera columna (grupo) deja de reservar 220px para que las columnas de período quepan. */
            .fp-table th.fp-rowhead,
            .fp-table td.fp-rowhead {
                min-width: 0 !important;
                width: 16%;
                white-space: normal !important;
                word-break: break-word;
            }

    /* Los links de plan salen como texto plano al imprimir. */
    .fp-plan-link {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* Se mantiene la nota al pie (leyenda + nota fiscal). */
    .fp-footer-note {
        margin-top: 10px;
        border-top: 1px solid var(--line);
    }
}

/* ── Car details: rich vehicle header (patente + modelo + estado + rating / color · caja · año · km · combustible · sucursal).
   Clases con prefijo vh- para no chocar con clases globales (.title-row, .badge, .meta, .rating, etc.). ── */
.vehicle-head {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .vehicle-head .vh-title-row {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        margin: 0;
    }

    .vehicle-head .vh-plate {
        font-family: monospace;
        font-weight: 700;
        font-size: 14px;
        letter-spacing: .5px;
        padding: 4px 10px;
        border-radius: 6px;
        background: var(--hover);
        color: var(--primary);
        border: 1px solid var(--border);
        white-space: nowrap;
    }

    .vehicle-head h1 {
        margin: 0;
        font-size: 22px;
        font-weight: 600;
        color: var(--primary);
        line-height: 1;
    }

    /* El pill de estado usa .b-3 (position:relative; bottom:3px) pensado para ir inline dentro del viejo
       <h2>; en la fila flex lo descentra, así que lo neutralizamos y dejamos que flex lo centre. */
    .vehicle-head .vh-title-row .pills {
        position: static;
        bottom: auto;
        align-self: center;
        margin: 0;
    }

    /* El rating (partial CustomerFeedbackRating) se empuja al extremo derecho y se centra vertical. El
       partial trae offsets inline (bottom:6px / vertical-align:super) para el contexto inline original;
       acá los neutralizamos (!important porque son estilos inline) y centramos estrella + número. */
    .vehicle-head .vh-rating {
        margin-left: auto;
        display: inline-flex;
        align-items: center;
    }

        .vehicle-head .vh-rating .rating-details,
        .vehicle-head .vh-rating .rating-details > div,
        .vehicle-head .vh-rating .rating-details > a {
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

            .vehicle-head .vh-rating .rating-details span,
            .vehicle-head .vh-rating .rating-details a {
                position: static !important;
                bottom: auto !important;
                vertical-align: middle !important;
            }

    .vehicle-head .vh-subtitle {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
        color: var(--gray);
        font-size: 13px;
    }

        .vehicle-head .vh-subtitle .vh-meta {
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

            .vehicle-head .vh-subtitle .vh-meta svg {
                width: 16px;
                height: 16px;
                fill: none;
                stroke: currentColor;
                stroke-width: 1.8;
                stroke-linecap: round;
                stroke-linejoin: round;
                flex: none;
            }

            .vehicle-head .vh-subtitle .vh-meta b {
                font-weight: 600;
                color: var(--primary);
            }

        .vehicle-head .vh-subtitle .vh-swatch {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            border: 1px solid rgba(0, 0, 0, .2);
            display: inline-block;
            flex: none;
        }

        .vehicle-head .vh-subtitle .vh-sep {
            color: var(--border);
        }
