
form {

    display: flex;
    flex-direction: column;
    gap: 1.25rem;

    fieldset {
        border: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 1.25rem;

        legend {
            padding: 0;
            margin: 0;
        }
    }

    label {
        font-size: 0.875rem;
        font-weight: 400;
        color: var(--color-gray-07);
    }

    input[type=text], [type=number], [type=date], [type=time], [type=email], [type=url], select {
        background-color: #EBF1F7;
        border: none;
        padding: 0.75rem;
        font-size: 0.875rem;
        font-weight: 400;
        color: var(--color-gray-08);
        border-radius: 0rem;
        appearance: initial;
    }

    .form-item {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;

        &.with-button {
            display: flex;
            flex-direction: row;
            gap: 1rem;
            align-items: center;
        }

        &.time {
            display: flex;
            flex-direction: row;
            align-items: center;
        }

        &.with-popover {
            position: relative;
        }

        &.inline {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
        }
    }
}

/* Tabs */

.tabs-group {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: fit-content;

    .tab {
        padding: 0.75rem;
        background-color: inherit;
        border: none;
        border-block-end: 2px solid var(--color-gray-03);

        &:hover {
            border-block-end: 2px solid var(--color-gray-05);
        }

        &.active {
            border-block-end: 2px solid var(--color-blue-06);
        }

        .tab-label {
            font-size: 0.875rem;
            font-weight: 400;
            pointer-events: none;
        }
    }
}

.tabs-panels {

    .panel {
        padding: 1rem;
        background-color: white;
        overflow: hidden;
    }

}

/* Splitview */
.splitview {
    display: grid;
    grid-template-columns: 1fr 3fr;
    height: 100%;
    overflow: hidden;
    border: 2px solid lightgray;
    border-top: 1px solid lightgray;

    .splitview-sidebar {
        padding: 0rem 0rem 10rem 0rem;
        overflow-y: scroll;
    }

    .splitview-content {
        padding: 2rem 2rem 10rem 2rem;
        overflow-y: scroll;
        height: -webkit-fill-available;
    }
}

/* Toolbar */
.toolbar {
    display: flex;
    align-items: center;
    justify-content: end;
    border: 2px solid lightgray;
    border-bottom: 1px solid lightgray;
}

/* Sidebar */
.sidebar {
    display: flex;
    flex-direction: column;
    border-right: 2px solid lightgray;
    overflow-y: scroll;
    height: -webkit-fill-available;

    .sidebar-item {
        padding: 0.125rem 0.5rem;
        font-size: 0.875rem;
        font-weight: 400;

        &.selected {
            background-color: var(--color-gray-03);
            border-left: 2px solid var(--color-blue-06);
        }

        &:not(.selected):hover {
            background-color: var(--color-gray-02);
        }

        .item-label {
            pointer-events: none;
        }

        .item-icon {
            height: 1rem;
            width: 1rem;
            /* stroke: var(--color-blue-06); */
            pointer-events: none;
        }
    }
}

/* Data collection */
.data-collection {

    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2rem;
    
    .datum {
        
        display: flex;
        flex-direction: column;
        gap: 0.25rem;

        .datum-label {
            margin: 0;
            font-weight: 500;
        }

        .datum-value {
            margin: 0;
        }

    }

}

/* Tiles */
.tiles-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: fit-content;
    height: fit-content;
    margin: auto;
    gap: 2rem;
}

.tile-with-image {

    display: grid;
    grid-template-columns: 1fr 1fr;

    img {
        width: 100%;
        aspect-ratio: 2 / 2;
        object-fit: cover;
    }

    &:hover {
        div {
            background-color: var(--color-gray-03);
        }
    }

}

.tile {

    padding: 1rem 1rem;
    text-decoration: none;
    color: inherit;
    background-color: var(--color-gray-02);
    border: 1px solid var(--color-gray-03);
    /* background-color: rgba(244, 244, 244, 0.5); */

    &:hover {
        background-color: var(--color-gray-03);
    }
    
    .tile-heading {
        margin: 0;
        margin-bottom: 2rem
    }
    
    .tile-description {
        margin: 0; 
        margin-bottom: 4rem;
    }
}

.clickable {
    text-decoration: none;
    color: inherit;
}