/*
 * Falcon360 display branding.
 * Internal MentorNova identifiers remain for compatibility.
 */
:root {
    --falcon360-steel: #1e5f8f;
    --falcon360-steel-deep: #123d62;
    --falcon360-ink: #102438;
    --falcon360-sky: #dbeaf4;
    --falcon360-line: rgba(30, 95, 143, 0.18);
}

.sidebar__logo,
.auth-logo-shell img,
.formal-report-letterhead__logo img,
.receipt-brand__logo img,
.cashier-receipt-head__logo img,
.portal-brand img {
    object-fit: contain;
}

.sidebar__title {
    letter-spacing: 0;
}

.button.button--primary,
.mn-btn-primary {
    background: linear-gradient(135deg, var(--falcon360-steel), var(--falcon360-steel-deep));
    border-color: rgba(18, 61, 98, 0.3);
}

.falcon360-splash-body {
    margin: 0;
    min-width: 320px;
    color: #f8fbff;
    background:
        radial-gradient(circle at 50% 12%, rgba(147, 197, 253, 0.34), transparent 23rem),
        radial-gradient(circle at 50% 48%, rgba(30, 95, 143, 0.18), transparent 38rem),
        linear-gradient(145deg, #06111f 0%, #0d2b48 48%, #1e5f8f 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: hidden;
}

.falcon360-splash {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: max(1.5rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    box-sizing: border-box;
}

.falcon360-splash__panel {
    width: min(100%, 35rem);
    min-height: min(36rem, calc(100dvh - 3rem));
    display: grid;
    grid-template-rows: minmax(17rem, 1fr) auto;
    align-items: end;
    justify-items: center;
    justify-self: center;
    gap: clamp(1rem, 2.7vh, 2rem);
    margin-inline: auto;
    padding: clamp(1.1rem, 3.4vw, 2.2rem);
    padding-top: clamp(0.2rem, 1.4vw, 0.85rem);
    padding-bottom: clamp(1.65rem, 4vw, 2.65rem);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 1.35rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.055)),
        radial-gradient(circle at 50% 0%, rgba(147, 197, 253, 0.20), transparent 58%);
    box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.34), 0 0 5rem rgba(109, 178, 221, 0.14);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    text-align: center;
    box-sizing: border-box;
    overflow: visible;
    position: relative;
    isolation: isolate;
}

.falcon360-splash__panel::before {
    content: "";
    position: absolute;
    inset: -8rem -6rem auto;
    height: 24rem;
    border-radius: 999px;
    background:
        radial-gradient(circle, rgba(219, 234, 254, 0.28), rgba(96, 165, 250, 0.14) 34%, rgba(30, 95, 143, 0.08) 52%, transparent 74%);
    filter: blur(20px);
    opacity: 0.86;
    pointer-events: none;
    z-index: -1;
}

.falcon360-splash__logo-wrap {
    --falcon360-logo-x-offset: clamp(-4.75rem, -6vw, -3rem);
    width: 100%;
    max-width: 100%;
    height: clamp(18rem, 54vh, 31rem);
    display: grid;
    place-items: center;
    align-self: start;
    justify-self: center;
    margin-top: clamp(-6.7rem, -11vw, -2.8rem);
    margin-bottom: clamp(-1.9rem, -3vw, -0.55rem);
    position: relative;
    overflow: visible;
    z-index: 2;
}

.falcon360-splash__logo-aura {
    position: absolute;
    width: min(118vw, 44rem);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(236, 248, 255, 0.42) 0%, rgba(96, 165, 250, 0.23) 27%, rgba(14, 165, 233, 0.10) 52%, transparent 74%);
    filter: blur(20px);
    opacity: 0.96;
    transform: translateX(var(--falcon360-logo-x-offset)) translateY(-3%) scale(1);
    animation: falcon360LogoAura 2.7s cubic-bezier(0.22, 1, 0.36, 1) infinite;
    pointer-events: none;
}

