    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: 'Segoe UI', sans-serif;
      height: 100vh;
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(120deg, #00c8ff, #003b70, #001a3a);
      background-size: 400% 400%;
      animation: gradientAnimation 12s ease infinite;

      /* Animação suave ao carregar */
      animation-name: fadeIn, gradientAnimation;
      animation-duration: 0.8s, 12s;
      animation-timing-function: ease, ease;
      animation-fill-mode: forwards;
      animation-iteration-count: 1, infinite;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes gradientAnimation {
      0% { background-position: 0% 50%; }
      25% { background-position: 50% 50%; }
      50% { background-position: 100% 50%; }
      75% { background-position: 50% 50%; }
      100% { background-position: 0% 50%; }
    }

    .particles {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: radial-gradient(white 0.5px, transparent 0.5px);
      background-size: 10px 10px;
      animation: moveParticles 60s linear infinite;
      z-index: 0;
      opacity: 0.30;
      pointer-events: none;
    }

    @keyframes moveParticles {
      0% { background-position: 0 0; }
      100% { background-position: 1000px 1000px; }
    }

    .login-container {
      background: rgba(255, 255, 255, 0.85);
      padding: 2.5rem;
      border-radius: 16px;
      box-shadow: 0 8px 20px rgba(0,0,0,0.2);
      width: 100%;
      max-width: 400px;
      backdrop-filter: blur(4px);
    }

    .logo {
      display: flex;
      justify-content: center;
      margin-bottom: 1rem;
    }

    .logo img {
      height: 140px;
      width: auto;
    }

    .login-container h2 {
      text-align: center;
      margin-bottom: 0.5rem;
      color: #2d3436;
    }

    .subtexto {
      text-align: center;
      margin-bottom: 1.5rem;
      font-size: 0.9rem;
      color: #636e72;
    }

    .form-group {
      margin-bottom: 1rem;
    }

    label {
      display: block;
      margin-bottom: 0.5rem;
      color: #636e72;
      font-size: 0.9rem;
    }

    input[type="email"],
    input[type="password"] {
      width: 100%;
      padding: 0.75rem;
      border: 1px solid #dfe6e9;
      border-radius: 8px;
      background: #f9f9f9;
      font-size: 1rem;
    }

    input[type="email"]:focus,
    input[type="password"]:focus {
      outline: none;
      border-color: #0984e3;
      background: #fff;
    }

    .login-btn {
      width: 100%;
      padding: 0.75rem;
      background-color: #102A78;
      box-shadow: 0 0 12px #0d1f52bb;
      color: white;
      border: none;
      border-radius: 8px;
      font-size: 1rem;
      cursor: pointer;
      transition: background 0.3s ease;
      margin-top: 1rem;
    }

    .login-btn:hover {
      background-color: #163A8E;
      box-shadow: 0 0 18px #11306fcc;
    }

    .esqueceusenha-btn {
      width: 100%;
      padding: 0.75rem;
      background-color: #ffffff;
      color: rgb(0, 0, 0);
      border: none;
      border-radius: 8px;
      font-size: 1rem;
      cursor: pointer;
      transition: background 0.3s ease;
      margin-top: 1rem;
    }

    .esqueceusenha-btn:hover {
      background-color: #ebebeb;
    }

    .footer-text {
      text-align: center;
      margin-top: 1rem;
      font-size: 0.85rem;
      color: #636e72;
    }

    .footer-text a {
      color: #0984e3;
      text-decoration: none;
    }

    .footer-text a:hover {
      text-decoration: underline;
    }

    .divisor {
      display: flex;
      align-items: center;
      text-align: center;
      margin: 2rem 0 0.75rem 0;
    }

    .divisor::before,
    .divisor::after {
      content: "";
      flex: 1;
      border-bottom: 1.5px solid #aeadad;
    }

    .divisor:not(:empty)::before {
      margin-right: 0.75em;
    }
    .divisor:not(:empty)::after {
      margin-left: 0.75em;
    }

    .divisor span {
      color: #636e72;
      font-size: 0.85rem;
    }

    @media (max-width: 480px) {
      .login-container {
        padding: 2rem;
        margin: 0 1rem;
      }

      .logo img {
        height: 50px;
      }
    }
  
