/* Color Theme Swatches in Hex */
/* Color Theme Swatches in RGBA */
.section {
  margin: 2em;
}
.section .page-title {
  text-transform: capitalize;
}
.section .section-content {
  margin: 1em;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  .section {
    margin: 1em 0.5em;
  }
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 601px) and (max-width: 768px) {
  .section {
    margin: 1.5em 0.75em;
  }
}
i {
  font-size: 1em;
}

/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
@keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
.card-deck {
  margin-bottom: 1.25em;
}

.card {
  border-radius: var(--radius-lg, 14px);
  overflow: hidden;
  padding: 1em;
  border: none;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
}
.card .card-header {
  border-radius: 0;
  background-color: transparent;
  padding: 0;
  border: none;
  vertical-align: center;
}
.card .card-header h1, .card .card-header h2, .card .card-header h3, .card .card-header h4, .card .card-header h5, .card .card-header h6 {
  text-transform: capitalize;
}
.card .card-body {
  padding: 0;
}
.card .card-footer {
  background-color: transparent;
  padding: 0;
  border: none;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
  .card-deck {
    margin-bottom: 1em;
  }
  .card-deck .card {
    padding: 0.75em;
  }
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 601px) and (max-width: 768px) {
  .card-deck {
    margin-bottom: 1em;
  }
  .card-deck .card {
    padding: 1em;
  }
}
/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
@keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
.dropdown-menu {
  border: none;
  border-radius: var(--radius-md, 10px);
}
.dropdown-menu a {
  text-transform: capitalize;
}