.falcon360-splash__logo-ring {
    position: absolute;
    width: min(108vw, 39rem);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(191, 219, 254, 0.30);
    box-shadow:
        0 0 3rem rgba(96, 165, 250, 0.16),
        inset 0 0 3.5rem rgba(96, 165, 250, 0.11);
    opacity: 0.64;
    transform: translateX(var(--falcon360-logo-x-offset)) translateY(-2%) scale(0.94);
    animation: falcon360LogoRing 2.7s cubic-bezier(0.22, 1, 0.36, 1) infinite, falcon360LogoOrbit 14s linear infinite;
    pointer-events: none;
}

.falcon360-splash__logo-sweep {
    position: absolute;
    width: min(126vw, 43rem);
    height: clamp(8rem, 22vh, 14rem);
    border-radius: 999px;
    background: linear-gradient(105deg, transparent 28%, rgba(255, 255, 255, 0.0) 38%, rgba(219, 234, 254, 0.24) 49%, rgba(125, 211, 252, 0.16) 55%, transparent 68%);
    mix-blend-mode: screen;
    opacity: 0;
    transform: translateX(calc(var(--falcon360-logo-x-offset) - 32%)) rotate(-7deg);
    animation: falcon360LogoSweep 5.4s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
}

.falcon360-splash__logo {
    display: block;
    width: min(134vw, 47rem);
    max-width: none;
    max-height: none;
    height: auto;
    object-fit: contain;
    transform-origin: 50% 52%;
    transform: translateX(var(--falcon360-logo-x-offset)) scale(1);
    animation: falcon360LogoHeartbeat 2.7s cubic-bezier(0.22, 1, 0.36, 1) infinite;
    filter:
        drop-shadow(0 1.25rem 2.2rem rgba(0, 0, 0, 0.30))
        drop-shadow(0 0 1.55rem rgba(147, 197, 253, 0.33));
    will-change: transform, filter;
    position: relative;
    z-index: 3;
}

.falcon360-splash__enter {
    width: min(14rem, 72vw);
    max-width: 100%;
    min-height: 3.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    background: #ffffff;
    color: var(--falcon360-ink);
    font-size: 1rem;
    font-weight: 850;
    cursor: pointer;
    box-shadow: 0 1rem 2.4rem rgba(0, 0, 0, 0.26);
    box-sizing: border-box;
    margin-inline: auto;
    position: relative;
    z-index: 4;
}

.falcon360-splash__enter:hover,
.falcon360-splash__enter:focus {
    outline: 0;
    transform: translateY(-1px);
    box-shadow: 0 1.15rem 2.8rem rgba(0, 0, 0, 0.32), 0 0 1.8rem rgba(219, 234, 254, 0.26);
}

@keyframes falcon360LogoHeartbeat {
    0%, 5%, 32%, 100% {
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(0) scale(1);
        filter:
            drop-shadow(0 1.35rem 2.35rem rgba(0, 0, 0, 0.32))
            drop-shadow(0 0 1.85rem rgba(147, 197, 253, 0.38));
    }

    8% {
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-0.58rem) scale(1.12);
        filter:
            drop-shadow(0 1.7rem 3rem rgba(0, 0, 0, 0.36))
            drop-shadow(0 0 3rem rgba(219, 234, 254, 0.62));
    }

    14% {
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(0.12rem) scale(0.99);
    }

    22% {
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-0.34rem) scale(1.065);
        filter:
            drop-shadow(0 1.52rem 2.7rem rgba(0, 0, 0, 0.34))
            drop-shadow(0 0 2.55rem rgba(147, 197, 253, 0.52));
    }

    30% {
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(0) scale(1);
    }
}

@keyframes falcon360LogoAura {
    0%, 5%, 32%, 100% {
        opacity: 0.82;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-3%) scale(0.92);
    }

    8% {
        opacity: 1;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-4%) scale(1.16);
    }

    14% {
        opacity: 0.72;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-3%) scale(0.98);
    }

    22% {
        opacity: 0.94;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-3.6%) scale(1.08);
    }
}

