﻿.modal-radio-cards {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.modal-radio-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    background: var(--bs-body-bg);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

    .modal-radio-card:hover {
        border-color: var(--bs-primary);
        background: var(--bs-tertiary-bg);
    }

    .modal-radio-card.selected {
        border-color: var(--bs-primary);
        background: rgba(var(--bs-primary-rgb), 0.08);
        box-shadow: 0 0 0 1px var(--bs-primary);
    }

.modal-radio-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.modal-radio-indicator {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 1.25rem;
    border: 2px solid var(--bs-secondary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-radio-card.selected .modal-radio-indicator {
    border-color: var(--bs-primary);
}

    .modal-radio-card.selected .modal-radio-indicator::after {
        content: "";
        width: 0.625rem;
        height: 0.625rem;
        border-radius: 50%;
        background: var(--bs-primary);
    }

.modal-radio-content {
    min-width: 0;
}

.modal-radio-title {
    font-weight: 500;
    font-size: 1.5rem;
}

.modal-radio-subtitle {
    display: block;
    font-size: 1rem;
}

.modal-radio-info {
    font-weight: 500;
    font-size: 1.1rem;
    padding: 1rem;
}

.modal-error{
    margin: 1rem;
}

.modal-priority-radio-badge,
.modal-strategy-radio-badge {
    display: inline-flex;
    transform: scale(1.5);
    transform-origin: left center;
}

/* the user assignment modal (19 October 2026): the cards in a grid, one column on a phone, two on a tablet, three on a desktop */
.modal-user-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .modal-user-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .modal-user-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

    .modal-user-grid .modal-radio-card {
        align-items: flex-start;
        padding: 0.75rem;
    }

    .modal-user-grid .modal-radio-title {
        display: block;
        font-size: 1.1rem;
        line-height: 1.3;
    }

    .modal-user-grid .modal-radio-subtitle {
        font-size: 0.85rem;
    }

.modal-user-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
    font-size: 0.8rem;
}

.modal-user-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

    .modal-user-toolbar .search-box {
        position: relative;
        flex: 1 1 auto;
        max-width: 20rem;
    }

        .modal-user-toolbar .search-box i {
            position: absolute;
            left: 0.75rem;
            top: 50%;
            transform: translateY(-50%);
            color: var(--bs-secondary-color);
        }

        .modal-user-toolbar .search-box input {
            padding-left: 2.25rem;
        }