/* Color Theme Swatches in Hex */
/* Color Theme Swatches in RGBA */
/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
@keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
.btn {
  border-radius: var(--radius-md, 10px);
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
  text-transform: capitalize;
  font-weight: 500;
}
.btn i {
  margin-right: 0.5em;
}
.btn:hover, .btn:focus {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.btn:hover:hover, .btn:hover:focus, .btn:hover:active, .btn:focus:hover, .btn:focus:focus, .btn:focus:active {
  -webkit-animation-name: hvr-pulse-grow;
  animation-name: hvr-pulse-grow;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

.btn-dark-red-f-gr {
  background: var(--moz-gradient);
  color: white;
  border: 1.5px solid transparent;
}
.btn-dark-red-f-gr:hover, .btn-dark-red-f-gr:focus {
  background: none;
  border-color: var(--moz-blue-500);
  color: var(--moz-blue-500);
}

.btn-dark-red-f {
  background-color: var(--moz-blue-500);
  background-image: var(--moz-gradient);
  color: white;
  border: 1.5px solid transparent;
}
.btn-dark-red-f:hover, .btn-dark-red-f:focus {
  background: none;
  border: 1.5px solid var(--moz-blue-500);
  color: var(--moz-blue-500);
}

.btn-dark-red-o {
  background-color: transparent;
  color: var(--moz-blue-500);
  border: 1.5px solid var(--moz-blue-500);
}
.btn-dark-red-o:hover, .btn-dark-red-o:focus {
  background-color: var(--moz-blue-500);
  background-image: var(--moz-gradient);
  border: 1.5px solid transparent;
  color: white;
}

.btn-dark-blue-f {
  background-color: var(--moz-navy-900);
  color: white;
}
.btn-dark-blue-f:hover, .btn-dark-blue-f:focus {
  background-color: transparent;
  border: 1.5px solid var(--moz-navy-900);
  color: var(--moz-navy-900);
}

.btn-dark-blue-o {
  background-color: transparent;
  color: var(--moz-navy-900);
  border: 1.5px solid var(--moz-navy-900);
}
.btn-dark-blue-o:hover, .btn-dark-blue-o:focus {
  background-color: var(--moz-navy-900);
  border: 1.5px solid transparent;
  color: white;
}

.btn-darker-grey-f {
  background-color: #333333;
  color: white;
}
.btn-darker-grey-f:hover, .btn-darker-grey-f:focus {
  background-color: transparent;
  border: 1.5px solid #333333;
  color: #333333;
}

.btn-darker-grey-o {
  background-color: transparent;
  color: #333333;
  border: 1.5px solid #333333;
}
.btn-darker-grey-o:hover, .btn-darker-grey-o:focus {
  background-color: #333333;
  border: 1.5px solid transparent;
  color: white;
}

.btn-white-ish-f {
  background-color: #f9f9f9;
  color: #333333;
  border: 1.5px solid transparent;
}
.btn-white-ish-f:hover, .btn-white-ish-f:focus {
  background: none;
  border: 1.5px solid #f9f9f9;
  color: #f9f9f9;
}

.btn-white-ish-o {
  background-color: transparent;
  color: #f9f9f9;
  border: 1.5px solid #f9f9f9;
}
.btn-white-ish-o:hover, .btn-white-ish-o:focus {
  background: #f9f9f9;
  border: 1.5px solid #f9f9f9;
  color: #333333;
}

/* Color Theme Swatches in Hex */
/* Color Theme Swatches in RGBA */
label {
  font-weight: 500;
  text-transform: capitalize;
}

.label-md {
  padding: 0.5em;
}

.label-sm {
  padding: 0.1em 1em;
}

.label-green {
  background-color: rgba(40, 217, 255, 0.1);
  color: var(--green);
}

.label-green-bl {
  background-color: rgba(40, 217, 255, 0.1);
  color: var(--green);
  border-left: 3px solid var(--green);
}

.label-orange {
  background-color: rgba(255, 171, 56, 0.1);
  color: var(--orange);
}

.label-orange-bl {
  background-color: rgba(255, 171, 56, 0.1);
  color: var(--orange);
  border-left: 3px solid var(--orange);
}

.label-blue {
  background-color: rgba(71, 139, 229, 0.1);
  color: var(--blue);
}

.label-blue-bl {
  background-color: rgba(71, 139, 229, 0.1);
  color: var(--blue);
  border-left: 3px solid var(--blue);
}

.label-pink {
  background-color: rgba(250, 84, 84, 0.1);
  color: var(--pink);
}

.label-pink-bl {
  background-color: rgba(250, 84, 84, 0.1);
  color: var(--pink);
  border-left: 3px solid var(--pink);
}

.label-grey {
  background-color: #d8d8d8;
  color: #333333;
}

.label-grey-bl {
  background-color: #d8d8d8;
  color: #333333;
  border-left: 3px solid #333333;
}

.label-cream {
  background-color: rgba(250, 235, 215, 0.7);
  color: #333333;
}

input, .form-control {
  border-radius: var(--radius-md, 10px);
}

.section .card {
  margin-bottom: 1.5em;
}
.section .card .card-header {
  padding: 1em 1em 0 1em;
}
.section .card .card-header p {
  margin: 0;
}
.section .card .card-body img {
  width: 100%;
  height: auto;
  border: 1px solid #333333;
}
.section .card .card-body p {
  margin: 0;
}
.section .card .card-body label {
  text-transform: capitalize;
}
.section .card .card-body .sub-section {
  padding: 1em;
}
.section .card .card-body .sub-section .sub-section-title h6 {
  text-transform: uppercase;
  color: #666666;
}
.section .card .card-body .sub-section .sub-section-body {
  padding: 1em 0;
}
.section .card .card-body .sub-section .sub-section-body .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--moz-blue-500);
  border-color: var(--moz-blue-500);
}

@media only screen and (max-width: 600px) {
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-2 {
    text-align: center;
    margin-bottom: 1em;
  }
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-2 img {
    width: 70%;
  }
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-6 .d-flex {
    display: block !important;
  }
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-6 .d-flex button {
    width: 100%;
    margin-bottom: 0.75em;
  }
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-6 .d-flex .ml-2 {
    margin-left: 0 !important;
  }
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 601px) and (max-width: 768px) {
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-2 {
    text-align: center;
  }
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-2 img {
    width: 80%;
  }
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-6 .d-flex {
    margin-top: 2em;
    margin-bottom: 0 !important;
  }
  .profile-section .card .card-body .sub-section .sub-section-body .col-lg-6 .d-flex button {
    width: 100%;
    margin-bottom: 0.75em;
  }
}