@keyframes falcon360LogoRing {
    0%, 5%, 32%, 100% {
        opacity: 0.42;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-2%) scale(0.92);
    }

    8% {
        opacity: 0.82;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-2%) scale(1.08);
    }

    14% {
        opacity: 0.46;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-2%) scale(0.96);
    }

    22% {
        opacity: 0.68;
        transform: translateX(var(--falcon360-logo-x-offset)) translateY(-2%) scale(1.02);
    }
}

@keyframes falcon360LogoSweep {
    0%, 36%, 100% {
        opacity: 0;
        transform: translateX(calc(var(--falcon360-logo-x-offset) - 38%)) rotate(-7deg);
    }

    46% {
        opacity: 0.38;
    }

    58% {
        opacity: 0;
        transform: translateX(calc(var(--falcon360-logo-x-offset) + 36%)) rotate(-7deg);
    }
}

@keyframes falcon360LogoOrbit {
    from {
        rotate: 0deg;
    }

    to {
        rotate: 360deg;
    }
}

@media (prefers-reduced-motion: reduce) {
    .falcon360-splash__logo,
    .falcon360-splash__logo-aura,
    .falcon360-splash__logo-ring,
    .falcon360-splash__logo-sweep {
        animation: none;
    }

    .falcon360-splash__logo-sweep {
        display: none;
    }
}

@media (max-width: 520px) {
    .falcon360-splash {
        align-items: stretch;
        padding: max(0.85rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.85rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
    }

    .falcon360-splash__panel {
        min-height: calc(100dvh - 1.7rem);
        border-radius: 1rem;
        grid-template-rows: minmax(15rem, 1fr) auto;
        padding-top: 0.25rem;
        padding-bottom: 1.35rem;
    }

    .falcon360-splash__logo-wrap {
        --falcon360-logo-x-offset: clamp(-2.35rem, -6.5vw, -1.45rem);
        width: 100%;
        max-width: 100%;
        height: clamp(15rem, 48vh, 23rem);
        margin-top: clamp(-4.2rem, -13vw, -1.7rem);
        margin-bottom: clamp(-1.45rem, -4vw, -0.45rem);
    }

    .falcon360-splash__logo {
        width: min(142vw, 34rem);
    }

    .falcon360-splash__logo-aura {
        width: min(126vw, 32rem);
    }

    .falcon360-splash__logo-ring,
    .falcon360-splash__logo-sweep {
        width: min(120vw, 30rem);
    }
}

/* Fast centered splash polish for the launch/login experience. */
.falcon360-splash-body {
    min-height: 100vh;
    min-height: 100svh;
    overflow-x: hidden;
    overflow-y: auto;
    background:
        linear-gradient(180deg, rgba(3, 10, 22, 0.18), rgba(3, 10, 22, 0.38)),
        radial-gradient(circle at 50% 10%, rgba(147, 197, 253, 0.24), transparent 24rem),
        linear-gradient(145deg, #06111f 0%, #0d2b48 50%, #1e5f8f 100%);
}

.falcon360-splash {
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
}

.falcon360-splash__panel {
    width: min(100%, 30rem);
    min-height: auto;
    display: grid;
    grid-template-rows: auto auto;
    align-items: center;
    justify-items: center;
    gap: clamp(1rem, 3vh, 1.55rem);
    padding: clamp(1.35rem, 4.2vw, 2.1rem);
    border-radius: 1.35rem;
    border: 1px solid rgba(219, 234, 254, 0.24);
    background:
        linear-gradient(145deg, rgba(7, 19, 39, 0.68), rgba(9, 35, 66, 0.50)),
        rgba(255, 255, 255, 0.08);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        0 2rem 5.5rem rgba(0, 0, 0, 0.38),
        0 0 3.5rem rgba(96, 165, 250, 0.13);
    backdrop-filter: blur(24px) saturate(1.34);
    -webkit-backdrop-filter: blur(24px) saturate(1.34);
    overflow: hidden;
}

.falcon360-splash__panel::before {
    inset: 0;
    height: auto;
    border-radius: inherit;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.16), transparent 38%),
        radial-gradient(circle at 50% 0%, rgba(219, 234, 254, 0.17), transparent 56%);
    filter: none;
    opacity: 1;
    z-index: -1;
}

