/* Nexabet brand system — blue action color with emerald sports accents */
:root {
    --nexa-bg: #061721;
    --nexa-panel: #0c2430;
    --nexa-panel-2: #12313e;
    --nexa-line: #214553;
    --nexa-muted: #86a2ad;
    --nexa-text: #f3f8fa;
    --nexa-blue: #238cff;
    --nexa-green: #29d98c;
    --sd-bg: #061721;
    --sd-panel: #0c2430;
    --sd-panel-2: #12313e;
    --sd-line: #214553;
    --sd-text: #f3f8fa;
    --sd-muted: #86a2ad;
    --sd-green: #29d98c;
    --sd-blue: #238cff;
}

.header-primary,
.user-header-primary,
.nexa-mobile-nav.app-nav {
    background: #0c2532 !important;
    border-color: #214553 !important;
}

.header-fluid-custom-parent .logo img,
.user-header-primary .logo img {
    width: 172px;
    max-width: 172px;
    max-height: 44px;
}

.btn--signup,
.nexa-deposit-btn,
.nexa-mobile-wallet-button,
.stake-header-wallet > a,
.bet-place-btn {
    background: linear-gradient(135deg, #238cff, #176ee4) !important;
}

.nexa-product-card--casino {
    border-color: #35e6a34a;
    background: linear-gradient(145deg, #08795e 0%, #07546a 100%);
}

.nexa-product-card--sports {
    border-color: #329cff59;
    background: linear-gradient(145deg, #197fe4 0%, #1259b7 100%);
}

.nexa-product-card::before {
    background: #57e3b333;
}

.nexa-mobile-nav .app-nav__menu-link.active .app-nav__menu-icon,
.nexa-mobile-nav .app-nav__menu-link.is-active .app-nav__menu-icon {
    color: #35eba0 !important;
}

.nexa-mobile-nav .nexa-for-you-link .app-nav__menu-icon {
    background: linear-gradient(135deg, #17465a, #12624f);
}

.nexa-casino-page-card:hover,
.nexa-sports-page-hero {
    border-color: #29d98c66;
}

/* Animated Nexabet loading screen */
.nexa-preloader {
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, #123e52 0, #071c27 36%, #041119 72%) !important;
}

.nexa-preloader__glow {
    position: absolute;
    z-index: -1;
    width: 290px;
    height: 290px;
    border-radius: 50%;
    background: radial-gradient(circle, #238cff2e, #29d98c0d 48%, transparent 70%);
    animation: nexaGlow 1.8s ease-in-out infinite alternate;
}

.nexa-preloader__inner {
    width: min(270px, 72vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.nexa-preloader__logo {
    position: relative;
    width: 220px;
    max-width: 75vw;
    padding: 18px;
    animation: nexaLogoFloat 1.7s ease-in-out infinite;
}

.nexa-preloader__logo img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 10px 22px #0009);
}

.nexa-preloader__orbit {
    position: absolute;
    inset: -5px 2px;
    border: 1px solid #2b91ff42;
    border-radius: 50%;
    animation: nexaOrbit 1.6s linear infinite;
}

.nexa-preloader__orbit i {
    position: absolute;
    top: 6px;
    left: 36px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #29d98c;
    box-shadow: 0 0 15px #29d98c;
}

.nexa-preloader__track {
    width: 190px;
    height: 4px;
    overflow: hidden;
    border-radius: 99px;
    background: #173744;
}

.nexa-preloader__track span {
    width: 42%;
    height: 100%;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, #238cff, #29d98c);
    animation: nexaLoad 1.2s ease-in-out infinite;
}

.nexa-preloader__inner small {
    color: #86a2ad;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

@keyframes nexaGlow {
    to { transform: scale(1.18); opacity: .62; }
}

@keyframes nexaLogoFloat {
    50% { transform: translateY(-7px) scale(1.015); }
}

@keyframes nexaOrbit {
    to { transform: rotate(360deg); }
}

@keyframes nexaLoad {
    from { transform: translateX(-115%); }
    to { transform: translateX(245%); }
}

/* Nexabet account palette */
.user-dashboard {
    background: #061721 !important;
}

.user-header-primary,
.dashboard-sidebar,
.dashboard-right .card,
.dashboard-right .custom--card,
.dashboard-right .list-group-item {
    border-color: #214553 !important;
}

.dashboard-sidebar {
    background: #091e29 !important;
    box-shadow: 0 18px 45px #020b0f42;
}

.widget-card--primary {
    border-color: #285365 !important;
    background: linear-gradient(145deg, #123746, #0a2632) !important;
}

.dashboard-menu__link:hover,
.dashboard-menu__link.active {
    background: #12313e !important;
    box-shadow: inset 3px 0 #29d98c !important;
}

.dashboard-menu__link.active .dashboard-menu__icon,
.stake-sidebar-brand a i {
    color: #29d98c !important;
}

.dashboard-right .card,
.dashboard-right .custom--card,
.dashboard-right .list-group-item,
.stake-welcome-copy,
.stake-stat-grid article {
    background: #0c2430 !important;
}

.dashboard-right .card-header,
.dashboard-right .card-footer,
.dashboard-right .custom--table thead {
    background: #091e29 !important;
}

.dashboard-right .form-control,
.dashboard-right .form--control,
.dashboard-right .form-select,
.dashboard-right .select2-selection {
    border-color: #285365 !important;
    background: #071b25 !important;
}

.dashboard-right .btn--base,
.widget-card__deposit {
    border-color: #238cff !important;
    background: linear-gradient(135deg, #238cff, #176ee4) !important;
}

.stake-product-card--casino {
    background: linear-gradient(145deg, #08795e, #07546a) !important;
}

.stake-product-card--sports {
    background: linear-gradient(145deg, #197fe4, #1259b7) !important;
}

@media (prefers-reduced-motion: reduce) {
    .nexa-preloader__glow,
    .nexa-preloader__logo,
    .nexa-preloader__orbit,
    .nexa-preloader__track span {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