/* ============================================================
   LOGIN — "Glass gradient" (pedido do Mauro, exploração de login
   #06). Fundo em gradiente de assinatura (135°, tokens Mozaboot) com
   duas manchas desfocadas para profundidade, cartão em vidro fosco
   (glassmorphism) centrado. Só esta página usa este ecrã — os IDs
   dentro do formulário (loginForm/loginEmail/loginPassword/
   loginButton/loginMessage) são manipulados directamente por
   login.js, incluindo o campo de código OTP que é INSERIDO por JS
   antes do botão com as mesmas classes Bootstrap dos campos
   estáticos (form-control/form-label/d-none/btn-link) — por isso as
   regras abaixo estilizam essas classes dentro do cartão, nunca
   substituem por classes novas que o JS não teria como aplicar.
   ============================================================ */

html, body {
  height: 100%;
}

.login-body {
  margin: 0;
}

.login-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-6, 2rem) var(--space-4, 1rem);
  background: var(--moz-gradient);
  position: relative;
  overflow: hidden;
}

/* Manchas desfocadas — só profundidade ambiente, nunca a ponto de
   competir com o cartão; escondidas em ecrãs pequenos para não
   roubar espaço ao formulário. */
.login-blob {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
/* Desvanecimento em radial-gradient (nunca um círculo sólido + blur) — um
   filter:blur precisaria de dezenas de px para não deixar o contorno
   visível, e mesmo assim varia de nitidez consoante o browser/zoom; o
   gradiente já nasce sem contorno nenhum, com a mesma qualidade em
   qualquer ecrã. */
.login-blob-a {
  width: 620px;
  height: 620px;
  top: -220px;
  left: -200px;
  background: radial-gradient(circle at 50% 50%, rgba(0, 6, 46, 0.30) 0%, rgba(0, 6, 46, 0.16) 35%, rgba(0, 6, 46, 0) 70%);
}
.login-blob-b {
  width: 680px;
  height: 680px;
  bottom: -260px;
  right: -220px;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.14) 35%, rgba(255, 255, 255, 0) 70%);
}
@media (max-width: 576px) {
  .login-blob { display: none; }
}

.login-glass-card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-xl, 20px);
  box-shadow: var(--shadow-lg);
  padding: 2.5rem 2.25rem 2.25rem;
}

.login-idioma-switch {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
}

.login-logo img {
  max-width: 150px;
  width: 100%;
  height: auto;
  margin-bottom: 0.6rem;
}

.login-brand-name {
  font-size: 1rem;
  font-weight: var(--fw-extrabold, 800);
  color: var(--text-strong);
  letter-spacing: -0.01em;
  margin-bottom: var(--space-5, 1.5rem);
}

.login-title {
  color: var(--text-strong);
  font-weight: var(--fw-bold, 700);
  margin-bottom: var(--space-5, 1.5rem);
}

.login-glass-card .form-label {
  font-size: 0.86rem;
  font-weight: var(--fw-medium, 500);
  color: var(--text-body);
  text-transform: none;
}

.login-glass-card .form-control {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md, 10px);
  padding: 0.65rem 0.9rem;
}
.login-glass-card .form-control:focus {
  background: var(--moz-white);
  border-color: var(--moz-blue-400);
  box-shadow: 0 0 0 3px var(--focus-ring);
}

.login-remember-row {
  font-size: 0.86rem;
}
.login-remember-row .form-check-label {
  color: var(--text-body);
  text-transform: none;
  font-weight: var(--fw-regular, 400);
}
.login-forgot-link,
.login-glass-card #reenviarCodigoBtn {
  color: var(--moz-blue-600);
  font-size: 0.86rem;
  font-weight: var(--fw-medium, 500);
  text-decoration: none;
}
.login-forgot-link:hover,
.login-glass-card #reenviarCodigoBtn:hover {
  text-decoration: underline;
}

.login-submit-btn {
  width: 100%;
  background: var(--moz-gradient);
  border: none;
  color: var(--moz-white);
  font-weight: var(--fw-semibold, 600);
  padding: 0.7rem 1rem;
  border-radius: var(--radius-md, 10px);
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.login-submit-btn:hover,
.login-submit-btn:focus {
  color: var(--moz-white);
  box-shadow: var(--shadow-glow);
  transform: translateY(-1px);
}
.login-submit-btn:disabled {
  opacity: 0.75;
  transform: none;
}

.login-create-link {
  font-size: 0.88rem;
  font-weight: var(--fw-medium, 500);
  color: var(--moz-blue-600);
}

/*# sourceMappingURL=settings.css.map */
