   :root {
       --primary: #783953;
       --primary-light: #f5e8ee;
       --primary-dark: #5a2a3e;
       --primary-darker: #3d1d2a;
       /* Nova cor mais escura para o body */
       --secondary: #9c6b82;
       --gradient: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
       /* Gradiente original para o logo */
       --gradient-darker: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-darker) 100%);
       /* Gradiente mais escuro para o body */
   }

   body {
       background: var(--gradient-darker);
       /* Aplicando o gradiente mais escuro no body */
       min-height: 100vh;
       display: flex;
       align-items: center;
       position: relative;
       overflow-x: hidden;
   }

   .app-notifications {
       position: fixed;
       top: 1.5rem;
       right: 1.5rem;
       z-index: 1080;
       display: flex;
       flex-direction: column;
       gap: 0.85rem;
       width: min(380px, calc(100vw - 2rem));
       pointer-events: none;
   }

   .app-toast {
       --toast-accent: var(--primary);
       position: relative;
       overflow: hidden;
       border-radius: 20px;
       padding: 1rem 1rem 1rem 1.1rem;
       background: rgba(255, 255, 255, 0.96);
       border: 1px solid rgba(255, 255, 255, 0.6);
       box-shadow: 0 18px 40px rgba(24, 16, 21, 0.18);
       backdrop-filter: blur(16px);
       pointer-events: auto;
       transform: translate3d(0, -18px, 0) scale(0.96);
       opacity: 0;
       animation: toast-enter 320ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
   }

   .app-toast.is-leaving {
       animation: toast-leave 260ms ease forwards;
   }

   .app-toast::before {
       content: "";
       position: absolute;
       inset: 0 auto 0 0;
       width: 5px;
       background: var(--toast-accent);
   }

   .app-toast__content {
       display: grid;
       grid-template-columns: auto 1fr auto;
       gap: 0.85rem;
       align-items: start;
   }

   .app-toast__icon {
       width: 2.4rem;
       height: 2.4rem;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       border-radius: 14px;
       background: color-mix(in srgb, var(--toast-accent) 14%, white);
       color: var(--toast-accent);
       font-size: 1.15rem;
       flex-shrink: 0;
   }

   .app-toast__title {
       margin: 0 0 0.2rem;
       font-size: 0.95rem;
       font-weight: 700;
       color: #2a1a22;
   }

   .app-toast__message {
       margin: 0;
       font-size: 0.92rem;
       line-height: 1.45;
       color: #5d4a54;
   }

   .app-toast__close {
       border: 0;
       background: transparent;
       color: #8f7682;
       width: 2rem;
       height: 2rem;
       border-radius: 999px;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
   }

   .app-toast__close:hover {
       background: rgba(120, 57, 83, 0.08);
       color: var(--primary-dark);
       transform: rotate(90deg);
   }

   .app-toast__progress {
       position: absolute;
       left: 0;
       bottom: 0;
       height: 4px;
       width: 100%;
       transform-origin: left center;
       background: linear-gradient(90deg, var(--toast-accent), color-mix(in srgb, var(--toast-accent) 60%, white));
       animation: toast-progress linear forwards;
   }

   .app-toast--success {
       --toast-accent: #1f8f62;
   }

   .app-toast--error {
       --toast-accent: #b54557;
   }

   .app-toast--info {
       --toast-accent: #3d6ea8;
   }

   .auth-inline-state {
       display: flex;
       gap: 0.9rem;
       align-items: flex-start;
       margin-bottom: 1.25rem;
       padding: 1rem 1.1rem;
       border-radius: 18px;
       background: rgba(181, 69, 87, 0.08);
       border: 1px solid rgba(181, 69, 87, 0.14);
   }

   .auth-inline-state__icon {
       width: 2.5rem;
       height: 2.5rem;
       border-radius: 14px;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       background: rgba(181, 69, 87, 0.14);
       color: #b54557;
       font-size: 1.1rem;
       flex-shrink: 0;
   }

   .auth-inline-state h5 {
       margin: 0 0 0.2rem;
       font-size: 0.98rem;
       font-weight: 700;
       color: #6d2231;
   }

   .auth-inline-state p {
       margin: 0;
       color: #7f4a57;
       line-height: 1.45;
   }

   .login-card {
       background: rgba(255, 255, 255, 0.95);
       backdrop-filter: blur(10px);
       border-radius: 15px;
       box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
       overflow: hidden;
   }

   .logo-section {
       background: var(--gradient);
       /* Mantendo o gradiente original no logo */
       color: white;
       border-radius: 15px 0 0 15px;
   }

   .btn-primary {
       background: var(--gradient);
       /* Mantendo o gradiente original */
       border: none;
       transition: all 0.3s ease;
   }

   .btn-primary:hover {
       background: linear-gradient(135deg, var(--primary-dark) 0%, #4a2235 100%);
       transform: translateY(-1px);
       box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
   }

   .form-control:focus {
       border-color: var(--primary);
       box-shadow: 0 0 0 0.2rem rgba(120, 57, 83, 0.25);
   }

   .text-primary {
       color: var(--primary) !important;
   }

   .alert-primary {
       background-color: var(--primary-light);
       border-color: var(--primary);
       color: var(--primary-dark);
   }

   .features .bi-check-circle {
       color: var(--primary);
   }

   .input-group-text {
       background-color: var(--primary-light);
       color: var(--primary);
       border-color: #dee2e6;
   }

   @media (max-width: 768px) {
       .app-notifications {
           top: 1rem;
           right: 1rem;
           left: 1rem;
           width: auto;
       }

       .logo-section {
           border-radius: 15px 15px 0 0;
           padding: 2rem !important;
       }

       .login-card {
           margin: 1rem;
       }
   }

   /* Recuperar Senha */
   #recoverForm {
       margin-top: 1.5rem;
   }

   #recoverForm .form-label {
       font-weight: 500;
   }

   #recoverBtn {
       font-size: 1.1rem;
       padding: 0.75rem 0;
   }

   #recover-message .alert {
       margin-bottom: 1rem;
   }

   #recoverForm .input-group-text {
       background-color: var(--primary-light);
       color: var(--primary);
   }

   #recoverForm input[type="email"]:focus {
       border-color: var(--primary);
       box-shadow: 0 0 0 0.2rem rgba(120, 57, 83, 0.15);
   }

   #recoverForm a.text-primary {
       font-weight: 500;
   }

   @keyframes toast-enter {
       from {
           opacity: 0;
           transform: translate3d(0, -18px, 0) scale(0.96);
       }

       to {
           opacity: 1;
           transform: translate3d(0, 0, 0) scale(1);
       }
   }

   @keyframes toast-leave {
       from {
           opacity: 1;
           transform: translate3d(0, 0, 0) scale(1);
       }

       to {
           opacity: 0;
           transform: translate3d(0, -10px, 0) scale(0.97);
       }
   }

   @keyframes toast-progress {
       from {
           transform: scaleX(1);
       }

       to {
           transform: scaleX(0);
       }
   }