.modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content {
    background: var(--color-surface);
    border-radius: var(--radius-card);
    padding: var(--pad-xl);
    width: 500px;
    max-width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    /* Тонкий аккуратный скроллбар (Firefox) */
    scrollbar-width: thin;
    scrollbar-color: var(--color-border) transparent;
}

/* Красивый скроллбар внутри модального окна (WebKit/Chromium) */
.modal-content::-webkit-scrollbar {
    width: 8px;
}

.modal-content::-webkit-scrollbar-track {
    background: transparent;
    /* Отступ сверху/снизу, чтобы ползунок не упирался в скруглённые углы окна */
    margin: 12px 0;
}

.modal-content::-webkit-scrollbar-thumb {
    background: var(--color-border);
    border-radius: 8px;
}

    .modal-content::-webkit-scrollbar-thumb:hover {
        background: #94a3b8;
    }

.modal-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

/* Кнопка удаления в окне редактирования мероприятия */
.modal-actions .danger {
    background: #dc2626;
    color: #fff;
}

    .modal-actions .danger:hover {
        background: #b91c1c;
    }

/* ===== Общеуниверситетское мероприятие: блок выбора участников ===== */
.uni-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.uni-filters input,
.uni-filters select {
    flex: 1 1 auto;
    min-width: 140px;
}

.uni-people-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0;
}

.uni-people-list {
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: 12px;
    padding: 8px 12px;
}

.uni-person {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    cursor: pointer;
}

/* Модалка «Занятие» (пара, read-only): строки «метка — значение». */
.para-modal {
    width: 440px;
}

.para-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 6px 0 4px;
}

.para-row {
    display: flex;
    gap: 12px;
    align-items: baseline;
    padding: 6px 0;
    border-bottom: 1px solid var(--color-border-soft);
}

    .para-row:last-child {
        border-bottom: none;
    }

.para-label {
    flex: 0 0 88px;
    font-size: 13px;
    color: var(--color-text-muted);
}

.para-val {
    flex: 1;
    font-size: 14px;
    color: var(--color-text);
}

/* Мобильный: модалка — полноэкранная шторка, кнопки прижаты к низу. */
@media (max-width: 768px) {
    .modal {
        align-items: flex-end;
    }

    .modal-content {
        width: 100%;
        max-width: 100%;
        max-height: 92vh;
        border-radius: var(--radius-card) var(--radius-card) 0 0;
        display: flex;
        flex-direction: column;
    }

    .modal-actions {
        position: sticky;
        bottom: 0;
        background: var(--color-surface);
        padding-top: 10px;
        margin-top: auto;
    }

        .modal-actions button {
            min-height: 42px;
        }

    /* Общеуниверситетское мероприятие: кнопки участников переносятся и растягиваются,
       список выше, длинные ФИО переносятся, поля не выпирают за край. */
    .uni-people-actions {
        flex-wrap: wrap;
        gap: 8px;
    }

        .uni-people-actions button {
            flex: 1 1 45%;
        }

        .uni-people-actions #uniSelectedCount {
            flex-basis: 100%;
        }

    .uni-people-list {
        max-height: 45vh;
    }

    .uni-person span {
        word-break: break-word;
    }

    #uniEventModal .form-group input,
    #uniEventModal .form-textarea {
        width: 100%;
        box-sizing: border-box;
    }
}
