*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    height: initial;
}

body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Ubuntu', sans-serif;
}

.access-container {
    display: flex;
    flex-direction: column;
    width: 95%;
    margin: 30vh auto 0;

    @media screen and (min-width: 500px) {
        width: 450px;
    }
}

main {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: var(--password-panel-margin);
    padding: 32px 0;
    border: var(--password-panel-border-width) var(--password-panel-border-style) var(--password-panel-border-color);
    border-radius: var(--password-panel-border-radius);
    background-color: var(--password-panel-background-color);

    @media screen and (min-width: 500px) {
        padding: var(--password-panel-padding);
        box-shadow: var(--password-panel-box-shadow);
    }
}

.main-header {
    display: flex;
    justify-content: center;
    margin-block-end: 10px;
    font-size: 16px;
    font-weight: 600;
    color: var(--password-panel-header-color);
}

.input {
    display: flex;
    flex-direction: column;
    margin: 10px 0;
}

.text-input {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    height: 36px;
    margin: 0;
    padding-block: 8px;
    padding-inline: 6px;
    border: 1px solid var(--ds-border-input, #8c8f97);
    border-radius: 6px;
    background-color: var(--ds-background-input, #fff);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--ds-text, #292a2e);

    &:hover {
        border-color: var(--ds-border-input, #8c8f97);
        background-color: var(--ds-background-input-hovered, #f8f8f8);
    }

    &:focus {
        border-color: var(--ds-border-focused, #4688ec);
        background-color: var(--ds-background-input-pressed, #fff);
        box-shadow: inset 0 0 0 1px var(--ds-border-focused, #4688ec);
        outline: none;
    }
}

.message-red {
    font-size: 14px;
    color: var(--ds-text-danger, #ae2e24);
}

.submit {
    display: flex;
    flex-direction: column;
    margin-block-start: 32px;
}

.access-button {
    display: inline-block;
    height: 2.2em;
    margin-block-end: 10px;
    padding: 0 10px;
    border-width: 0;
    border-radius: 3px;
    background-color: var(--password-panel-buttons-background-color);
    font-size: 16px;
    line-height: 2.2em;
    text-decoration: none;
    color: var(--password-panel-buttons-color);
    outline: none;
    cursor: pointer;

    &:hover {
        filter: brightness(1.1);
    }
}
