* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
}

body {
    font-family: "Inter", sans-serif;
    background-color: rgb(18, 29, 51);
}

a {
    color: rgb(12, 108, 242);
    text-decoration: none;
}

.logo { 
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 24px;
    line-height: 1;
    color: #FFF;
}

.logo span {
    font-weight: 700;
}

.container {
    width: 100%;
    max-width: 512px;
    margin: 0 auto;
}

header .container {
    width: 100%;
    max-width: 100%;
    height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url(/img/bg-pattern.svg);
}

.form-container {
    padding: 2rem 2rem 0px;
    border-radius: 0.75rem;
    background-color: #FFF;
}

.form-title {
    font-weight: 600;
    font-size: 24px;
    line-height: 1.5;
    text-transform: none;
    font-style: normal;
    color: rgb(18, 29, 51);
    cursor: inherit;
    text-align: center;
}

.form-container p {
    color: rgb(103, 113, 132);
}

.form-subtitle {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    text-transform: none;
    font-style: normal;
    color: rgb(18, 29, 51);
    cursor: inherit;
    text-align: center;
    margin-top: 8px;
}

form {
    margin-top: 20px;
}

.form-group {
    display: flex;
    align-items: center;
    gap: 16px;
}

.form-control {
    margin-bottom: 16px;
}

form label {
    font-weight: 600;
    font-size: 14px;
    line-height: inherit;
    text-transform: none;
    font-style: normal;
    color: rgb(53, 63, 82);
    cursor: inherit;
    display: block;
    margin-bottom: 5px;
}

form input:not([type="checkbox"]) {
    position: relative;
    display: block;
    width: 100%;
    height: 48px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 12px;
    box-sizing: border-box;
    color: rgb(53, 63, 82);
    background-color: rgb(255, 255, 255);
    background-image: none;
    outline-width: 0px;
    user-select: text;
    border-radius: 8px;
    border: 1px solid rgb(223, 227, 235);
    border-image: initial;
}

.d-flex {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

label[for="terms"] {
    font-weight: 500;
    font-size: 12px;
    line-height: inherit;
    text-transform: none;
    font-style: normal;
    color: rgb(53, 63, 82);
    cursor: inherit;
    display: inline-block;
    opacity: 1;
}

form button {
    display: flex;
    flex-direction: row;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    width: 100%;
    min-width: 140px;
    height: 48px;
    padding: 10px 15px;
    box-sizing: border-box;
    user-select: none;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    letter-spacing: normal;
    transition: all 0.2s ease-in-out 0s;
    white-space: nowrap;
    line-height: 1;
    text-transform: none;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    color: rgb(255, 255, 255);
    background-color: rgb(12, 108, 242);
    border-radius: 8px;
    border-style: solid;
    border-width: 1px;
    border-color: rgb(12, 108, 242);
    cursor: pointer;
}

form button[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-bottom {
    display: flex;
    gap: 8px;
    -webkit-box-pack: center;
    justify-content: center;
    margin-top: 24px;
    border-top: 1px solid rgb(240, 242, 247);
    padding-top: 16px;
    padding-bottom: 1.5rem;
    text-align: center;
    font-weight: 500;
    font-size: 16px;
    line-height: inherit;
    text-transform: none;
    font-style: normal;
    color: rgb(103, 113, 132);
    cursor: inherit;
    opacity: 1;
}

.error-row {
    text-align: center;
    color: #e30000;
    font-weight: 600;
}

@media screen and (max-width: 500px) {
    .form-container {
        padding-left: 16px;
        padding-right: 16px;
    }
    .form-bottom {
        flex-direction: column;
    }
}