* {
    box-sizing: border-box;
    position: relative;
}

html {
    /* Предотвращает дрожание при переключении вкладок - всегда показывает скрол */
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    overscroll-behavior: none; /* Отключает перетягивание */

}

body {
    color: #333;
    margin: 0 auto 300px;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    line-height: 1.5;
    overscroll-behavior: none; /* Отключает перетягивание */

}


/* Ссылки */
a,
.link {
    color: hsl(210, 20%, 40%);
    text-decoration: none;
    cursor: pointer;
}

a:hover,
a:visited:hover,
.link:hover,
.cursor:hover,
.pointer:hover {
    color: lightcoral !important;;
    cursor: pointer;
}

a:visited {
    color: hsl(210, 20%, 40%);
    text-decoration: none;
    cursor: pointer;
}

.link.active {
    /*color: darkred !important;*/
    /*font-weight: 600;*/
    /*text-decoration: underline;*/
    /*border-bottom: 2px;*/
}

/* Inputs */
label {
    /*display: block;*/
    /*display: flex;*/
    cursor: pointer;

    display: flex;
    justify-content: center;
    align-items: center;
}

input,
button,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    padding: 0.4em;
    border-radius: 2px;
    cursor: pointer;
}

select,
textarea,
input {
    /*width: 100%;*/
    display: flex;
    /*padding: 10px;*/
    /*box-sizing: initial;*/
    box-sizing: border-box;
    border: 1px dotted #778bc5;
}

select:focus,
input:focus,
textarea:focus {
    outline: 0;
}


input:hover,
textarea:hover {
    background-color: #bac9d9;
}

input:disabled {
    color: #ccc;
}

input[type="range"] {
    height: 0;
}

/* Показывает всегда скролл */
textarea::-webkit-scrollbar {
    /*-webkit-appearance: none;*/
    /*width: 7px;*/
}

textarea::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, .5);
    box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}

textarea:hover {
    background: #eaeaea;
}

/* Убирает цвета на iOS */
input[type="time"],
input[type="date"] {
    -webkit-text-fill-color: #636264;
    opacity: 1;
    background: inherit;
}


/* Кнопки */
button {
    outline: none;
    color: black;
}

.button:hover {
    cursor: pointer;
}

button:disabled {
    color: #999;
}

button:not(:disabled):active {
    background-color: #ddd;
}

button:focus {
    border-color: #666;
}


/* Цвета */
.green-light {
    color: darkseagreen;
}

.green {
    /*color: rgba(38, 91, 32, 0.75);*/
    color: rgb(39 126 30);
    /*darkolivegreen*/
}

.black {
    color: #000;
}

.red {
    color: lightcoral !important;
}

.orange {
    color: orange !important;
}

.gold {
    color: goldenrod;
    display: contents;
}

.purple {
    color: #778bc5;
}

.grey {
    color: #838080;
}

.maroon {
    color: maroon;
}

.highlight,
.blue {
    color: steelblue;
}


.blue-light {
    color: #229fd5;
}

.bg-blue-light {
    background-color: #e2e8ee !important;
}

.bg-green {
    background-color: #d6e7bb !important;
}

.bg-green-more-light {
    background-color: #d6e7bb70 !important;
}

.bg-orange-light {
    background-color: #dca61f2e;
}

.bg-red {
    background-color: rgb(227 189 189 / 60%) !important;
}

.bg-red-light {
    /*background-color: rgb(233 220 220 / 60%) !important;*/
    background-color: rgb(213 12 12 / 10%) !important;
}

.bg-green-light {
    background-color: rgb(186 205 174 / 60%) !important;
}

.bg-orange {
    background-color: #f8e6db !important;
}

.bg-grey {
    background-color: #f9f9f9 !important;
}

.bg-separate {
    background-color: #e7d9d982 !important;
}

.bg-white {
    background-color: #ffffff !important;
}

.even {
    /*background-color: #f7f8f9 !important; !* Ещё светлее голубовато-серый *!*/
    background-color: #f5faf5 !important;
}

