@media screen and (max-width: 1100px) {
    #photo {
        display: none;
    }
}

.page.user {

    #formPersonal {
        position: relative;
        height: 200px;

        #divPersonal {
            display: grid;
            grid-auto-flow: row;
            grid-auto-rows: min-content;
            grid-gap: 24px;
        }

        #divInitials {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: 140px;
        }

        #userInitials {
            position: relative;
            width: 100px;
            height: 40px;
            border-radius: 10px;
            cursor: pointer;
            overflow: hidden;
            display: inline-block;
            border: none;
            outline: none;
            background: #ccc;
            padding-left: 16px;
        }

        #photo {
            cursor: pointer;
        }

        & img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: contain;
            grid-column: -1 / -2;
            inset: 0;
        }

        #lblResetPassword {
            cursor: pointer;
            user-select: none;

            & span {
                font-weight: bold;
                color: royalBlue;
            }
        }
    }

    .unlink {
        background: lightpink;
        color: black;
        border: 1px solid red;        
    }

    #formHr {
        margin-block: 20px;
    }

    #tbuserId {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    #tbuser {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    #divuserTypes {
        grid-column: 2 / 3;
        grid-row: 1 / 3;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        place-items: center;
        color: gray;
    }

    #divuserTypes div {
        display: inline-grid;
        grid-template-rows: 50% 30%;
        width: 32px;
        height: 64px;
        border: 1px solid transparent;
        place-items: center;
        place-content: center;
        box-sizing: border-box;
    }

    #divuserTypes div v-icon {
        width: 32px;
        fill: gray;
        cursor: pointer;
    }

    #divuserTypes div v-icon.active {
        fill: var(--selected);
    }

    #divuserTypes div label {
        font-size: 10px;
        cursor: pointer;
    }

    .rights .user {
        max-width: 300px;
        margin-bottom: 24px;
    }

    section form.rights {
        display: grid;
        grid-gap: 1em;
    }


    #btnAddVerification {
        position: absolute;
        top: 0px;
        left: 300px;
    }

    .footer {
        display: inline-grid;

        .icon-button {
            width: 220px;
            height: 32px;
            justify-self: flex-end;

            & v-icon {
                color: var(--bg-color);
            }
        }
    }

    section.measures {
        padding: 2em;

        .report {
            cursor: pointer;

            & v-icon {
                width: 24px;
            }
        }
    }

    & section.biometrics {
        #formbiometrics {
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
            margin-bottom: 50px;
        }

        & .zones {
            grid-area: zones;

            & hr {
                margin-bottom: 1em;
            }

            h2.zones-titel {
                margin: 0px;
            }

            #zoneLabels {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                grid-gap: 1em;    
                margin-bottom: 1em;            

                & span {
                    text-align: center;
                    font-weight: bold;
                }
            }

            #zones {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                grid-gap: 1em;

                >div {
                    display: grid;
                    grid-gap: 6px;
                    grid-auto-rows: 32px;
                }

                & label {
                    text-align: center;
                }
            }

            .zone:first-child {
                color: lightslategray;
            }

            .zone {
                border-radius: 20px;
                color: #ffffff;
                place-content: center;
                text-align: center;
                /* text-shadow: 0px 0px 5px black; */

            }
        }        

    }


    section.chat {

        width: 400px;
        height: calc(100vh - 300px);
        margin: auto;

        .input {
            position: relative;
            width: 400px;
        }

        & input {
            position: relative;
            width: 400px;
            height: 44px;
            margin: auto;
            padding-left: 16px;
            padding-block: 4px;
            box-sizing: border-box;
            border: 1px solid lightgray;
            background: white;
            border-radius: 5px;
            outline: none;
            font-size: 16px;
            color: gray;
        }

        & input::placeholder {
            color: #888;
            /* Kleur van de placeholder-tekst */
            font-style: italic;
            /* Schuin gedrukte tekst */
            letter-spacing: 1px;
        }

        & v-icon {
            position: absolute;
            width: 24px;
            padding-inline: 8px;
            align-self: center;
            right: 16px;
            cursor: pointer;
        }

        #messages {
            display: grid;
            grid-auto-flow: row;
            grid-auto-rows: auto;
            width: 350px;
            max-height: 600px;
            background: whitesmoke;
            border: 1px solid gray;
            border-radius: 5px;
            margin-inline: auto;
            margin-bottom: 16px;
            padding: 24px;
            overflow-y: auto;

            .message {
                width: 240px;
                border-radius: 6px;
                padding: 16px;
                margin-bottom: 24px;
                position: relative;
            }

            .container {
                display: grid;
            }

            .message.coach {
                justify-self: right;
                background: seagreen;
                color: white;
            }

            /* Pijltje voor "you" berichten - achtergrond */
            .message.coach::after {
                content: "";
                position: absolute;
                top: -10px;
                right: 33px;
                border-width: 0 10px 10px 10px;
                border-style: solid;
                border-color: transparent transparent seagreen transparent;
            }

            .message.user {
                background: var(--bg-color);
                color: white;
            }

            .message.user::after {
                content: "";
                position: absolute;
                top: -10px;
                left: 33px;
                border-width: 0 10px 10px 10px;
                border-style: solid;
                border-color: transparent transparent var(--bg-color) transparent;
            }

            & label {
                color: gray;
                font-size: 14px;
            }

            & label.time.coach {
                justify-self: right;
                margin-bottom: 16px;
                padding-right: 20px;
            }

            & label.time.user {
                justify-self: left;
                margin-bottom: 16px;
                padding-left: 20px;
            }
        }
    }

    section.logging {
        padding: 1em;
    }

    #tableLogging {
        width: 360px;

        & thead tr {
            border: 1px solid var(--bg-color);
        }

        & thead tr th {
            background: var(--bg-light);
            color: white;
            text-align: center;
        }

        & tbody td {
            border: 1px solid gray;
        }

    }

    & section.subscriptions {
        .selection {
            width: 300px;
            margin-bottom: 1em;
        }

        .subs-grid {
            display: flex;
            flex-wrap: wrap; /* Zorgt voor het omklappen */
            gap: 2em;        /* Ruimte tussen de kolommen/rijen */
        }

        .selections {
            flex: 0 0 300px; /* Houdt de linker kant op precies 300px */            
        }

        .subs-table {
            flex: 1 1 500px; /* Neemt de rest van de ruimte, klapt om bij < 500px */
            min-width: 0;    /* Voorkomt dat de tabel de flexbox kapot drukt */
            overflow-x: auto; 
        }

        #btnBuySubscription {
            position: relative;
            height: 40px;  
            width: 300px;                      
            padding-block: 6px;
            border: 1px solid #ccc;
            border-radius: 5px;
            background-color: var(--bg-light);
            color: white;
            cursor: pointer;
            text-align: center;
        }

        table {
            border-collapse: collapse;
        }

        th, td {
            text-align: left;
            border: 1px solid gray;
            padding-block: 4px;
            padding-left: 10px;
            padding-right: 24px;
        }
    }
}

