/* Shared navigation; deliberately scoped so page content keeps its own styling. */
.site-navbar { box-shadow: 0 2px 8px rgba(15, 23, 42, .12); }
.site-navbar .navbar-brand { margin-right: 2rem; }
.site-navbar .nav-link { color: rgba(255, 255, 255, .9); border-radius: .5rem; padding: .65rem .8rem; }
.site-navbar .nav-link:hover,
.site-navbar .nav-link.active { background: rgba(255, 255, 255, .16); color: #fff; }
.site-navbar .nav-link.active { font-weight: 600; }
.site-navbar .nav-link:focus-visible,
.admin-sidebar .nav-link:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.site-navbar .dropdown-menu { min-width: 15rem; padding: .5rem; border: 1px solid #e2e8f0; border-radius: .75rem; box-shadow: 0 12px 32px rgba(15, 23, 42, .16); }
.site-navbar .dropdown-item { display: flex; align-items: center; gap: .65rem; padding: .65rem .75rem; border-radius: .35rem; white-space: normal; }
.site-navbar .dropdown-item i { width: 1.1rem; flex-shrink: 0; text-align: center; }
.site-navbar .dropdown-header { font-size: .75rem; font-weight: 600; color: #64748b; }
.site-navbar .nav-create { margin: .25rem .5rem; white-space: nowrap; }
.site-navbar .account-toggle { display: flex; align-items: center; }
.site-navbar .account-name { max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-mobile-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #202c3d; padding: .8rem 1rem; }
.admin-sidebar { background: #202c3d; color: #fff; padding: 0; min-height: 100vh; }
.admin-sidebar-inner { padding: 1.25rem .65rem; }
.admin-brand { display: block; padding: 0 .65rem; color: #fff; font-size: 1.2rem; font-weight: 700; text-decoration: none; }
.admin-brand:hover { color: #fff; }
.admin-role { color: #b9c6d8; padding: .25rem .65rem 0; font-size: .8rem; }
.admin-nav-group { margin-top: 1.25rem; }
.admin-nav-heading { color: #b9c6d8; text-transform: uppercase; letter-spacing: .07em; font-size: .65rem; font-weight: 700; margin: 0 .65rem .35rem; }
.admin-sidebar .nav-link { display: flex; align-items: center; gap: .65rem; color: #e0e7f1; padding: .65rem; margin: .1rem 0; border-radius: .45rem; font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; }
.admin-sidebar .nav-link i { width: 1.1rem; flex-shrink: 0; text-align: center; }
.admin-sidebar .nav-link:hover { color: #fff; background: #314158; }
.admin-sidebar .nav-link.active { color: #fff; background: #0d6efd; font-weight: 600; }
.admin-account { border-top: 1px solid #475569; margin-top: 1.25rem; padding-top: 1rem; }
.admin-user-name { padding: 0 .65rem; margin-bottom: .5rem; overflow-wrap: anywhere; font-size: .85rem; }
@media (min-width: 768px) {
    .admin-sidebar-inner { position: sticky; top: 0; max-height: 100vh; overflow-y: auto; }
}
@media (max-width: 1199.98px) {
    .site-navbar .navbar-collapse { padding: .75rem 0; }
    .site-navbar .site-navbar-actions { border-top: 1px solid rgba(255,255,255,.25); margin-top: .5rem; padding-top: .5rem; }
    .site-navbar .nav-link { width: 100%; text-align: left; }
    .site-navbar .dropdown-menu { box-shadow: none; margin: .25rem 0 .5rem; }
    .site-navbar .nav-create { display: inline-block; margin: .5rem 0; }
}
@media (max-width: 767.98px) {
    .admin-sidebar { min-height: auto; }
    .admin-sidebar-inner { padding-top: 1rem; }
    .admin-brand, .admin-role { display: none; }
}
