@charset "UTF-8";

* {
    padding: 0px;
    margin: 0px;
    border: 0px;
}

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

        *::before,
        *::after {
            display: inline-block;
        }

html,
body {
    height: 100%;
}

body {
    line-height: 1;
    scrollbar-gutter: stable;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

input,
button,
textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    background-color: transparent;
}

input,
textarea {
    width: 100%;
}

label {
    display: inline-block;
}

button,
select,
option {
    cursor: pointer;
}

a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
}

a, button {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

ul li {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit;
    font-size: inherit;
}

@font-face {
    font-family: Roboto;
    font-display: swap;
    src: url("../assets/fonts/Roboto-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: Roboto;
    font-display: swap;
    src: url("../assets/fonts/Roboto-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: Roboto;
    font-display: swap;
    src: url("../assets/fonts/Roboto-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: Roboto;
    font-display: swap;
    src: url("../assets/fonts/Roboto-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "iconfont";
    font-display: swap;
    src: url("../assets/fonts/iconfont.woff2?af91316e653044734d80556157e483b7") format("woff2");
}

[class*="--icon-"]::before {
    font-family: iconfont;
}

[class*="--icon-print"]::before {
    content: "\f101";
}

[class*="--icon-plus"]::before {
    content: "\f102";
}

[class*="--icon-plus-round"]::before {
    content: "\f103";
}

[class*="--icon-pie"]::before {
    content: "\f104";
}

[class*="--icon-list"]::before {
    content: "\f105";
}

[class*="--icon-hour"]::before {
    content: "\f106";
}

[class*="--icon-folder"]::before {
    content: "\f107";
}

[class*="--icon-file"]::before {
    content: "\f108";
}

[class*="--icon-file-empty"]::before {
    content: "\f109";
}

[class*="--icon-eye"]::before {
    content: "\f10a";
}

[class*="--icon-eye-off"]::before {
    content: "\f10b";
}

[class*="--icon-error"]::before {
    content: "\f10c";
}

[class*="--icon-delete"]::before {
    content: "\f10d";
}

[class*="--icon-check"]::before {
    content: "\f10e";
}

[class*="--icon-arrow-t"]::before {
    content: "\f10f";
}

[class*="--icon-arrow-r"]::before {
    content: "\f110";
}

[class*="--icon-arrow-l"]::before {
    content: "\f111";
}

[class*="--icon-arrow-b"]::before {
    content: "\f112";
}

/* Generated by vite-plugin-svg-spritemap */
:root {
    --mainColor: #d9d9d9;
    --grayColor: #a8a8a8;
    --bgColor: #1a1a1a;
    --blockBg: #252525;
    --blackColor: #000000;
    --yellowColor: #D39F16;
    --hoverYellow: #C28D05;
    --errorColor: #FF8400;
    --greenColor: #77CE00;
}

body {
    min-width: 360px;
    color: var(--mainColor);
    font-family: "Roboto";
    font-size: 14px;
}

[data-fls-scrolllock] body {
    overflow: hidden;
    touch-action: none;
    overscroll-behavior: none;
}

.wrapper {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: clip;
    background-color: var(--bgColor);
}

    .wrapper > main {
        flex: 1 1 auto;
    }

    .wrapper > * {
        min-width: 0;
    }

[class*=__container] {
    max-width: 1439.98px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.wrapper:has(aside) .page {
    padding-bottom: 20px;
    flex: 1 1 auto;
    max-width: 1151px;
}

.wrapper:has(aside) .pageFull {
    padding-bottom: 20px;
    flex: 1 1 auto;
}

.inner {
    flex: 1 1 auto;
    width: 100%;
}

input[type=text],
input[type=email],
input[type=tel],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.input {
    border-radius: 8px;
    width: 100%;
    display: block;
    padding: 13.5px 15px;
    border: 1px solid transparent;
    caret-color: var(--yellowColor);
    background-color: var(--bgColor);
    font-size: 16px;
    line-height: 118.75%; /* 19/16 */
    outline: none;
    transition: border-color 0.3s;
}

    .input.--form-focus {
        border-color: rgba(168, 168, 168, 0.2);
    }

    .input.--form-error {
        border-color: var(--errorColor);
    }

    /* Невалидное поле: jquery.validate вешает на инпут класс input-validation-error.
       Раньше у класса не было CSS — контур ошибки не отображался. Красная рамка
       выделяет невалидное поле. Покрывает все формы канала (логин, шаги Receiver и т.д.). */
    .input.input-validation-error,
    .input-validation-error {
        border-color: #E53935;
    }

    .input[placeholder]:not([data-fls-placeholder-nohiden])::placeholder {
        transition: opacity 0.3s;
        color: rgba(168, 168, 168, 0.2);
    }

    .input[placeholder]:not([data-fls-placeholder-nohiden]):focus::placeholder {
        opacity: 0;
    }

textarea.input {
    resize: vertical;
    padding: 0px 0px;
}

.button {
    display: inline-flex;
    padding: 0px 0px;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--yellowColor);
    border-radius: 8px;
    padding: 13.5px 30px;
    font-size: 16px;
    line-height: 118.75%; /* 19/16 */
    font-weight: 600;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

    .button.button--yellow {
        background-color: var(--yellowColor);
        color: var(--blackColor);
    }

    .button.button--border {
        color: var(--yellowColor);
    }

.button--fw {
    width: 100%;
}

.inprow {
    position: relative;
    padding-top: 8px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 24px;
}

    .inprow:has(.inprow__hidepass) .inprow__input {
        padding-right: 40px;
    }

    .inprow.inprow--fw {
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    .inprow .select {
        width: 100%;
    }

.inprow__top {
    line-height: 114.285714%; /* 16/14 */
    margin-bottom: 8px;
}

.inprow.loading .inprow__top {
    position: relative;
    color: transparent;
}

    .inprow.loading .inprow__top::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        border-radius: 8px;
        background: url("../assets/img/loading.webp") 0 0/cover no-repeat;
    }

.inprow.loading .inprow__input {
    position: relative;
    color: transparent;
    background: url("../assets/img/inploading.webp") 0 0/cover no-repeat;
}

    .inprow.loading .inprow__input::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        border-radius: 8px;
    }

.inprow__hidepass {
    position: absolute;
    right: 16px;
    top: 43px;
    color: var(--yellowColor);
    font-size: 22px;
}

    .inprow__hidepass::before {
        content: "\f10a";
        font-family: iconfont;
    }

    .inprow__hidepass.--viewpass-active {
        top: 46px;
    }

        .inprow__hidepass.--viewpass-active::before {
            content: "\f10b";
        }

.inprow [data-fls-form-error],
.data-fls-form-error {
    color: var(--errorColor);
    font-size: 14px;
    line-height: 114.285714%; /* 16/14 */
    position: absolute;
    left: 0;
    top: 88px;
}

.inprow [data-fls-form-error-custom],
.data-fls-form-error-custom {
    color: var(--errorColor);
    font-size: 14px;
    line-height: 114.285714%; /* 16/14 */
}

.req-item {
    background-color: var(--blockBg);
    border-radius: 24px;
    padding: 24px;
    margin: 20px;
}

.flatpickr-calendar {
    transform: translateY(8px);
    background: transparent;
    opacity: 0;
    display: none;
    text-align: center;
    visibility: hidden;
    padding: 24px 32px;
    -webkit-animation: none;
    animation: none;
    direction: ltr;
    border: 0;
    font-size: 14px;
    line-height: 24px;
    border-radius: 8px;
    position: absolute;
    width: 343px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    background: #252525;
    border: 1px solid rgba(168, 168, 168, 0.2);
}

    .flatpickr-calendar.open,
    .flatpickr-calendar.inline {
        opacity: 1;
        max-height: 640px;
        visibility: visible;
    }

    .flatpickr-calendar.open {
        display: inline-block;
        z-index: 99999;
    }

    .flatpickr-calendar.animate.open {
        -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
        animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    .flatpickr-calendar.inline {
        display: block;
        position: relative;
        top: 2px;
    }

    .flatpickr-calendar.static {
        position: absolute;
        top: calc(100% + 2px);
    }

        .flatpickr-calendar.static.open {
            z-index: 999;
            display: block;
        }

    .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
    }

    .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
        -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
        box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
    }

    .flatpickr-calendar .hasWeeks .dayContainer,
    .flatpickr-calendar .hasTime .dayContainer {
        border-bottom: 0;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }

    .flatpickr-calendar .hasWeeks .dayContainer {
        border-left: 0;
    }

    .flatpickr-calendar.hasTime .flatpickr-time {
        height: 40px;
        border-top: 1px solid #e6e6e6;
    }

    .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
        height: auto;
    }

    .flatpickr-calendar:focus {
        outline: 0;
    }

.flatpickr-wrapper {
    position: relative;
    display: inline-block;
}

.flatpickr-months {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
}

    .flatpickr-months .flatpickr-month {
        background: transparent;
        color: var(--yellowColor);
        fill: rgba(0, 0, 0, 0.9);
        height: 32px;
        line-height: 1;
        text-align: center;
        position: relative;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        overflow: hidden;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }

    .flatpickr-months .flatpickr-prev-month,
    .flatpickr-months .flatpickr-next-month {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        text-decoration: none;
        cursor: pointer;
        height: 34px;
        z-index: 3;
        color: rgba(168, 168, 168, 0.2);
        fill: rgba(168, 168, 168, 0.2);
        width: 40px;
        flex: 0 0 40px;
        height: 32px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

        .flatpickr-months .flatpickr-prev-month::before,
        .flatpickr-months .flatpickr-next-month::before {
            content: "";
            content: "\f110";
            font-family: iconfont;
        }

        .flatpickr-months .flatpickr-prev-month svg,
        .flatpickr-months .flatpickr-next-month svg {
            display: none;
        }

        .flatpickr-months .flatpickr-prev-month::before {
            content: "\f111";
        }

        .flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
        .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
            display: none;
        }

        .flatpickr-months .flatpickr-prev-month i,
        .flatpickr-months .flatpickr-next-month i {
            position: relative;
        }

        .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
        .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
            /*
  	 /*rtl:begin:ignore*/
            /*
  	 */
            left: 0;
            /*
  	 /*rtl:end:ignore*/
            /*
  	 */
        }

        /*
		 /*rtl:begin:ignore*/
        /*
		 /*rtl:end:ignore*/
        .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
        .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
            /*
  	 /*rtl:begin:ignore*/
            /*
  	 */
            right: 0;
            /*
  	 /*rtl:end:ignore*/
            /*
  	 */
        }

        /*
		 /*rtl:begin:ignore*/
        /*
		 /*rtl:end:ignore*/
        .flatpickr-months .flatpickr-prev-month:hover,
        .flatpickr-months .flatpickr-next-month:hover {
            color: var(--yellowColor);
        }

            .flatpickr-months .flatpickr-prev-month:hover svg,
            .flatpickr-months .flatpickr-next-month:hover svg {
                fill: var(--yellowColor);
            }

        .flatpickr-months .flatpickr-prev-month svg,
        .flatpickr-months .flatpickr-next-month svg {
            width: 14px;
            height: 14px;
        }

            .flatpickr-months .flatpickr-prev-month svg path,
            .flatpickr-months .flatpickr-next-month svg path {
                -webkit-transition: fill 0.1s;
                transition: fill 0.1s;
                fill: inherit;
                stroke-width: 1px;
            }

.numInputWrapper {
    position: relative;
    height: auto;
}

    .numInputWrapper input,
    .numInputWrapper span {
        display: inline-block;
    }

    .numInputWrapper input {
        width: 100%;
    }

        .numInputWrapper input::-ms-clear {
            display: none;
        }

        .numInputWrapper input::-webkit-outer-spin-button,
        .numInputWrapper input::-webkit-inner-spin-button {
            margin: 0;
            -webkit-appearance: none;
        }

    .numInputWrapper span {
        position: absolute;
        right: 0;
        width: 14px;
        padding: 0 4px 0 2px;
        height: 50%;
        line-height: 50%;
        opacity: 0;
        cursor: pointer;
        border: 1px solid rgba(57, 57, 57, 0.15);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

        .numInputWrapper span:hover {
            background: rgba(0, 0, 0, 0.1);
        }

        .numInputWrapper span:active {
            background: rgba(0, 0, 0, 0.2);
        }

        .numInputWrapper span:after {
            display: block;
            content: "";
            position: absolute;
        }

        .numInputWrapper span.arrowUp {
            top: 0;
            border-bottom: 0;
        }

            .numInputWrapper span.arrowUp:after {
                border-left: 4px solid transparent;
                border-right: 4px solid transparent;
                border-bottom: 4px solid rgba(57, 57, 57, 0.6);
                top: 26%;
            }

        .numInputWrapper span.arrowDown {
            top: 50%;
        }

            .numInputWrapper span.arrowDown:after {
                border-left: 4px solid transparent;
                border-right: 4px solid transparent;
                border-top: 4px solid rgba(57, 57, 57, 0.6);
                top: 40%;
            }

        .numInputWrapper span svg {
            width: inherit;
            height: auto;
        }

            .numInputWrapper span svg path {
                fill: rgba(0, 0, 0, 0.5);
            }

    .numInputWrapper:hover {
        background: rgba(0, 0, 0, 0.05);
    }

        .numInputWrapper:hover span {
            opacity: 1;
        }

.flatpickr-current-month {
    font-size: 14px;
    line-height: inherit;
    font-weight: 500;
    color: inherit;
    position: absolute;
    width: 75%;
    left: 12.5%;
    line-height: 1;
    height: 34px;
    display: inline-block;
    text-align: center;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .flatpickr-current-month span.cur-month {
        font-family: inherit;
        font-weight: 700;
        color: inherit;
        display: inline-block;
        margin-left: 0.5ch;
        padding: 0;
    }

        .flatpickr-current-month span.cur-month:hover {
            background: rgba(0, 0, 0, 0.05);
        }

    .flatpickr-current-month .numInputWrapper {
        width: 6ch;
        width: 7ch\0;
        display: inline-block;
    }

        .flatpickr-current-month .numInputWrapper span.arrowUp:after {
            border-bottom-color: #ffffff;
        }

        .flatpickr-current-month .numInputWrapper span.arrowDown:after {
            border-top-color: #ffffff;
        }

    .flatpickr-current-month input.cur-year {
        background: transparent;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        color: inherit;
        cursor: text;
        padding: 0 0 0 0.5ch;
        margin: 0;
        display: inline-block;
        font-size: inherit;
        font-family: inherit;
        font-weight: 500;
        line-height: inherit;
        height: auto;
        border: 0;
        border-radius: 0;
        vertical-align: initial;
        -webkit-appearance: textfield;
        -moz-appearance: textfield;
        appearance: textfield;
    }

        .flatpickr-current-month input.cur-year:focus {
            outline: 0;
        }

        .flatpickr-current-month input.cur-year[disabled],
        .flatpickr-current-month input.cur-year[disabled]:hover {
            font-size: 100%;
            color: rgba(0, 0, 0, 0.5);
            background: transparent;
            pointer-events: none;
        }

    .flatpickr-current-month .flatpickr-monthDropdown-months {
        appearance: menulist;
        background: transparent;
        border: none;
        border-radius: 0;
        box-sizing: border-box;
        color: inherit;
        cursor: pointer;
        font-size: inherit;
        font-family: inherit;
        font-weight: 500;
        height: auto;
        line-height: inherit;
        margin: -1px 0 0 0;
        outline: none;
        position: relative;
        vertical-align: initial;
        -webkit-box-sizing: border-box;
        -webkit-appearance: menulist;
        -moz-appearance: menulist;
        width: auto;
        appearance: none;
        /* Дополнительные стили для кастомизации */
        -webkit-appearance: none; /* Для Safari */
        -moz-appearance: none; /* Для Firefox */
    }

        .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
        .flatpickr-current-month .flatpickr-monthDropdown-months:active {
            outline: none;
        }

        .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
            background: rgba(0, 0, 0, 0.05);
        }

        .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
            background-color: transparent;
            outline: none;
            padding: 0;
        }

.flatpickr-weekdays {
    background: transparent;
    text-align: center;
    overflow: hidden;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 32px;
}

    .flatpickr-weekdays .flatpickr-weekdaycontainer {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }

span.flatpickr-weekday {
    cursor: default;
    font-size: 14px;
    background: transparent;
    color: var(--grayColor);
    line-height: 1;
    margin: 0;
    text-align: center;
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.dayContainer,
.flatpickr-weeks {
    padding: 1px 0 0 0;
}

.flatpickr-days {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

    .flatpickr-days:focus {
        outline: 0;
    }

.dayContainer {
    padding: 0;
    outline: 0;
    text-align: left;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
    opacity: 1;
}

    .dayContainer + .dayContainer {
        -webkit-box-shadow: -1px 0 0 #e6e6e6;
        box-shadow: -1px 0 0 #e6e6e6;
    }

.flatpickr-day {
    background: none;
    border: 1px solid transparent;
    border-radius: 150px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: var(--mainColor);
    cursor: pointer;
    font-weight: 400;
    width: 14.2857143%;
    -webkit-flex-basis: 14.2857143%;
    -ms-flex-preferred-size: 14.2857143%;
    flex-basis: 14.2857143%;
    height: 30px;
    line-height: 30px;
    margin: 0;
    display: inline-block;
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
}

.nextMonthDay {
    display: none;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
    cursor: pointer;
    outline: 0;
    background-color: var(--blackColor);
    border-color: var(--blackColor);
}

.flatpickr-day.today {
    border-color: #959ea9;
}

    .flatpickr-day.today:hover,
    .flatpickr-day.today:focus {
        border-color: #959ea9;
        background: #959ea9;
        color: #fff;
    }

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
    background-color: var(--blackColor);
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #fff;
    border-color: var(--blackColor);
}

    .flatpickr-day.selected.startRange,
    .flatpickr-day.startRange.startRange,
    .flatpickr-day.endRange.startRange {
        border-radius: 50px 0 0 50px;
    }

    .flatpickr-day.selected.endRange,
    .flatpickr-day.startRange.endRange,
    .flatpickr-day.endRange.endRange {
        border-radius: 0 50px 50px 0;
    }

    .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
    .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
    .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
        -webkit-box-shadow: -10px 0 0 #000000;
        box-shadow: -10px 0 0 #000000;
    }

    .flatpickr-day.selected.startRange.endRange,
    .flatpickr-day.startRange.startRange.endRange,
    .flatpickr-day.endRange.startRange.endRange {
        border-radius: 50px;
    }

.flatpickr-day.inRange {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 #000000, 5px 0 0 #000000;
    box-shadow: -5px 0 0 #000000, 5px 0 0 #000000;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
    color: rgba(168, 168, 168, 0.2);
    background: transparent;
    border-color: transparent;
    cursor: default;
}

    .flatpickr-day.flatpickr-disabled,
    .flatpickr-day.flatpickr-disabled:hover {
        cursor: not-allowed;
        color: rgba(57, 57, 57, 0.1);
    }

.flatpickr-day.week.selected {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
    box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}

.flatpickr-day.hidden {
    visibility: hidden;
}

.rangeMode .flatpickr-day {
    margin-top: 1px;
}

.flatpickr-weekwrapper {
    float: left;
}

    .flatpickr-weekwrapper .flatpickr-weeks {
        padding: 0 12px;
        -webkit-box-shadow: 1px 0 0 #e6e6e6;
        box-shadow: 1px 0 0 #e6e6e6;
    }

    .flatpickr-weekwrapper .flatpickr-weekday {
        float: none;
        width: 100%;
        line-height: 28px;
    }

    .flatpickr-weekwrapper span.flatpickr-day,
    .flatpickr-weekwrapper span.flatpickr-day:hover {
        display: block;
        width: 100%;
        max-width: none;
        color: rgba(57, 57, 57, 0.3);
        background: transparent;
        cursor: default;
        border: none;
    }

.flatpickr-innerContainer {
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    width: 100%;
}

.flatpickr-rContainer {
    display: inline-block;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.flatpickr-time {
    text-align: center;
    outline: 0;
    display: block;
    height: 0;
    line-height: 40px;
    max-height: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

    .flatpickr-time:after {
        content: "";
        display: table;
        clear: both;
    }

    .flatpickr-time .numInputWrapper {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        width: 40%;
        height: 40px;
        float: left;
    }

        .flatpickr-time .numInputWrapper span.arrowUp:after {
            border-bottom-color: #393939;
        }

        .flatpickr-time .numInputWrapper span.arrowDown:after {
            border-top-color: #393939;
        }

    .flatpickr-time.hasSeconds .numInputWrapper {
        width: 26%;
    }

    .flatpickr-time.time24hr .numInputWrapper {
        width: 49%;
    }

    .flatpickr-time input {
        background: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        text-align: center;
        margin: 0;
        padding: 0;
        height: inherit;
        line-height: inherit;
        color: #393939;
        font-size: 14px;
        position: relative;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-appearance: textfield;
        -moz-appearance: textfield;
        appearance: textfield;
    }

        .flatpickr-time input.flatpickr-hour {
            font-weight: bold;
        }

        .flatpickr-time input.flatpickr-minute,
        .flatpickr-time input.flatpickr-second {
            font-weight: 400;
        }

        .flatpickr-time input:focus {
            outline: 0;
            border: 0;
        }

    .flatpickr-time .flatpickr-time-separator,
    .flatpickr-time .flatpickr-am-pm {
        height: inherit;
        float: left;
        line-height: inherit;
        color: #393939;
        font-weight: bold;
        width: 2%;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-align-self: center;
        -ms-flex-item-align: center;
        align-self: center;
    }

    .flatpickr-time .flatpickr-am-pm {
        outline: 0;
        width: 18%;
        cursor: pointer;
        text-align: center;
        font-weight: 400;
    }

        .flatpickr-time input:hover,
        .flatpickr-time .flatpickr-am-pm:hover,
        .flatpickr-time input:focus,
        .flatpickr-time .flatpickr-am-pm:focus {
            background: #eee;
        }

.flatpickr-input[readonly] {
    cursor: pointer;
}

@-webkit-keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@media (max-width: 75.93625em) {
    .flatpickr-calendar {
        padding: 24px 27px;
    }
}

@media (max-width: 52.12375em) {
    .flatpickr-calendar {
        width: calc(100% - 40px);
    }
}

@media (max-width: 22.5em) {
    .flatpickr-calendar {
        width: 320px;
    }
}

@media (min-width: 52.12375em) {
    .inner {
        display: flex;
    }
}

@media (any-hover: hover) {
    .button.button--yellow:hover {
        background-color: var(--hoverYellow);
        border-color: var(--hoverYellow);
    }

    .button.button--border:hover {
        background-color: rgba(194, 141, 5, 0.2);
        color: var(--hoverYellow);
    }
}

.red {
    color: var(--errorColor);
}

/* ===============================
   LIGHT THEME (override variables)
   =============================== */
html.theme-light {
    --mainColor: #1f2937; /* основной текст (графит, не #000) */
    /* База */
    --bgColor: #f5f6fa; /* фон страницы (не белый!) */
    
    /*--bgColor: #f4f6fb;*/ /* фон страницы (мягкий, не белый) */
    --blockBg: #ffffff; /* карточки белые */
    --blackColor: #ffffff; /* текст на primary-кнопках */
    /*--blackColor: #111827; Ломает меню, актинвый элемент */
    
    /* Текст (не черный, но читабельный) */
    --mainColor: #2e3440;
    
    /*--grayColor: #7b8292;*/
    --grayColor: #6b7280; /* вторичный текст */
    
    /* Акцент оставляем */
    --yellowColor: #4361ed;
    --hoverYellow: #3651d6;
    
    /* Границы */
    --borderTable: #e6eaf2;
    --borderDash: #d6dbea;
    
    /* Фокус */
    --focusRing: rgba(67, 97, 237, 0.16);
}

    html.theme-light body {
        color: var(--mainColor);
    }

    /* общий фон и базовый текст */
    html.theme-light .wrapper {
        background: var(--bgColor);
        color: var(--mainColor);
    }

    html.theme-light body {
        color: var(--mainColor);
    }

    /* карточки/контейнеры — убираем синеву, делаем нейтральную тень */
    html.theme-light .reqblock__tableblock,
    html.theme-light .req-item,
    html.theme-light .block,
    html.theme-light .box,
    html.theme-light .card,
    html.theme-light .content {
        background: var(--blockBg);
        border: 1px solid var(--borderTable);
        box-shadow: 0 10px 26px rgba(0,0,0,0.06); /* нейтрально, без синего свечения */
    }

    /* инпуты: слегка темнее карточки */
    html.theme-light input,
    html.theme-light textarea,
    html.theme-light select {
        background: #f3f5fb;
        border: 1px solid #d7ddea;
        color: var(--mainColor);
    }

    html.theme-light .input {
        background: #f3f5fb;
        border-color: #d6dbe7;
        color: var(--mainColor);
    }

        /* placeholder чуть темнее */
        html.theme-light .input::placeholder,
        html.theme-light input::placeholder,
        html.theme-light textarea::placeholder {
            color: rgba(46, 52, 64, 0.28);
        }

        /* фокус мягче */
        html.theme-light .input.--form-focus,
        html.theme-light input:focus,
        html.theme-light textarea:focus,
        html.theme-light select:focus {
            border-color: rgba(67, 97, 237, 0.40);
            box-shadow: 0 0 0 3px var(--focusRing);
            outline: none;
        }

        html.theme-light .input:focus {
            border-color: rgba(63,92,255,.55);
        }

    /* таблицы/линии */
    html.theme-light .reqblock table td,
    html.theme-light .reqblock table th {
        border-bottom-color: var(--borderTable);
    }

    /* серые статусы */
    html.theme-light .reqblock__status--gray {
        background: #eef2f8;
        border: 1px solid #e1e7f2;
        color: #6b7280;
    }

    /* MENU fixes for light */
    html.theme-light .menu__topname {
        color: var(--mainColor);
    }
    /* вместо #fbf8f1 */
    html.theme-light .menu__balance {
        border-color: var(--borderDash); /* вместо #383838 */
        background: rgba(255,255,255,.65); /* чуть мягче */
    }

    html.theme-light .menu__link:hover {
        background: rgba(17,24,39,.04);
    }

    html.theme-light .menu__link.menu__link--active {
        background: rgba(63,92,255,.08);
        color: var(--yellowColor);
        border-color: var(--yellowColor);
    }

/* mobile menu bg (в inner.css хардкод #1e1e1e) need fix */
@media (max-width: 89.99875em) {
    html.theme-light .menu__body {
        background: var(--blockBg);
    }
}

/* make content blocks table */
html.theme-light .reqblock__tableblock {
    background: var(--blockBg);
    border-radius: 16px;
    box-shadow: var(--shadowSm);
    overflow: hidden;
}

    /* table: мягкие линии */
    html.theme-light .reqblock__tableblock table {
        border-collapse: separate;
        border-spacing: 0;
    }

        html.theme-light .reqblock__tableblock table thead th {
            background: #f3f5fb;
            color: #374151;
            border-bottom: 1px solid var(--borderColor);
        }

        html.theme-light .reqblock__tableblock table tbody td {
            border-bottom: 1px solid var(--borderColor);
        }

/* серые плашки/предупреждения */
html.theme-light .reqblock__warn,
html.theme-light .reqblock__status--gray {
    background: var(--softFill);
    color: var(--grayColor);
}

html.theme-light .button {
    border-color: rgba(63,92,255,.45);
}

    html.theme-light .button.button--yellow {
        color: #fff;
    }
    /* синяя primary */
    html.theme-light .button.button--border {
        color: var(--yellowColor);
    }