body {
    background: linear-gradient(180deg, #f5f8ff 0%, #eef3f9 100%);
    min-height: 100vh;
}

.app-theme-select {
    width: 110px;
}

.app-navbar {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 250, 255, 0.95) 100%);
    border-bottom-color: #d6e2f3 !important;
    box-shadow: 0 8px 24px rgba(25, 61, 112, 0.08);
    backdrop-filter: saturate(140%) blur(8px);
}

.app-navbar__inner {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.app-navbar__brand {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin-right: .25rem;
    text-decoration: none;
}

.app-navbar__logo {
    max-height: 48px;
    width: auto;
    height: auto;
    display: block;
}



.app-navbar__collapse {
    align-items: center;
    gap: 1rem;
}

.app-navbar__links {
    gap: .25rem;
}

.app-navbar__links .nav-link {
    color: #28466f;
    font-weight: 600;
    border-radius: 999px;
    padding-inline: .9rem;
    transition: all .18s ease;
}

.app-navbar__links .nav-link:hover {
    color: #0f3f8a;
    background: #eaf3ff;
}

.app-navbar__links .nav-link.active {
    color: #0a2e63;
    background: linear-gradient(180deg, #dbeafe 0%, #cfe5ff 100%);
}

.app-navbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}

.app-navbar__badge {
    white-space: normal;
    text-align: center;
    border-color: #c9d7eb !important;
    color: #314665 !important;
    font-weight: 600;
}

@media (max-width: 1199.98px) {
    .app-navbar__inner {
        align-items: flex-start;
    }

    .app-navbar__brand {
        max-width: calc(100% - 4rem);
        flex-shrink: 0;
    }

    .app-navbar__collapse {
        width: 100%;
        padding-top: .75rem;
    }

    .app-navbar__links {
        width: 100%;
        gap: .35rem;
    }

    .app-navbar__links .nav-link {
        padding-inline: .75rem;
    }

    .app-navbar__logo {
        width: 38px;
        height: 38px;
    }

    .app-navbar__actions {
        width: 100%;
        justify-content: flex-start;
        padding-top: .5rem;
    }
}

.hero-section {
    background: radial-gradient(circle at top left, #d9ebff 0%, #f6fbff 42%, #ffffff 100%);
    border-bottom: 1px solid #dce6f3;
}

.card {
    border: 1px solid #dde6f2;
}

.table td,
.table th {
    white-space: nowrap;
    vertical-align: middle;
}

.module-list {
    max-height: 140px;
    overflow-y: auto;
    min-width: 220px;
}

.admin-suite__eyebrow {
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #4e6a90;
    font-weight: 700;
}

.admin-card {
    border: 1px solid #d7e3f2;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.admin-stat-card {
    border: 1px solid #d6e3f3;
    border-radius: .8rem;
    padding: .8rem .9rem;
    background: linear-gradient(180deg, #fafdff 0%, #f0f6ff 100%);
}

.admin-stat-card__label {
    color: #4d6689;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
}

.admin-stat-card__value {
    color: #16345f;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1;
}

.admin-module-grid {
    border: 1px solid #d2dfef;
    border-radius: .55rem;
    background: #f8fbff;
    padding: .6rem;
    max-height: 180px;
    overflow-y: auto;
}

.admin-module-grid .form-check {
    margin-bottom: .4rem;
}

.admin-module-help {
    display: block;
    font-size: .72rem;
    color: #6680a4;
}

.admin-users-table thead th {
    font-size: .72rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #4d6689;
    font-weight: 700;
    border-top: 0;
}

.admin-users-table tbody td {
    vertical-align: top;
}

.admin-user-search-wrap {
    min-width: 280px;
}

html[data-theme="dark"] .admin-suite__eyebrow {
    color: #9fbee6;
}

html[data-theme="dark"] .admin-card {
    border-color: #2e4b68;
    background: linear-gradient(180deg, #17273c 0%, #152335 100%);
}

html[data-theme="dark"] .admin-stat-card {
    border-color: #345274;
    background: linear-gradient(180deg, #1a2e47 0%, #182a40 100%);
}

html[data-theme="dark"] .admin-stat-card__label {
    color: #a8c5ea;
}

html[data-theme="dark"] .admin-stat-card__value {
    color: #e2efff;
}

html[data-theme="dark"] .admin-module-grid {
    background: #182a40;
    border-color: #335173;
}

html[data-theme="dark"] .admin-module-help {
    color: #a8bfdc;
}

html[data-theme="dark"] .admin-users-table thead th {
    color: #9fbee6;
}

html[data-theme="dark"] body {
    background: linear-gradient(180deg, #0f1623 0%, #101a2a 60%, #122033 100%);
    color: #dbe7fb;
}

html[data-theme="dark"] .app-navbar {
    background: linear-gradient(90deg, rgba(17, 27, 43, 0.96) 0%, rgba(13, 23, 39, 0.96) 100%);
    border-bottom-color: #21344f !important;
    box-shadow: 0 8px 24px rgba(3, 10, 20, 0.55);
}

html[data-theme="dark"] .app-navbar__links .nav-link {
    color: #c1d8ff;
}

html[data-theme="dark"] .app-navbar__links .nav-link:hover {
    color: #e4efff;
    background: #1d3556;
}

html[data-theme="dark"] .app-navbar__links .nav-link.active {
    color: #f3f8ff;
    background: linear-gradient(180deg, #20406b 0%, #193453 100%);
}

html[data-theme="dark"] .app-navbar__badge {
    border-color: #33557d !important;
    background: #1a2c44 !important;
    color: #d5e6ff !important;
}

html[data-theme="dark"] .hero-section {
    background: radial-gradient(circle at top left, #13243a 0%, #0f1c2e 45%, #101a2a 100%);
    border-bottom: 1px solid #223a59;
}

html[data-theme="dark"] .card,
html[data-theme="dark"] .list-group-item,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .dropdown-menu {
    background-color: #162437;
    border-color: #294362;
    color: #dbe7fb;
}

html[data-theme="dark"] .card-header,
html[data-theme="dark"] .card-footer,
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .table-light {
    background-color: #17283f !important;
    color: #dbe7fb !important;
    border-color: #294362 !important;
}

html[data-theme="dark"] .table,
html[data-theme="dark"] .table > :not(caption) > * > * {
    color: #dbe7fb;
    border-color: #294362;
}

html[data-theme="dark"] .text-secondary,
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .form-text,
html[data-theme="dark"] .small {
    color: #a8bfdc !important;
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select {
    background-color: #111d2f;
    color: #dbe7fb;
    border-color: #355576;
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus {
    border-color: #78a8e6;
    box-shadow: 0 0 0 .2rem rgba(120, 168, 230, .25);
}

html[data-theme="dark"] .btn-outline-secondary {
    color: #c7dcfa;
    border-color: #49698e;
}

html[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: #355477;
    border-color: #355477;
}

html[data-theme="dark"] .alert {
    border-color: #355477;
}
