.input-form
{
    display: grid;
    grid-template-columns: 1fr;
    margin: 0 auto;
    width: 40%;
    align-items: center;
    padding-bottom: 1.5em;
}

.input-form label
{
    align-self: end;
    font-weight: bold;
}

.input-form label.optional
{
    font-weight: normal;
}

.input-form input.error
{
    border: 2px solid rgba(236, 104, 104, 1);
}

.input-form > #login-form
{
    display: grid;
    grid-template-columns: 0.5fr 1fr;
    grid-template-rows: repeat(2, 1fr);
    height: 100%;
    align-self: center;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
    align-content: end;
}

.input-form > #login-form label
{
    align-self: center;
    font-weight: bold;
}

.input-form > #user-form, .input-form > #client-form
{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-bottom: 2em;
}

.input-form:has(#customer-form)
{
    width: 45%;
}

.input-form > #customer-form
{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    row-gap: 10px;
    margin-bottom: 1em;
}

.customer-input
{
    border: none;
    border-bottom: 2px solid var(--select-border);
    background-image: linear-gradient(to top, #f9f9f9, #fff 33%);
    padding: 0.25em;
    font-size: 1em;
}

.customer-input:focus
{
    border: 1px solid var(--select-focus);
    border-radius: inherit;
    outline: 3px solid transparent;
    padding: 0.25em;
}

.form-row
{
    display: grid;
    grid-template-columns: 1fr 2fr;
    height: 100%;
    width: 100%;
    align-self: center;
    align-items: center;
    column-gap: 10px;
}

.form-row:has(span.error:not(.hidden))
{
    padding-bottom: 0.75em;
}

.form-row.error
{
    border: 1px solid rgba(236, 104, 104, 1);
    border-left: 1em solid rgba(236, 104, 104, 1);
    padding: 1em;
}

/* #cname-error, #cname-error, #ctype-error, #contact-error, #email-error, #contactnr-error, #max-error */
#input-form .error
{
    grid-column: 2 / 3;
}

.user-role
{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-around;
    row-gap: 1em;
}

#add-client
{
    grid-template-rows: 3em 5fr 1fr;
}

#add-customer
{
    grid-template-rows: 3em 5fr 1fr;
}

#login
{
    grid-template-rows: 3em 0.25fr 2fr 2em 3em;
}

#login h1
{
    padding-top: 1em;
}

#inactive_msg
{
    margin-top: 2.5em;
}

.diy-select
{
    position: relative;  
    display: inline-block;
    border-bottom: 0;
}

.select-button
{
    width: 100%;
    min-width: 15ch;
    border-bottom: 2px solid var(--select-border);
    cursor: pointer;
    line-height: 1.1;
    background-color: #fff;
    display: grid;
    grid-template-columns: 15fr 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: "text select";
    align-items: center;
    position: relative;
}

.select-dropdown
{
    display: block;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    width: 100%;
    padding-left: 0.25em;
    padding-right: 0.25em;
    overflow-y: scroll;
}

.select-dropdown label
{  
    display: block;
    margin-top: 10px;
    font-weight: normal;
}

.select-dropdown .header-text, #all-label
{
    font-size: 1.05em;
    font-weight: bold;
}

.select:hover .select-dropdown
{
    display: block;
}

textarea
{
    height: 8em;
    margin: 0.25em;
}

.select-button::after
{
    content: "";
    width: 0.8em;
    height: 0.5em;
    background-color: var(--select-arrow);
    clip-path: polygon(100% 0%, 0 0%, 50% 100%);
    justify-self: end;
    grid-area: select;
}

.select-dropdown input, .select-dropdown label
{
    margin-bottom: 0.25em;
    margin-top: 0.25em;
}

#contents.hidden
{
    visibility: hidden;
}

.form-column
{
    display: flex;
    flex-direction: column;
}

.hidden
{
    visibility: hidden;
}

.input-area
{
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: repeat(2, 1fr);
    padding: 0.25em;
}

.input-area.error
{
    border: 1px solid rgba(236, 104, 104, 1);
    border-left: 1em solid rgba(236, 104, 104, 1);
}

.input-area:has(#user-role), .error:has(#user-role)
{
    grid-template-rows: 1fr 0.5fr;
}

span[id$='error']
{
    font-size: 0.75em;
    padding-top: 0.75em;
    grid-column: 2/3;
    grid-row: 2/3;
}

.error_area
{
    padding-bottom: 2em;
}

label[for="agree"]
{
    font-weight: normal;
}

#agree
{
    margin-right: 10px;
}

#submit-order
{
    cursor: pointer;
}

#submit-order:disabled
{
    color: #fff;
    cursor: default;
}