﻿main {
    display: grid;
    max-width: 100%;
    grid-template-columns: 100%;
    grid-template-rows: auto;
    grid-template-areas:
        "dialog";

    padding: 1rem;

    .login-dialog {
        grid-area: dialog;

        text-align: center;
        padding: 2rem;

        .login-dialog-logo {
            max-width: 300px;
            max-height: 181px;
            margin-bottom: 20px;
        }

    }
}

.validation-error {
    background: maroon;
    color: white;
    padding: 10px 10px;
    box-shadow: 5px 5px 5px rgb(0, 0, 0, 0.5);
    margin-bottom: 15px;
}

.login-dialog-userpass {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;

    .login-dialog-username-prompt,
    .login-dialog-password-prompt {
        min-width: 250px;
        max-width: 300px;
        font-size: 16px;
    }

    .login-dialog-forgotpassword-link {
        font-size: 120%;
        margin-top: 10px;
    }

    .login-dialog-forgotuserid-text {
        font-size: 90%;
    }

    form { display: contents; }

    .change-password-visibility-icon {
        display: flex;
        font-size: 0;
        line-height: 0;
        label { display: flex; font-size: 0; line-height: 0; }

        .show-password-icon { display: inline-flex; }
        .hide-password-icon { display: none; }
        input { display: none; }
        svg {
            max-width: 19px;
            max-height: 19px;
        }
    }
    .change-password-visibility-icon:has(input:checked) {
        .hide-password-icon { display: inline-flex; }
        .show-password-icon { display: none; }
    }
}

.login-dialog-or {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto;
    grid-template-areas:
        "lineleft text lineright";

    align-items: center;

    opacity: 0.6;
    margin-top: 20px;
    margin-bottom: 20px;

    .login-dialog-or-lineleft { grid-area: lineleft; }
    .login-dialog-or-text { grid-area: text; margin-left: 8px; margin-right: 8px; }
    .login-dialog-or-lineright { grid-area: lineright; }

    .login-dialog-or-lineleft,
    .login-dialog-or-lineright { 
        height: 1px;
        border-top: 1px solid currentColor;
    }
}

.login-dialog-passkey {
    .login-dialog-passkey-button {
        display: flex;
        flex-direction: row;
        margin-left: auto;
        margin-right: auto;

        .login-dialog-passkey-button-icon {
            display: inline-block;

            width: 1.25em;
            height: 1.25em;
            margin-right: 7px;

            & svg {
                width: 1.25em;
                height: 1.25em;
            }
        }
    }
}


@media (width <= 1024px) {
    main {
        display: block;
        max-width: 100%;

        padding-left: 0;
        padding-right: 0;

        .login-hero-image {
            display: none;
        }
    }
}
@media (width > 1024px) {
    main {
        
        .login-hero-image {}
    }
}