.odd {
    background-color: #f0f3f5 !important; /* Чуть темнее, но очень мягкий */
}


/* Позиционирование */
.center {
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
}

/* На узких экранах отключаем выравнивание элементов по центру,
   чтобы таблицы с липкими колонками не съезжали */
@media all and (max-width: 900px) {
    .center {
        justify-items: stretch !important; /* не центрируем grid-элементы */
    }
}

.left {
    width: 100%;
    text-align: left !important;
    justify-content: left !important;
    justify-items: left !important;
    align-items: center !important;
    /*padding-left: 20px !important;*/
}

.right {
    width: 100%;
    text-align: right;
    justify-content: right;
    justify-items: right;
    align-items: center;
    /*padding-right: 20px !important;*/
}

/* Margin-top */
.mt-10 {
    margin-top: 10px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-40 {
    margin-top: 40px !important;
}

.mt-50 {
    margin-top: 50px !important;
}

/* Margin-bottom */
.mb-10 {
    margin-bottom: 10px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-40 {
    margin-bottom: 30px !important;
}

.mb-80 {
    margin-bottom: 80px !important;
}

/* Margin-top-bottom */
.mtb-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mtb-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.mtb-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

.mtb-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.mtb-30 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* margin-right */
.mr-10 {
    margin-right: 10px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

/* margin-left-right */
.mlr-5 {
    margin-left: 5px !important;
    margin-right: 5px !important;
}
.mlr-10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.mlr-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
}


.pt-40 {
    padding-bottom: 40px !important;
}

/* Padding-bottom */
.pb-20 {
    padding-bottom: 20px !important;
}

.pb-80 {
    padding-bottom: 80px !important;
}

/* Padding-top-bottom */
.ptb-5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.ptb-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.ptb-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.ptb-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

/* Padding-left-right */
.plr-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Width */
.w-60 {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

.w-80 {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

.w-100 {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
}

.w-120 {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

.w-100-percent {
    width: 100% !important;
}


/* Границы */
.border {
    border: 1px solid #eee;
}

.border-top {
    border-top: 1px solid #eee;
}

.border-bottom {
    border-bottom: 1px solid #eee;
}

.border-left {
    border-left: 1px solid #eee;
}

.border-right {
    border-right: 1px solid #eee;
}

.border-tb {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.border-none {
    border: none !important;
}

/* Размеры */
.fs-75 {
    font-size: 75%;
}

.fs-80 {
    font-size: 80%;
}

.fs-85 {
    font-size: 85%;
}

.fs-90 {
    font-size: 90%;
}

.fs-95 {
    font-size: 95%;
}

.fs-110 {
    font-size: 110%;
}

/* Прочее */
.fa,
.cursor {
    cursor: pointer;
}

.hide {
    display: none !important;
}

.show {
    display: block !important;
}

.strong-mini {
    font-weight: 500;
}

.strong {
    font-weight: bold;
}


/* Стили для star_description */

.tooltip-container {
    position: relative;
    display: inline-block;
    margin-left: 5px;
}

.red-star {
    color: red;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    z-index: 1;
}

.tooltip-text {
    font-size: 14px;
    visibility: hidden;
    border: 1px solid #e8e8e8;
    background-color: #fff;;
    font-weight: normal;
    color: #000;
    text-align: center;
    padding: 5px 10px;
    border-radius: 5px;
    position: absolute;
    z-index: 500;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    white-space: normal; /* Позволяет перенос строк */
    word-wrap: break-word; /* Переносит длинные слова */
    overflow-wrap: break-word; /* Альтернативный вариант переноса */
    width: 100%;
    max-width: 400px; /* Ограничиваем ширину, чтобы текст не растягивался */
    min-width: 300px; /* Ограничиваем ширину, чтобы текст не растягивался */
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

/*// Только для inline-звёздочек рядом с текстом*/
label .tooltip-container {
    display: inline;
    margin-left: 4px;
    vertical-align: middle;
}


