:root {
--font: system-ui, sans-serif;
--main: #10b77f;
--main-dark: #0fa573;
--black: #212121;
}

* {
box-sizing: border-box;
}

html, body {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
box-sizing: border-box;
overflow: hidden;
font-family: var(--font);
font-size: 15px;
background-color: #fafafa;
color: var(--black);
}

#content {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}

.container-login {
width: 340px;
height: auto;
display: flex;
flex-direction: column;
}

.logo {
display: flex;
width: fit-content;
height: fit-content;
align-items: center;
justify-content: center;
color: var(--main);
text-decoration: none;
font-weight: 700;
align-self: center;
gap: 3px;
}

#popLogin {
display: flex;
flex-direction: column;
gap: 20px;
}

#login-form {
display: flex;
width: 100%;
flex-direction: column;
gap: 20px;
}

.login-container button {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--font);
font-size: 15px;
cursor: pointer;
background-color: var(--main);
border: none;
padding: 10px;
border-radius: 5px;
color: #fff;
letter-spacing: 1px;
font-weight: 600;
}

.login-container button:hover {
background-color: var(--main-dark);
}

.input-login {
width: 100%;
border: 1px solid #ddd;
border-radius: 5px;
background-color: #fff;
padding: 10px;
outline: none;
font-family: var(--font);
font-size: 15px;
color: var(--black);
}

.input-login:hover {
border-color: var(--main);
}

.input-login:focus {
border-color: var(--main-dark);
}

.input-login::placeholder {
color: #aaa;
}

.input-login:focus::placeholder {
color: transparent;
}

#textoEsqueci {
color: #999;
text-decoration: none;
cursor: pointer;
text-decoration: none;
}

#textoEsqueci:hover {
color: var(--main) !important;
}

.pass-group {
position: relative;
}

.toggle {
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: fit-content;
position: absolute;
z-index: 9999;
top: 13px;
right: 8px;
color: #999;
}

.toggle:hover {
color: var(--main-dark);
}

input[type="password"]::-ms-reveal {
display: none;
}

.conta {
display: flex;
height: fit-content;
align-items: center;
justify-content: center;
color: var(--black);
gap: 3px;
}

.conta a {
font-weight: 600;
text-decoration: none;
color: var(--black);
}

.conta a:hover {
color: var(--main);
text-decoration: 2px underline;
}

#noti {
visibility: hidden;
width: max-content;
text-align: center;
border-radius: 5px;
padding: 12px 15px;
user-select: none;
position: fixed;
z-index: 9999999 !important;
font-family: var(--font);
display: flex;
align-items: center;
justify-content: center;
line-height: 1.4;
font-size: 11px;
font-weight: 500;
background-color: #373c40;
color: #fff;
bottom: 0px;
left: 50%;
transform: translate(-50%, -50%);
opacity: 0;
animation: slideIn .3s forwards;
}

#noti.show {
box-shadow: rgb(0 0 0 / 10%) 0px 4px 6px 0px;
visibility: visible;
opacity: 1;
}

@keyframes slideIn {
from { bottom: -200px; opacity: 0; } 
to { bottom: 0px; opacity: 1; }
}