/* Lotus System Brand Pack integration.
   The original dashboard CSS uses global selectors, so the app uses scoped
   brand variables and classes here to avoid disturbing data-entry screens. */

:root {
    --lotus-brand-bg: #0B1F3A;
    --lotus-brand-panel: #132E57;
    --lotus-brand-blue: #1E90FF;
    --lotus-brand-cyan: #00CFFF;
    --lotus-brand-text: #EAF6FF;
    --lotus-brand-soft: #F2FBFF;
    --lotus-brand-border: rgba(0, 207, 255, .24);
    --lotus-brand-glow: 0 18px 42px rgba(0, 207, 255, .14);
}

body.skin-lotus,
.skin-lotus {
    --navy: var(--lotus-brand-bg);
    --navy2: #071426;
    --blue: var(--lotus-brand-blue);
    --blue-lt: #EAF6FF;
    --blue-md: #9BDAFF;
    --app-bg: #F2F7FB;
    --topnav-bg: var(--lotus-brand-bg);
    --topnav-bg-2: #071426;
    --brand-bg: var(--lotus-brand-blue);
    --panel-bg: #FFFFFF;
    --panel-soft: var(--lotus-brand-soft);
    --table-hover: #F4FBFF;
}

body.skin-lotus .lotus-topnav,
.skin-lotus .lotus-topnav {
    background: linear-gradient(90deg, #071426, var(--lotus-brand-bg) 48%, #132E57) !important;
    border-bottom: 1px solid rgba(0, 207, 255, .18);
    box-shadow: 0 8px 26px rgba(7, 20, 38, .22) !important;
}

.lotus-brand-logo {
    background: transparent !important;
}

.lotus-brand-logo img {
    border-radius: 7px;
    box-shadow: 0 0 12px rgba(0, 207, 255, .10);
}

.lotus-brand-wordmark {
    display: inline-flex;
    align-items: center;
    color: #EAF6FF;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.4px;
    white-space: nowrap;
}

.layout-loading-logo {
    background: transparent !important;
}

.layout-loading-logo img,
.logo-box-loading img {
    border-radius: 12px;
    box-shadow: 0 16px 34px rgba(0, 207, 255, .16);
}

.layout-loading {
    background: linear-gradient(135deg, #F2F7FB, #EAF6FF) !important;
}

.brand-loading-mark,
.logo-box-loading {
    position: relative;
}

.brand-loading-mark::after,
.logo-box-loading::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 16px;
    border: 2px solid transparent;
    border-top-color: var(--lotus-brand-cyan);
    border-right-color: rgba(30, 144, 255, .55);
    animation: lotusSpin 1.1s linear infinite;
}

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

#loading-screen {
    background: linear-gradient(135deg, #F2F7FB, #EAF6FF);
}

.logo-box-loading {
    background: transparent !important;
    border-radius: 14px !important;
}

.loading-fill {
    background: linear-gradient(90deg, var(--lotus-brand-blue), var(--lotus-brand-cyan)) !important;
}

.lotus-brand-hero {
    background: linear-gradient(135deg, #071426, var(--lotus-brand-bg) 54%, var(--lotus-brand-panel));
    color: var(--lotus-brand-text);
    border: 1px solid var(--lotus-brand-border);
    border-radius: 8px;
    padding: 18px 20px;
    min-height: 138px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    box-shadow: var(--lotus-brand-glow);
    overflow: hidden;
}

.lotus-brand-hero-main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.lotus-brand-hero-logo {
    width: 64px;
    height: 64px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 16px;
    box-shadow: 0 18px 34px rgba(0, 207, 255, .16);
}

.lotus-brand-hero-copy {
    min-width: 0;
}

.lotus-brand-hero-title {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
    letter-spacing: 6px;
}

.lotus-brand-hero-sub {
    margin-top: 7px;
    color: #BFEFFF;
    font-size: 12.5px;
    line-height: 1.55;
    max-width: 560px;
}

.lotus-brand-hero-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-shrink: 0;
}

.lotus-brand-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 7px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: linear-gradient(90deg, var(--lotus-brand-blue), var(--lotus-brand-cyan));
    color: #fff;
    text-decoration: none;
    font-size: 12.5px;
    font-weight: 800;
    box-shadow: 0 12px 26px rgba(0, 207, 255, .16);
}

.lotus-brand-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 7px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .08);
    color: #EAF6FF;
    text-decoration: none;
    font-size: 12.5px;
    font-weight: 700;
}

body.skin-lotus .btn-primary,
.skin-lotus .btn-primary {
    background: linear-gradient(90deg, var(--lotus-brand-blue), #1676D8) !important;
    border-color: var(--lotus-brand-blue) !important;
}

body.skin-lotus .panel,
body.skin-lotus .metric-card,
body.skin-lotus .mini-stat,
body.skin-lotus .quick-card,
.skin-lotus .panel,
.skin-lotus .metric-card,
.skin-lotus .mini-stat,
.skin-lotus .quick-card {
    border-color: color-mix(in srgb, var(--lotus-brand-cyan) 16%, #E2E8F0);
}

@media (max-width: 900px) {
    .lotus-brand-wordmark {
        font-size: 12px;
        letter-spacing: 1px;
    }

    .lotus-brand-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .lotus-brand-hero-logo {
        width: 58px;
        height: 58px;
    }

    .lotus-brand-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .lotus-brand-wordmark {
        display: none;
    }

    .lotus-brand-hero-title {
        font-size: 26px;
        letter-spacing: 4px;
    }

    .lotus-brand-hero-main {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
}
