body.jet-login-lite main {
  position: relative;
}

.jet-login-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.jet-login-bg-image {
  position: absolute;
  inset: 0;
  background: url('../img/auth-hero.jpg') center center / cover no-repeat;
}

.jet-login-bg-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(15 23 42 / 0.4) 0%, rgb(15 23 42 / 0.55) 45%, rgb(15 23 42 / 0.88) 100%),
    linear-gradient(140deg, rgb(16 185 129 / 0.28) 0%, transparent 55%);
}

.jet-login-panel-shade {
  background: linear-gradient(
    to right,
    rgb(15 23 42 / 0.15) 0%,
    rgb(15 23 42 / 0.35) 55%,
    rgb(15 23 42 / 0.72) 100%
  );
}

.story-link { text-underline-offset: 4px; text-decoration: none; }
.story-link:hover { text-decoration: underline; }

.alert-validation-msg { border-radius: 12px; font-size: 13px; line-height: 1.4; }
.alert .alert-body { display: flex; align-items: flex-start; gap: 0.5rem; }
.alert-success { color: #0f5132; background-color: #d1e7dd; border: 1px solid #badbcc; }
.alert-warning { color: #664d03; background-color: #fff3cd; border: 1px solid #ffecb5; }
.alert-danger, .alert-error { color: #b45309; background-color: #fffbeb; border: 1px solid #fde68a; }

body.jet-login-lite main .animate-shift,
body.jet-login-lite main .animate-float-slow,
body.jet-login-lite main .animate-streak,
body.jet-login-lite main .animate-particle,
body.jet-login-lite main .animate-scan-line,
body.jet-login-lite main .animate-drift,
body.jet-login-lite main .animate-pulse-ring,
body.jet-login-lite main .animate-glow-pulse,
body.jet-login-lite main .animate-rise {
    animation: none !important;
}

body.jet-login-lite main .tilt-on-hover,
body.jet-login-lite main .tilt-on-hover:hover {
    transform: none !important;
    transition: none !important;
}

body.jet-login-lite #jet-login-form {
    transform: none !important;
}

body.jet-login-lite #jet-login-form > div.pointer-events-none {
    opacity: 0 !important;
}

.jet-login-logo {
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    font-weight: 700;
    box-shadow: var(--shadow-glow);
}

.jet-login-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.5rem;
}

.jet-login-brand-logo {
    width: 100%;
    max-width: 17.5rem;
    height: auto;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(0 4px 16px rgb(0 0 0 / 0.45));
}

/* Tema verde Jet — login e telas guest */
body.jet-login-lite {
    --gradient-spectra: linear-gradient(135deg, #6ee7b7 0%, #10b981 45%, #059669 100%);
    --shadow-glow: 0 20px 60px -10px rgb(16 185 129 / 0.4), 0 10px 40px -10px rgb(5 150 105 / 0.3);
    --primary: #10b981;
    --ring: #10b981;
    --accent: #34d399;
    --border: rgb(16 185 129 / 0.45);
}

body.jet-login-lite .input-glow {
    border-color: rgb(16 185 129 / 0.55) !important;
}

body.jet-login-lite .input-glow:focus {
    border-color: #10b981 !important;
    box-shadow:
        0 0 0 2px rgb(16 185 129 / 0.45),
        0 0 20px rgb(16 185 129 / 0.28) !important;
}

.jet-login-error {
    margin: 0;
    padding-top: 0.25rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.45;
    color: #fff;
    text-shadow: 0 1px 10px rgb(0 0 0 / 0.45);
}

body.jet-login-lite .shimmer-text {
    color: transparent;
    background: linear-gradient(
        90deg,
        #ecfdf5,
        #a7f3d0 12%,
        #6ee7b7 25%,
        #34d399 37%,
        #10b981 50%,
        #059669 62%,
        #047857 75%,
        #059669 87%,
        #ecfdf5
    ) 0 0 / 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
}
