body {
    background-color: #f8f9fa;
}

/*.header-green {*/
/*    background-color: #20c997; !* Зелений фон *!*/
/*    color: white;*/
/*    padding: 30px 0 75px 0;*/
/*    text-align: center;*/
/*}*/
/* Основний зелений фон */




.header-green {
    background-color: #20c997; /* Ваш відтінок зеленого */
    color: white;
    padding: 30px 0 100px 0; /* Трохи збільшимо відступи зверху/знизу для "повітря" */
}

/* Контейнер-обгортка для флексу */
.header-content {
    display: flex;             /* Вмикаємо режим рядка */
    align-items: center;       /* Головне: вирівнює центри лого і тексту по вертикалі */
    justify-content: center;   /* Центрує всю цю групу по середині екрану */
    gap: 30px;                 /* Гарний відступ між логотипом і текстом */
}

/* Налаштування логотипу */
.header-logo {
    width: 100px;              /* Фіксуємо розмір, щоб не стрибав */
    height: 100px;             /* Робимо квадратним (або auto, якщо лого прямокутне) */
    object-fit: contain;       /* Щоб картинка не розтягувалась */
    /* Якщо лого виглядає занадто великим, зменшіть width/height до 80px */
}

/* Блок з текстом */
.header-text {
    text-align: center;          /* Текст вирівняний по лівому краю (до логотипу) */
    display: flex;
    flex-direction: column;    /* Елементи тексту йдуть один під одним */
    justify-content: center;   /* Додаткова гарантія центрування */
}

/* Типографіка: прибираємо зайві відступи для рівності */
.header-text h1 {
    margin: 0;                 /* Прибираємо стандартні відступи браузера */
    font-size: 2.5rem;         /* Розмір заголовка */
    line-height: 1.1;          /* Щільніший рядок */
    font-weight: 700;
}

.header-text p {
    /* Прибираємо відступи */
    /* Додаємо акуратний відступ лише зверху від заголовка */
    margin: 8px 0 0;
    font-size: 1.1rem;
    opacity: 0.9;              /* Легка прозорість для підзаголовка виглядає стильно */
}

/* Адаптивність для телефонів (менше 768px) */
@media (max-width: 768px) {
    .header-content {
        flex-direction: column; /* На мобільному ставимо в стовпчик */
        text-align: center;
    }

    .header-logo {
        margin-bottom: -10px;    /* Відступ знизу від лого на мобільному */
    }
}






.header-green h1 {
    font-size: 2.5rem;
    margin-bottom: 5px;
}

.form-card {
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin-top: -70px; /* Трохи перекриває заголовок */
}

.table-card {
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin-top: 20px;
}

.required-star::after {
    content: ' *';
    color: red;
}

/* Стиль для елементів, які можна перетягувати */
#exercisesTableBody tr {
    cursor: grab;
}

/* ФІКС: Стиль для Select2, щоб він мав ту саму висоту, що й інші поля Bootstrap */
.select2-container--default .select2-selection--single {
    height: 38px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
    padding-left: 12px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}