.falcon360-splash__logo-wrap {
    --falcon360-logo-x-offset: 0rem;
    width: min(100%, 24rem);
    height: auto;
    aspect-ratio: 3 / 2;
    min-height: 0;
    margin: 0;
    display: grid;
    place-items: center;
    align-self: center;
    overflow: visible;
}

.falcon360-splash__picture {
    display: block;
    width: 100%;
    max-width: 24rem;
    height: auto;
    position: relative;
    z-index: 3;
}

.falcon360-splash__logo {
    display: block;
    width: 100%;
    max-width: 24rem;
    height: auto;
    transform: none;
    animation: falcon360SplashFloat 5s ease-in-out infinite;
    filter:
        drop-shadow(0 1rem 1.8rem rgba(0, 0, 0, 0.28))
        drop-shadow(0 0 1.25rem rgba(147, 197, 253, 0.30));
    will-change: transform;
}

.falcon360-splash__logo-aura {
    width: min(82vw, 28rem);
    opacity: 0.64;
    transform: none;
    animation: falcon360SplashAura 5s ease-in-out infinite;
}

.falcon360-splash__logo-ring {
    width: min(74vw, 24rem);
    opacity: 0.42;
    transform: none;
    animation: none;
}

.falcon360-splash__logo-sweep {
    width: min(72vw, 22rem);
    height: 6rem;
    transform: rotate(-7deg);
    animation: falcon360SplashSweep 5.8s ease-in-out infinite;
}

.falcon360-splash__enter {
    min-height: 3rem;
    width: min(13rem, 72vw);
    margin: 0;
    border-color: rgba(255, 255, 255, 0.30);
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.68),
        0 1rem 2.25rem rgba(0, 0, 0, 0.26);
}

@keyframes falcon360SplashFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-0.28rem) scale(1.012);
    }
}

@keyframes falcon360SplashAura {
    0%, 100% {
        opacity: 0.50;
        transform: scale(0.96);
    }

    50% {
        opacity: 0.72;
        transform: scale(1.02);
    }
}

@keyframes falcon360SplashSweep {
    0%, 44%, 100% {
        opacity: 0;
        transform: translateX(-18%) rotate(-7deg);
    }

    54% {
        opacity: 0.28;
    }

    66% {
        opacity: 0;
        transform: translateX(18%) rotate(-7deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .falcon360-splash__logo,
    .falcon360-splash__logo-aura,
    .falcon360-splash__logo-sweep {
        animation: none;
    }
}

@media (max-width: 520px) {
    .falcon360-splash {
        place-items: center;
        padding: max(0.85rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.85rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
    }

    .falcon360-splash__panel {
        width: min(100%, 24rem);
        min-height: auto;
        grid-template-rows: auto auto;
        gap: 0.9rem;
        padding: 1.05rem;
        border-radius: 1.05rem;
    }

    .falcon360-splash__logo-wrap {
        width: min(100%, 21rem);
        height: auto;
        min-height: 0;
        margin: 0;
    }

    .falcon360-splash__picture,
    .falcon360-splash__logo {
        width: 100%;
        max-width: 21rem;
    }

    .falcon360-splash__logo-aura {
        width: min(94vw, 23rem);
    }

    .falcon360-splash__logo-ring,
    .falcon360-splash__logo-sweep {
        width: min(86vw, 21rem);
    }
}

@media (max-height: 700px) and (min-width: 521px) {
    .falcon360-splash__panel {
        width: min(100%, 27rem);
        gap: 0.85rem;
        padding: 1.1rem 1.35rem;
    }

    .falcon360-splash__logo-wrap,
    .falcon360-splash__picture,
    .falcon360-splash__logo {
        max-width: 19rem;
    }
}

@media print {
    .sidebar,
    .sidebar-overlay,
    .topbar,
    .no-print {
        display: none !important;
    }

    img[src*="falcon360i"] {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}
