#session {
    margin: 1rem;

    > * {
        margin: 0;
    }

    input:not([type="checkbox"]),
    textarea {
        field-sizing: content;
        min-height: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        overflow: auto;
        resize: none;

        &:focus {
            outline: none;
        }

        &::placeholder {
            color: var(--bs-body-color);
            opacity: .5;
        }
    }

    .ts-wrapper {
        min-height: 0;

        .ts-control {
            color: var(--bs-body-color);
            padding: 0 !important;
            border: none;
            background: transparent;
            box-shadow: none;

            &::after {
                display: none;
            }

            input {
                font-size: inherit;
                font-weight: inherit;
                color: inherit;
            }
        }

        .ts-dropdown {
            font-size: 1rem;
            border: var(--bs-border-width) solid var(--bs-border-color-translucent);
            border-radius: var(--bs-border-radius);
            background: var(--bs-body-bg);

            > .ts-dropdown-content {
                padding: .5rem 0;

                > :is(.option, .create, .no-results) {
                    color: var(--bs-body-color) !important;
                    padding: .25rem 1rem;

                    &.active {
                        color: inherit;
                        background: inherit;
                    }
                }
            }

            .highlight {
                color: var(--bs-body-bg);
                background: var(--bs-primary);
            }
        }
    }

    [data-session-target="title"] {
        font-size: 1.5rem;
        line-height: normal;
        text-align: center;
    }

    [data-session-target="date"] {
        font-size: 1rem;
        font-weight: 300;
        text-align: center;
        margin: .5rem 0 2rem;
    }

    [data-session-target="children"] {
        > :not(:last-of-type) {
            margin: 0 0 2rem;
        }
    }

    [data-exercise-target="type"] + .ts-wrapper {
        .ts-control {
            font-size: 1.25rem;
            line-height: normal;
        }
    }

    [data-exercise-target="variation"] + .ts-wrapper {
        margin: .5rem 0 1rem;

        .ts-control {
            font-size: 1rem;
            font-weight: 300;
        }
    }

    [data-exercise-target="children"] {
        > * {
            margin: 0 0 1rem;
        }
    }

    [data-exercise-target="create"] {
        text-decoration: none;
        padding: 0;
    }

    :has(> [value="App\\Entity\\Training\\Set"]) {
        display: flex;
        align-items: center;
        gap: .5rem;
        height: 24px;
    }

    :has(> [data-set-target="repetitions"]) {
        display: flex;
        align-items: center;
        gap: .5rem;

        &::after {
            content: '×';
            opacity: .75;
        }
    }

    :has(> [data-set-target="weight"]) {
        display: flex;
        align-items: center;
        gap: .5rem;

        &::after {
            content: 'kg';
            opacity: .75;
        }
    }

    :has(> [data-set-target="comment"]) {
        flex-grow: 1;
        overflow: hidden;
    }

    [data-set-target="comment"] {
        font-style: italic;
        width: 100%;
    }

    [data-comment-target="text"] {
        font-style: italic;
    }

    [data-set-target="delete"] {
        text-decoration: none;
        padding: 0;
    }
}

#create {
    > button {
        position: fixed;
        bottom: 0;
        right: 0;
        margin: 1rem;
        z-index: 1056;

        > i::before {
            font-weight: bold !important;
        }
    }

    > .modal {
        > .modal-dialog {
            position: fixed;
            bottom: 62px;
            right: 0;
            margin: 1rem;

            > .modal-content {
                background: none;
                border: none;
                align-items: end;
                gap: .75rem;

                > button {
                    width: fit-content;
                }
            }
        }
    }
}
