:root {
    --campo-raio: .5rem;
    --campo-raio-sm: .4rem;
    --campo-borda: #d3d8de;
    --campo-borda-hover: #b7bec7;
    --campo-fundo-inativo: #f1f3f5;
    --campo-altura: calc(1.5em + .75rem + 2px);
    --campo-altura-sm: calc(1.5em + .5rem + 2px);
    --campo-foco: 0 0 0 .2rem rgba(46, 51, 98, .12);
    --campo-foco-borda: rgba(46, 51, 98, .45);
    --campo-texto: #2b3035;
    --campo-suave: #6c757d;
    --campo-marca: #2e3362;
    --campo-marca-tom: #eaebf4;
}

.form-group {
    margin-bottom: 1rem;
}

.form-control,
.form-select,
.input-group-text {
    border-color: var(--campo-borda);
    border-radius: var(--campo-raio);
}

.form-control,
.form-select {
    color: var(--campo-texto);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-control:hover:not(:disabled):not([readonly]):not(:focus),
.form-select:hover:not(:disabled):not(:focus) {
    border-color: var(--campo-borda-hover);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--campo-foco-borda);
    box-shadow: var(--campo-foco);
}

.form-control::placeholder {
    color: #8a939d;
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
    background-color: var(--campo-fundo-inativo);
}

.form-control-sm,
.form-select-sm,
.input-group-sm > .form-control,
.input-group-sm > .input-group-text {
    border-radius: var(--campo-raio-sm);
}

.input-group-text {
    background-color: var(--campo-fundo-inativo);
    color: var(--campo-suave);
}

.select2-container {
    max-width: 100%;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid var(--campo-borda);
    border-radius: var(--campo-raio);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.select2-container--default .select2-selection--single {
    height: var(--campo-altura);
    outline: 0;
}

.select2-container--default:not(.select2-container--disabled) .select2-selection:hover {
    border-color: var(--campo-borda-hover);
}

.select2-container--default.select2-container--focus .select2-selection,
.select2-container--default.select2-container--open .select2-selection {
    border-color: var(--campo-foco-borda);
    box-shadow: var(--campo-foco);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--campo-texto);
    line-height: 1.5;
    padding: .375rem 2.25rem .375rem .75rem;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #8a939d;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 12px 10px;
    height: 100%;
    right: .5rem;
    top: 0;
    transition: transform .15s ease-in-out;
    width: 1.25rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
    transform: rotate(180deg);
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    color: var(--campo-suave);
    font-size: 1.15rem;
    font-weight: 400;
    height: auto;
    line-height: 1;
    margin-right: 0;
    padding: 0 .35rem;
    position: absolute;
    right: 1.85rem;
    top: 50%;
    transform: translateY(-50%);
}

.select2-container--default .select2-selection--single .select2-selection__clear:hover {
    color: #dc3545;
}

.select2-container--default .select2-selection--multiple {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    min-height: var(--campo-altura);
    padding: .2rem .5rem;
}

.select2-container--default .select2-selection--multiple.select2-selection--clearable {
    padding-right: 2rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: contents;
}

.select2-container--default .select2-selection--multiple .select2-search--inline {
    flex: 1 1 4rem;
    min-width: 4rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--campo-suave);
    display: flex;
    justify-content: center;
    line-height: 1;
    margin: 0;
    top: 50%;
    transform: translateY(-50%);
    right: .6rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    align-items: center;
    background-color: var(--campo-marca-tom);
    border: 0;
    border-radius: 2rem;
    color: var(--campo-marca);
    display: inline-flex;
    font-size: .85rem;
    font-weight: 500;
    gap: .25rem;
    margin: 0;
    max-width: 100%;
    padding: .15rem .6rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice:has(.bg-success) {
    background-color: #e2f3e8;
    color: #007a2d;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    overflow: hidden;
    padding: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    background: transparent;
    border: 0;
    color: inherit;
    float: none;
    line-height: 1;
    margin: 0;
    opacity: .6;
    order: 1;
    padding: 0;
    position: static;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus {
    background: transparent;
    color: inherit;
    opacity: 1;
    outline: 0;
}

.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    border: 0;
    font-family: inherit;
    height: 1.6rem;
    margin: 0;
    width: 100% !important;
}

