/* ==========================================================================
   SVB CYBER ADVISORY - LOGIN PAGINA (assets/css/login.css)
   ========================================================================== */
.login-wrapper {
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 20px;
  position: relative;
  background: var(--bg-canvas);
}
.login-box {
      width: 100%;
      max-width: 440px;
      background: var(--bg-card);
      border: 1px solid var(--border-light);
      border-radius: var(--radius-lg);
      padding: 40px;
      box-shadow: var(--shadow-float);
      position: relative;
      z-index: 10;
    }
.login-brand-header {
  text-align: center;
  margin-bottom: 28px;
}
.login-brand-logo {
  display: inline-block;
  text-decoration: none;
  margin-bottom: 10px;
}
.login-brand-logo .brand-logo-img {
  height: 84px;
  width: auto;
  max-width: 330px;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  transition: transform 0.25s ease;
}
.login-brand-logo:hover .brand-logo-img {
  transform: translateY(-2px) scale(1.03);
}
.login-brand-logo .brand-logo-img-dark {
  display: none !important;
}
.login-brand-logo .brand-logo-img-light {
  display: block !important;
}
.login-title {
      font-size: 1.55rem;
      font-weight: 800;
      color: var(--text-headline);
      margin: 12px 0 0 0;
      letter-spacing: -0.02em;
    }
.form-group-login {
      margin-bottom: 22px;
    }
.form-group-login label {
      display: block;
      font-size: 0.86rem;
      font-weight: 700;
      color: var(--text-headline);
      margin-bottom: 8px;
    }
.input-login {
      width: 100%;
      padding: 12px 16px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--border-subtle);
      background: var(--bg-panel-subtle);
      color: var(--text-headline);
      font-size: 0.95rem;
      font-family: var(--font-sans);
      outline: none;
      box-sizing: border-box;
      transition: var(--transition-smooth);
    }
.input-login:focus {
      border-color: var(--mint-primary);
      box-shadow: 0 0 0 3px rgba(0, 212, 158, 0.18);
      background: var(--bg-card);
    }
.btn-login-submit {
      width: 100%;
      padding: 14px;
      border: none;
      border-radius: var(--radius-pill);
      background: var(--gradient-mint);
      color: #070a0f;
      font-size: 1rem;
      font-weight: 800;
      font-family: var(--font-sans);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      box-shadow: 0 6px 20px rgba(0, 212, 158, 0.3);
      transition: var(--transition-smooth);
      margin-top: 10px;
    }
.btn-login-submit:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 25px rgba(0, 212, 158, 0.45);
    }
.login-footer-meta {
      text-align: center;
      margin-top: 24px;
    }
.login-back-link {
      display: inline-block;
      color: var(--text-muted);
      text-decoration: none;
      font-size: 0.88rem;
      font-weight: 600;
      transition: color var(--transition-smooth, 0.2s ease);
    }
.login-back-link:hover {
      color: var(--mint-deep);
    }
@media (max-width: 480px) {
  .login-wrapper {
    padding: 20px 14px;
  }
  .login-box {
    padding: 24px 18px 22px;
    border-radius: 18px;
  }
  .login-brand-header {
    margin-bottom: 22px;
  }
  .login-brand-logo .brand-logo-img {
    height: 68px;
    max-width: 270px;
  }
  .login-title {
    font-size: 1.25rem;
  }
  .login-desc {
    font-size: 0.84rem;
  }
  .input-login {
    font-size: 16px !important;
    padding: 11px 14px;
  }
  .btn-login-submit {
    padding: 13px;
    font-size: 0.95rem;
  }
}
