/* Área do aluno fiel ao protótipo. As regras estão isoladas para não alterar o restante site. */
.ips-portal-modal {
    padding: 24px;
    background: rgba(23, 36, 61, .72);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.ips-portal-dialog {
    width: min(512px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    padding: 32px 25px 24px;
    border: 1px solid #d9deea;
    border-radius: 2px;
    box-shadow: 0 28px 70px rgba(10, 18, 35, .38);
}

.ips-portal-dialog h2 {
    margin: 0 0 24px;
    color: #17243d;
    font-size: clamp(42px, 6vw, 56px);
    line-height: 1;
    letter-spacing: -.055em;
}

.ips-portal-dialog > p {
    margin: 0 0 24px;
    color: #17243d;
    font-size: 14px;
}

.ips-modal-close {
    top: 9px;
    right: 14px;
    padding: 0;
    color: #657087;
    font: 400 22px/1 Arial, sans-serif;
}

.ips-portal-tabs {
    gap: 3px;
    margin: 0 0 32px;
    padding: 3px;
    border-radius: 9px;
    background: #eef1f7;
}

.ips-portal-tabs button {
    min-height: 30px;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 400;
}

.ips-portal-tabs button.active {
    font-weight: 700;
    box-shadow: 0 1px 3px rgba(23, 36, 61, .16);
}

.ips-portal-dialog .login-username,
.ips-portal-dialog .login-password,
.ips-portal-dialog .login-submit {
    margin: 0 0 11px;
}

.ips-portal-dialog .login-username label,
.ips-portal-dialog .login-password label,
.ips-portal-dialog .login-remember {
    display: none;
}

.ips-portal-dialog #user_login,
.ips-portal-dialog #user_pass,
.ips-portal-dialog [data-panel="criar"] input {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
    border: 1px solid #8995ab;
    border-radius: 0;
    background: #fff;
    color: #17243d;
    font-size: 16px;
    box-shadow: none;
}

.ips-portal-dialog #wp-submit,
.ips-portal-dialog [data-panel="criar"] .ips-button {
    width: 100%;
    min-height: 50px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #3153db;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.ips-portal-dialog [data-panel="entrar"] > p {
    margin: 5px 0 0;
    text-align: center;
    font-size: 11px;
}

.ips-portal-dialog [data-panel="entrar"] > p a {
    color: #344057;
    text-decoration: none;
}

.ips-portal-dialog [data-panel="criar"] form {
    gap: 11px;
}

.ips-portal-dialog [data-panel="criar"] small {
    display: block;
    text-align: center;
    color: #58647a;
}

@media (max-width: 520px) {
    .ips-portal-modal { padding: 16px; }
    .ips-portal-dialog { padding: 30px 20px 22px; }
    .ips-portal-dialog h2 { font-size: 42px; }
}
