      * {
          margin: 0;
          padding: 0;
          box-sizing: border-box;
      }

      body {
          font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
          min-height: 100vh;
          background: linear-gradient(135deg, #0047AB 0%, #003785 100%);
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 20px;
      }

      .login-container {
          background: white;
          border-radius: 20px;
          box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
          overflow: hidden;
          max-width: 1000px;
          width: 100%;
          display: grid;
          grid-template-columns: 1fr 1fr;
          animation: slideUp 0.5s ease;
      }

      @keyframes slideUp {
          from {
              opacity: 0;
              transform: translateY(30px);
          }

          to {
              opacity: 1;
              transform: translateY(0);
          }
      }

      .brand-side {
          background: linear-gradient(135deg, #0047AB 0%, #003785 100%);
          padding: 60px 40px;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          text-align: center;
          color: white;
          position: relative;
          overflow: hidden;
      }

      .brand-side::before {
          content: '';
          position: absolute;
          width: 300px;
          height: 300px;
          background: rgba(255, 255, 255, 0.1);
          border-radius: 50%;
          top: -100px;
          right: -100px;
      }

      .brand-side::after {
          content: '';
          position: absolute;
          width: 200px;
          height: 200px;
          background: rgba(255, 255, 255, 0.1);
          border-radius: 50%;
          bottom: -50px;
          left: -50px;
      }

      .brand-logo-img {
          max-width: 220px;
          width: 70%;
          height: auto;
          margin-bottom: 20px;
          z-index: 1;
          filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.25));
      }

      .brand-tagline {
          font-size: 18px;
          margin-bottom: 30px;
          opacity: 0.9;
          z-index: 1;
      }

      .brand-features {
          text-align: left;
          z-index: 1;
          width: 100%;
          max-width: 300px;
      }

      .feature-item {
          display: flex;
          align-items: center;
          gap: 12px;
          margin-bottom: 15px;
          font-size: 14px;
      }

      .feature-icon {
          width: 30px;
          height: 30px;
          background: rgba(255, 255, 255, 0.2);
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 16px;
          flex-shrink: 0;
      }

      .feature-icon img {
          width: 16px;
          height: 16px;
          display: block;
          filter: brightness(0) invert(1);
      }

      .form-side {
          padding: 60px 40px;
          display: flex;
          flex-direction: column;
          justify-content: center;
      }

      .form-header {
          margin-bottom: 30px;
      }

      .form-header h2 {
          color: #1e3a8a;
          font-size: 28px;
          margin-bottom: 8px;
      }

      .form-header p {
          color: #666;
          font-size: 14px;
      }

      .form-tabs {
          display: flex;
          gap: 10px;
          margin-bottom: 30px;
          border-bottom: 2px solid #e5e7eb;
      }

      .tab-btn {
          padding: 12px 20px;
          border: none;
          background: transparent;
          color: #666;
          font-size: 15px;
          font-weight: 600;
          cursor: pointer;
          border-bottom: 3px solid transparent;
          transition: all 0.3s ease;
      }

      .tab-btn:hover {
          color: #0047AB;
      }

      .tab-btn.active {
          color: #0047AB;
          border-bottom-color: #0047AB;
      }

      .form-content {
          display: none;
      }

      .form-content.active {
          display: block;
          animation: fadeIn 0.3s ease;
      }

      @keyframes fadeIn {
          from {
              opacity: 0;
              transform: translateY(10px);
          }

          to {
              opacity: 1;
              transform: translateY(0);
          }
      }

      .form-group {
          margin-bottom: 20px;
      }

      .form-group label {
          display: block;
          margin-bottom: 8px;
          font-weight: 600;
          color: #333;
          font-size: 14px;
      }

      .input-wrapper {
          position: relative;
      }

      .input-icon {
          position: absolute;
          left: 15px;
          top: 50%;
          transform: translateY(-50%);
          display: flex;
          align-items: center;
          pointer-events: none;
      }

      .input-icon img {
          width: 18px;
          height: 18px;
          display: block;
          opacity: 0.75;
          /* Recolore o SVG (escuro) para o azul da marca */
          filter: invert(23%) sepia(90%) saturate(2600%) hue-rotate(210deg) brightness(92%) contrast(101%);
          transition: opacity 0.25s ease, transform 0.25s ease;
      }

      .form-group:focus-within .input-icon img {
          opacity: 1;
          transform: scale(1.08);
      }

      .form-group input {
          width: 100%;
          padding: 12px 15px 12px 45px;
          border: 2px solid #e5e7eb;
          border-radius: 8px;
          font-size: 14px;
          transition: all 0.3s ease;
      }

      .form-group input:focus {
          outline: none;
          border-color: #0047AB;
          box-shadow: 0 0 0 3px rgba(0, 71, 171, 0.1);
      }

      .password-toggle {
          position: absolute;
          right: 15px;
          top: 50%;
          transform: translateY(-50%);
          cursor: pointer;
          display: flex;
          align-items: center;
          padding: 4px;
          border-radius: 50%;
          transition: background 0.25s ease;
      }

      .password-toggle img {
          width: 18px;
          height: 18px;
          display: block;
          opacity: 0.75;
          filter: invert(23%) sepia(90%) saturate(2600%) hue-rotate(210deg) brightness(92%) contrast(101%);
          transition: opacity 0.25s ease;
      }

      .password-toggle:hover {
          background: rgba(0, 71, 171, 0.1);
      }

      .password-toggle:hover img {
          opacity: 1;
      }

      .form-options {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 25px;
          font-size: 14px;
      }

      .remember-me {
          display: flex;
          align-items: center;
          gap: 8px;
          cursor: pointer;
      }

      .remember-me input[type="checkbox"] {
          width: 18px;
          height: 18px;
          cursor: pointer;
      }

      .forgot-password {
          color: #0047AB;
          text-decoration: none;
          font-weight: 600;
          transition: all 0.3s ease;
      }

      .forgot-password:hover {
          color: #003785;
          text-decoration: underline;
      }

      .btn-submit .btn-icon,
      .btn-guest .btn-icon {
          width: 18px;
          height: 18px;
          display: inline-block;
          vertical-align: middle;
          filter: brightness(0) invert(1);
      }

      .btn-guest .btn-icon {
          filter: none;
          opacity: 0.7;
      }

      .btn-submit {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 8px;
          width: 100%;
          padding: 14px;
          background: linear-gradient(135deg, #0047AB 0%, #003785 100%);
          color: white;
          border: none;
          border-radius: 8px;
          font-size: 16px;
          font-weight: 600;
          cursor: pointer;
          transition: all 0.3s ease;
          margin-bottom: 20px;
          box-shadow: 0 4px 12px rgba(0, 71, 171, 0.2);
      }

      .btn-submit:hover {
          transform: translateY(-2px);
          box-shadow: 0 8px 20px rgba(0, 71, 171, 0.4);
      }

      .btn-submit:active {
          transform: translateY(0);
      }

      .btn-submit:disabled {
          opacity: 0.6;
          cursor: not-allowed;
          transform: none;
      }

      .divider-or {
          display: flex;
          align-items: center;
          gap: 12px;
          margin: -8px 0 16px;
          color: #9ca3af;
          font-size: 12px;
      }

      .divider-or::before,
      .divider-or::after {
          content: '';
          flex: 1;
          height: 1px;
          background: #e5e7eb;
      }

      .btn-guest {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 8px;
          width: 100%;
          padding: 12px;
          background: transparent;
          color: #6b7280;
          border: 2px dashed #d1d5db;
          border-radius: 8px;
          font-size: 14px;
          font-weight: 500;
          font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
          cursor: pointer;
          text-decoration: none;
          transition: all 0.3s ease;
      }

      .btn-guest .btn-icon {
          transition: filter 0.3s ease, opacity 0.3s ease;
      }

      .btn-guest:hover {
          border-color: #0047AB;
          color: #0047AB;
          background: rgba(0, 71, 171, 0.04);
      }

      .btn-guest:hover .btn-icon {
          opacity: 1;
          filter: invert(23%) sepia(90%) saturate(2600%) hue-rotate(210deg) brightness(92%) contrast(101%);
      }

      .notification {
          position: fixed;
          top: 20px;
          right: 20px;
          background: #10b981;
          color: white;
          padding: 16px 24px;
          border-radius: 8px;
          box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
          z-index: 1000;
          display: none;
          animation: slideInRight 0.3s ease;
          max-width: 380px;
          line-height: 1.5;
      }

      .notification.show {
          display: block;
      }

      .notification.error {
          background: #dc2626;
      }

      @keyframes slideInRight {
          from {
              transform: translateX(100%);
              opacity: 0;
          }

          to {
              transform: translateX(0);
              opacity: 1;
          }
      }

      @media (max-width: 768px) {
          .login-container {
              grid-template-columns: 1fr;
              max-width: 500px;
          }

          .brand-side {
              display: none;
          }

          .form-side {
              padding: 40px 30px;
          }

          .form-header h2 {
              font-size: 24px;
          }
      }

      @media (max-width: 480px) {
          body {
              padding: 10px;
          }

          .form-side {
              padding: 30px 20px;
          }

          .form-tabs {
              flex-wrap: wrap;
          }

          .tab-btn {
              flex: 1;
              min-width: 100px;
          }
      }