.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: var(--campo-fundo-inativo);
    cursor: not-allowed;
}

.select2-container--open {
    z-index: 1060;
}

.select2-container--default .select2-dropdown {
    border: 1px solid var(--campo-borda);
    border-radius: var(--campo-raio);
    box-shadow: 0 .5rem 1.5rem rgba(46, 51, 98, .14);
    overflow: hidden;
}

.select2-container--default .select2-dropdown--below {
    margin-top: .25rem;
}

.select2-container--default .select2-dropdown--above {
    margin-top: -.25rem;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-radius: var(--campo-raio);
}

.select2-container--default .select2-search--dropdown {
    padding: .5rem;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--campo-borda);
    border-radius: var(--campo-raio-sm);
    outline: 0;
    padding: .3rem .6rem;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--campo-foco-borda);
    box-shadow: var(--campo-foco);
}

.select2-container--default .select2-results > .select2-results__options {
    max-height: 16rem;
    padding: .25rem;
}

.select2-container--default .select2-results__option {
    border-radius: var(--campo-raio-sm);
    color: var(--campo-texto);
    padding: .45rem .65rem;
}

.select2-container--default .select2-results__option--selected,
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: transparent;
    color: var(--campo-marca);
    font-weight: 600;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--campo-marca-tom);
    color: var(--campo-marca);
}

.select2-container--default .select2-results__option--disabled,
.select2-container--default .select2-results__option[aria-disabled=true] {
    color: #adb5bd;
}

.select2-container--default .select2-results__group {
    color: var(--campo-suave);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .06em;
    padding: .5rem .65rem .25rem;
    text-transform: uppercase;
}

.select2-container--default .select2-results__message {
    color: var(--campo-suave);
}

select.form-control-sm + .select2-container--default .select2-selection--single,
.input-group-sm .select2-container--default .select2-selection--single {
    border-radius: var(--campo-raio-sm);
    height: var(--campo-altura-sm);
}

select.form-control-sm + .select2-container--default .select2-selection--single .select2-selection__rendered,
.input-group-sm .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: .875rem;
    padding: .25rem 2rem .25rem .5rem;
}

select.form-control-sm + .select2-container--default .select2-selection--multiple {
    border-radius: var(--campo-raio-sm);
    min-height: var(--campo-altura-sm);
}

.input-group > .select2-container--default {
    flex: 1 1 auto;
    width: 1% !important;
}