.modal-content {

    .custom-row {
        position: relative;
        margin-bottom: 16px;

        & h3 {
            margin-block: 4px;
        }

        & h5 {
            margin: 0px;
            color: dimgray;
        }
    }

    & button {
        background: var(--bg-light);
        color: white;
        width: 200px;
        border-radius: 8px;
        right: 0px;
        height: 32px;
        text-transform: uppercase;
        display: block;
    }

    .custom-row.period {
        display: grid;
        grid-template-columns: 200px 1fr;

        & #dates {
            margin-inline: 64px;
            margin-block: 16px;
        }

        & input {
            display: block;
            width: 300px;
            height: 40px;
            border-radius: 10px;
            border: 1px solid var(--bg-color);
            box-sizing: border-box;
            padding-inline: 12px;
            font-size: 17px;
            outline: none;
            margin-bottom: 24px;
            box-sizing: border-box;
        }

        & input.error {
            border: 2px solid red;
        }

    }

    .custom-select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-color: #fff;
        border: 1px solid #ccc;
        border-radius: 4px;
        padding: 8px;
        font-size: 16px;
        color: #333;
        width: 300px;
        cursor: pointer;
        box-sizing: border-box;
    }

    .custom-select.error {
        border: 2px solid red;
    }

    .custom-select:focus {
        outline: none;
        border-color: #007bff;
        box-shadow: 0 0 5px rgba(0, 123, 255, 0.3);
    }

    & hr {
        width: 100%;
    }

    & th {
        min-width: 100px;
    }

    & td {
        box-sizing: border-box;
        height: 44px;
        align-content: center;
    }

    .draggable {
        background: var(--bg-light);
        ;
        color: white;
        padding: 5px;
        border-radius: 4px;
        cursor: move;
        text-align: center;
    }

    .draggable.dragging {
        opacity: 0.5;
    }

    .droppable {
        min-height: 40px;
        padding: 5px;
    }

    .droppable.highlight {
        border: 2px dashed navy;
        background-color: #f0f8ff;
        /* Lichtblauwe highlight */
    }

    #map {
        height: 600px;
        /* Pas hoogte aan voor je backoffice */
        width: 1000px;

        .leaflet-control-attribution {
            display: none;
        }
    }
}

.vo2-textboxes {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 1em;
    width: 660px;
    margin-bottom: 1em;
    align-items: end;
}

.tab-content textarea {
    width: 648px;
    height: 100px;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 1em;
}