.sidebar-wrapper .nav-link,
.main-sidebar .nav-sidebar .nav-link,
.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link {
    align-items: flex-start;
    display: flex;
    gap: 0.6rem;
    height: auto;
}

.sidebar-wrapper .nav-link .nav-icon,
.main-sidebar .nav-sidebar .nav-link .nav-icon,
.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link .nav-icon {
    flex: 0 0 1.35rem;
    margin-top: 0.15rem;
}

.sidebar-wrapper .nav-link p,
.main-sidebar .nav-sidebar .nav-link p,
.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p {
    display: block;
    flex: 1 1 auto;
    line-height: 1.3;
    margin-right: 0;
    max-width: none !important;
    min-width: 0;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    width: auto !important;
    word-break: break-word;
}

/* ── Sidebar group headers ── */
.jr7-admin-group > .nav-link {
    position: relative;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-top: 0.35rem;
    text-transform: uppercase;
}

.jr7-admin-group > .nav-link p {
    margin-bottom: 0;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
    padding-right: 1.6rem;
}

/* ── Chevron toggle: fixed to the right ── */
.jr7-admin-group > .nav-link .right {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0;
}

/* ── Sidebar child items ── */
.jr7-admin-group > .nav-treeview {
    padding-bottom: 0.35rem;
}

.jr7-admin-group > .nav-treeview > .nav-item > .nav-link {
    font-size: 0.98rem;
    padding-left: 2.55rem;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
}

.jr7-admin-group > .nav-treeview > .nav-item > .nav-link .nav-icon {
    font-size: 0.95rem;
    margin-right: 0.35rem;
}

/* ── Group hover/active states ── */
.jr7-admin-group.menu-open > .nav-link,
.jr7-admin-group > .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
}

/* ── All sidebar text wraps ── */
.sidebar-wrapper .nav-link p,
.nav-sidebar .nav-link p,
.sidebar-mini.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link p {
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: break-word;
}

.app-footer .float-end {
    display: none !important;
}

/* ── Dark-mode toggle alignment ── */
.main-header .nav-item .nav-link .fas.fa-moon,
.main-header .nav-item .nav-link .fas.fa-sun {
    font-size: 1.1rem;
    vertical-align: middle;
}

/* ── Light theme: content text ── */
body:not(.dark-mode) .content-wrapper h1,
body:not(.dark-mode) .content-wrapper h2,
body:not(.dark-mode) .content-wrapper h3,
body:not(.dark-mode) .content-wrapper h4,
body:not(.dark-mode) .content-wrapper h5,
body:not(.dark-mode) .content-wrapper h6,
body:not(.dark-mode) .content-wrapper .breadcrumb-item,
body:not(.dark-mode) .content-wrapper label,
body:not(.dark-mode) .content-wrapper .card-title {
    color: #1f2933 !important;
}

body:not(.dark-mode) .content-wrapper .card,
body:not(.dark-mode) .content-wrapper .table,
body:not(.dark-mode) .content-wrapper .table td,
body:not(.dark-mode) .content-wrapper .table th {
    color: #1f2933;
}

body:not(.dark-mode) .content-wrapper .small,
body:not(.dark-mode) .content-wrapper .text-muted {
    opacity: 0.9;
}

/* ── Dark mode: navbar icons & text light ── */
[data-bs-theme="dark"] .main-header .nav-link,
[data-bs-theme="dark"] .main-header .nav-link i,
[data-bs-theme="dark"] .main-header .navbar-brand {
    color: rgba(255, 255, 255, 0.85) !important;
}