.input-group > .select2-container--default:not(:last-child) .select2-selection {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.input-group > .input-group-text + select + .select2-container--default .select2-selection {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.tempus-dominus-widget {
    --td-widget-background: #fff;
    --td-font-color: var(--campo-texto);
    --td-active-bg: var(--campo-marca);
    --td-range-bg: var(--campo-marca-tom);
    --td-active-color: #fff;
    --td-active-border-color: transparent;
    --td-border-radius: var(--campo-raio-sm);
    --td-btn-hover-bg: var(--campo-marca-tom);
    --td-disabled-color: #c3c8cf;
    --td-alternate-color: #adb5bd;
    --td-dow-color: var(--campo-suave);
    --td-text-shadow: none;
    border: 1px solid var(--campo-borda);
    border-radius: var(--vc-raio, .65rem);
    box-shadow: 0 .5rem 1.5rem rgba(46, 51, 98, .14);
    font-family: inherit;
    font-size: .9rem;
    margin-top: .25rem;
    padding: .75rem;
}

.tempus-dominus-widget.show.date-container {
    min-height: 0;
}

.tempus-dominus-widget :focus {
    box-shadow: var(--campo-foco);
}

.tempus-dominus-widget .calendar-header {
    align-items: center;
    font-weight: 600;
    margin-bottom: .5rem;
}

.tempus-dominus-widget .calendar-header .previous,
.tempus-dominus-widget .calendar-header .next {
    align-items: center;
    border-radius: var(--campo-raio-sm);
    color: var(--campo-suave);
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    padding: 0;
    width: 2rem;
}

.tempus-dominus-widget .calendar-header .next {
    justify-self: end;
}

.tempus-dominus-widget .calendar-header .picker-switch {
    border-radius: var(--campo-raio-sm);
    color: var(--campo-marca);
    padding: .3rem .5rem;
}

.tempus-dominus-widget .calendar-header .picker-switch::first-letter {
    text-transform: uppercase;
}

.tempus-dominus-widget .calendar-header .previous:hover,
.tempus-dominus-widget .calendar-header .next:hover,
.tempus-dominus-widget .calendar-header .picker-switch:hover {
    background: var(--campo-marca-tom);
    color: var(--campo-marca);
}

.tempus-dominus-widget .date-container-days {
    grid-auto-rows: 2.25rem;
    grid-template-rows: 1.75rem;
    row-gap: 2px;
}

.tempus-dominus-widget .date-container-days .dow {
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tempus-dominus-widget .date-container-days div:not(.no-highlight),
.tempus-dominus-widget .date-container-months div:not(.no-highlight),
.tempus-dominus-widget .date-container-years div:not(.no-highlight),
.tempus-dominus-widget .date-container-decades div:not(.no-highlight),
.tempus-dominus-widget .time-container div:not(.no-highlight) {
    transition: background-color .12s ease, color .12s ease;
}

.tempus-dominus-widget.light .date-container-days div:not(.no-highlight).active,
.tempus-dominus-widget.light .date-container-months div:not(.no-highlight).active,
.tempus-dominus-widget.light .date-container-years div:not(.no-highlight).active,
.tempus-dominus-widget.light .date-container-decades div:not(.no-highlight).active,
.tempus-dominus-widget.light .time-container div:not(.no-highlight).active {
    font-weight: 600;
}

.tempus-dominus-widget .date-container-days div:not(.no-highlight).today:before,
.tempus-dominus-widget .date-container-months div:not(.no-highlight).today:before,
.tempus-dominus-widget .date-container-years div:not(.no-highlight).today:before,
.tempus-dominus-widget .date-container-decades div:not(.no-highlight).today:before {
    background: var(--campo-marca);
    border: 0;
    border-radius: 50%;
    bottom: 3px;
    height: 4px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 4px;
}

.tempus-dominus-widget .date-container-days div:not(.no-highlight).today.active:before,
.tempus-dominus-widget .date-container-months div:not(.no-highlight).today.active:before,
.tempus-dominus-widget .date-container-years div:not(.no-highlight).today.active:before,
.tempus-dominus-widget .date-container-decades div:not(.no-highlight).today.active:before {
    background: #fff;
}

.tempus-dominus-widget .toolbar {
    border-top: 1px solid var(--vc-borda, #e9ecef);
    gap: .25rem;
    grid-auto-rows: 2.25rem;
    margin-top: .5rem;
    padding-top: .5rem;
}

.tempus-dominus-widget .toolbar div {
    color: var(--campo-marca);
}

.tempus-dominus-widget .toolbar:empty {
    display: none;
}

.tempus-dominus-widget .time-container-clock [data-action^="show"],
.tempus-dominus-widget .time-container-clock .separator,
.tempus-dominus-widget .timepicker-hour,
.tempus-dominus-widget .timepicker-minute,
.tempus-dominus-widget .timepicker-second {
    color: var(--campo-marca);
    font-size: 1.6rem;
    font-weight: 600;
}

.tempus-dominus-widget .time-container-clock [data-action^="increment"],
.tempus-dominus-widget .time-container-clock [data-action^="decrement"] {
    color: var(--campo-suave);
}

.tempus-dominus-widget .time-container-clock [data-action^="increment"]:hover,
.tempus-dominus-widget .time-container-clock [data-action^="decrement"]:hover {
    color: var(--campo-marca);
}
