body {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 24px;
    overflow: hidden;
    background: rgb(242, 242, 242);
}

body::-webkit-scrollbar {
    width: 12px;
    /* ширина scrollbar */
}
body::-webkit-scrollbar-track {
    background: orange;
    /* цвет дорожки */
}
body::-webkit-scrollbar-thumb {
    background-color: blue;
    /* цвет плашки */
    border-radius: 20px;
    /* закругления плашки */
    border: 3px solid orange;
    /* padding вокруг плашки */
}
main {
    display: flex;
    gap: 24px;
}

section {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 12px;
    & .block-add-data-buttons {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 28px;
        border-radius: 16px;
        background-color: #FFFFFF;

        & .add-data-title {
            color: rgb(7, 7, 7);
            font-family: Montserrat;
            font-size: 24px;
            font-weight: 500;
            line-height: 32px;
        }
        & .add-data-buttons {
            display: flex;
            gap: 12px;

            & button {
                height: 40px;

                font-family: Montserrat;
                font-size: 16px;
                font-weight: 500;
                line-height: 24px;
                border-radius: 8px;
            }
            & .add-data-btn {
                padding: 6px 45px;
                border: 1px solid rgb(20, 20, 20);
            }
            & .cancel-add-data-btn {
                padding: 6px 38px;
                border: 1px solid rgb(20, 20, 20);
            }
            & .save-add-data-btn {
                padding: 8px 25px;
                background-color: #E1E0E0;
                color: #7C7979;

                &.active {
                    background-color: #141414;
                    color: #FFFFFF;
                }
            }
        }
    }
    & .add-data-block {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
        padding: 20px;
        background-color: #FFFFFF;
        border-radius: 12px;
        & .add-block-data-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            & .header-text {
                font-family: Montserrat;
                font-size: 24px;
                font-weight: 500;
                line-height: 32px;
            }
            & .header-calendar {
                display: flex;
                align-items: center;
                gap: 10px;
                position: relative;
                & .calendar-text {
                    font-family: Montserrat;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 24px;
                }
                & .calendar-block {
                    display: flex;
                    justify-content: space-between;
                    width: 320px;

                    padding: 8px 10px;
                    border: 1px solid #141414;
                    border-radius: 8px;
                }
            }
        }
        & .add-block-data-bottom {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            & .form-group {
                display: flex;
                flex-direction: column;
                gap: 4px;
                width: 100%;

                & label {
                    color: rgb(46, 46, 46);
                    font-family: Manrope;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 24px;

                    cursor: initial;
                }
                & input {
                    padding: 8px 10px;
                    border: 1px solid rgb(225, 224, 224);
                    border-radius: 8px;

                    color: rgb(7, 7, 7);
                    font-family: Manrope;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 24px;
                    &::placeholder {
                        color: rgb(178, 178, 178);
                    }
                }
            }
        }
    }

    & .past-data {
        display: flex;
        flex-direction: column;
        height: 100%;
        &.no-data {
            justify-content: center;
            align-items: center;

            background-color: #FFFFFF;
            border-radius: 16px;
        }

        & .list-past-data {
            display: flex;
            flex-direction: column;
            gap: 12px;
            overflow-y: scroll;
            height: 300px;
            flex: 1 1 auto;
            margin-right: -20px;
            padding-right: 10px;

            &::-webkit-scrollbar {
                width: 10px;
            }
            &::-webkit-scrollbar-track {
                background: none
            }
            &::-webkit-scrollbar-thumb {
                background-color: #D4D3D3;
                border-radius: 16px;
            }

            & .item-list-past-data {
                display: flex;
                flex-direction: column;
                gap: 20px;

                padding: 20px;
                border-radius: 12px;

                background-color: #FFFFFF;
                & .item-header {
                    display: flex;
                    justify-content: space-between;
                    font-size: 18px;
                    line-height: 24px;
                    & .header-title {
                        font-family: Montserrat;
                    }
                    & .header-date {
                        font-family: Montserrat;
                        color: #2E2E2E;
                    }
                }
                & .item-bottom {
                    display: flex;
                    gap: 16px;
                    font-size: 16px;
                    line-height: 24px;
                    & .bottom-indicator {
                        width: 100%;
                        & .indicator-title {
                            color: #7C7979;
                            padding-bottom: 8px;
                        }
                        & .indicator-value {
                            &.up {
                                color: #5EB904;
                            }
                            &.down {
                                color: #070707;
                            }
                            &.down-red {
                                color: #F2522E;
                            }
                        }
                    }
                }
            }
        }
    }
    & .block-no-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;

        & svg {
            width: 140px;
            height: 140px;
        }

        & .block-text-no-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 12px;
            & .title {
                color: rgb(7, 7, 7);
                font-family: Montserrat;
                font-size: 24px;
                font-weight: 500;
                line-height: 32px;
            }
            & .description {
                color: rgb(46, 46, 46);
                font-family: Manrope;
                font-size: 14px;
                font-weight: 400;
                line-height: 20px;
            }
        }
    }
    & .pagination {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 0;
        & .per-page-container {
            position: relative;
            display: flex;
            align-items: center;
            gap: 8px;
            color: #7C7979;
            font-size: 14px;
            font-weight: 400;
            line-height: 20px;
            & .per-page-value {
                display: flex;
                justify-content: space-between;
                width: 80px;
                padding: 6px 12px;
                background-color: #FFFFFF;
                border: 1px solid #D4D3D3;
                border-radius: 8px;
                & .value {
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 20px;
                    color: #070707;
                }
                & .arrow {
                    position: relative;
                    &::after {
                        content: "";
                        position: absolute;
                        right: 5px;
                        top: calc(50%);
                        width: 8px;
                        height: 8px;
                        border-right: 2px solid currentColor;
                        border-bottom: 2px solid currentColor;
                        transform: translate(0, -50%) rotate(-135deg);
                    }
                    &.active {
                        &::after {
                            transform: translate(0, -50%) rotate(45deg);
                        }
                    }
                }
            }
            & .per-page-select {
                position: absolute;
                right: 0;
                bottom: 40px;
                display: none;
                flex-direction: column;
                padding: 4px;
                width: 80px;
                color: #070707;
                background-color: #FFFFFF;
                border: 1px solid #D4D3D3;
                border-radius: 8px;
                & .perPage {
                    cursor: pointer;
                    padding: 2px 6px;
                    border-radius: 4px;
                    &.selected {
                        background-color: #F2F2F2;
                    }
                    &:hover {
                        background-color: #F9F9F9;
                    }
                }
                &.active {
                    display: flex;
                    gap: 2px;
                }
            }
            & select {
                padding: 5px 10px;
                border-radius: 8px;
                border: 1px solid #ddd;
                color: #070707;
                background-color: #FFFFFF;
                & option {
                    color: #070707;
                }
            }
        }

        & .page-navigation {
            display: flex;
            align-items: center;
            flex-wrap: nowrap;
            gap: 4px;
            max-width: 300px;
            font-size: 14px;
            font-weight: 20px;
            & .page-numbers {
                display: flex;
                align-items: center;
                flex-wrap: nowrap;
                max-width: 235px;
            }
            & .page-button {
                width: 8px;
                height: 8px;
                border-top: 2px solid #141414;
                border-right: 2px solid #141414;
                transform: rotate(45deg);
                &.prev {
                    transform: rotate(-135deg);
                    margin-right: 10px;
                }
                &.next {
                    transform: rotate(45deg);
                    margin-left: 10px;
                }
                &:disabled {
                    border-color: #B2B2B2;
                }
            }
            & .page-number {
                height: 32px;
                width: 32px;
                border-radius: 8px;
                cursor: pointer;
                &.active {
                    background: #141414;
                    color: #FFFFFF;
                }
            }
            & .page-dots {
                text-align: center;
                width: 32px;
                height: 32px;
            }
        }

    }
}




/*
* Компонент тоста
*/
.toast-container {
    display: flex;
    flex-direction: column;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    max-width: 450px;
    top: 30px;
    transition: top 300ms ease, opacity 300ms ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 9000;

    &.visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

.toast {
    background: #2E2E2E;
    color: #FFFFFF;
    border-radius: 8px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 16px;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 300ms ease, transform 300ms ease;

    &.visible {
        opacity: 1;
        transform: translateY(0);
    }

    &.hiding {
        opacity: 0;
        transform: translateY(-10px);
    }

    &.error {
        background: #F2522E;

        & svg path {
            stroke: #FFFFFF
        }
    }

    .toast-text {
        margin-right: 16px;
        line-height: 24px;
    }
}

.toast-icon-container {
    display: flex;
    cursor: pointer;

    &:hover svg path {
        stroke: #FFFFFF;
    }
}





.darken {
    opacity: 0.5;
}