/* Shared navigation shell only; Treasury modules retain their existing styles. */
.treasury-shell.app-shell { flex-direction: row; }
.treasury-shell .treasury-sidebar { --bs-offcanvas-width: 268px; display: flex; flex-direction: column; width: 268px; flex: 0 0 268px; min-height: 0; color: #fff; background: linear-gradient(180deg, var(--rc-nav-top) 0%, var(--rc-nav-mid) 55%, var(--rc-nav-bottom) 100%) !important; box-shadow: 10px 0 28px rgba(55,48,163,.1); }
.treasury-sidebar-brand { display: flex; align-items: center; gap: 8px; min-height: 88px; padding: 18px 16px; border-bottom: 1px solid rgba(255,255,255,.12); }
.treasury-brand-link { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 0; border: 0; background: none; color: #fff; text-align: left; }
.treasury-brand-link img { width: 46px; height: 46px; object-fit: contain; }
.treasury-brand-link span { display: flex; flex-direction: column; gap: 5px; }
.treasury-brand-link strong { font-size: 1.3rem; font-weight: 800; letter-spacing: .05em; line-height: 1; }
.treasury-brand-link small { color: #e0e7ff; font-size: .59rem; letter-spacing: .1em; }
.treasury-sidebar-close { margin-left: auto; border: 0; background: transparent; color: #fff; padding: 5px; }
.treasury-sidebar-nav { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 10px 8px; scrollbar-width: thin; scrollbar-color: #a5b4fc transparent; overscroll-behavior: contain; }
.treasury-menu-label { padding: 8px 10px 3px; color: #dce3ff; font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.treasury-sidebar-nav :is(.top-link,.dropdown-menu-link) { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 32px; margin: 1px 0; padding: 6px 10px; border: 0; border-radius: 7px; color: #e8eaff; background: transparent; font-size: .74rem; font-weight: 500; line-height: 1.4; text-align: left; white-space: normal; }
.treasury-sidebar-nav :is(.top-link,.dropdown-menu-link) > i { flex: 0 0 17px; width: 17px; font-size: .95rem; color: inherit; }
.treasury-sidebar-nav :is(.top-link,.dropdown-menu-link):hover { color: #fff; background: rgba(255,255,255,.12); }
.treasury-sidebar-nav :is(.top-link,.dropdown-menu-link).active { background: #fff; color: var(--rc-primary-deep); font-weight: 700; box-shadow: none; }
.treasury-sidebar-nav .menu-count-badge { margin-left: auto; background: var(--rc-primary-soft); color: var(--rc-primary-deep); }
.treasury-sidebar-footer { flex-shrink: 0; border-top: 1px solid rgba(255,255,255,.12); }
.treasury-sidebar-footer img { display: block; width: 100%; height: auto; }
.treasury-shell .treasury-topbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 52px; min-height: 52px; padding: 0 20px; background: #fff; color: var(--rc-text); border-bottom: 1px solid var(--rc-border); box-shadow: none; z-index: 1030; }
.treasury-header-main { display: flex; align-items: center; flex: 1; min-width: 0; gap: 9px; }
.treasury-header-title { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; font-size: .66rem; line-height: 1.35; color: var(--rc-muted); }
.treasury-header-title strong { color: var(--rc-primary-deep); font-weight: 700; }
.treasury-header-divider { color: #c2c2c2; }
.treasury-topbar .topnav-right { gap: 8px; margin-left: auto; }
.treasury-topbar .topnav-icon-btn,.treasury-header-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 28px; height: 28px; padding: 0; border: 1px solid var(--rc-border); border-radius: 8px; color: var(--rc-primary-deep); background: #fff; font-size: .86rem; }
.treasury-topbar .topnav-icon-btn:hover,.treasury-header-toggle:hover { background: var(--rc-primary-soft); color: var(--rc-primary-dark); }
.treasury-topbar .topnav-user { padding-left: 9px; border-left: 1px solid var(--rc-border); }
.treasury-topbar .user-trigger { min-height: 28px; padding: 2px 5px; border: 1px solid transparent; border-radius: 8px; color: var(--rc-text); background: #fff; gap: 8px; }
.treasury-topbar .user-trigger:hover { background: var(--rc-primary-soft); }
.treasury-topbar .user-avatar { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: var(--rc-primary-soft); color: var(--rc-primary-deep); font-size: .65rem; }
.treasury-topbar .user-copy { display: block; }
.treasury-topbar .user-name { font-size: .68rem; }
.treasury-topbar .user-role { color: var(--rc-muted); font-size: .57rem; }
.treasury-topbar .nav-item-wrap:focus-within > .nav-dropdown { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.treasury-shell > .main > .content { padding: 16px 20px; }
.treasury-footer { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; gap: 12px; padding: 9px 18px; border-top: 1px solid var(--rc-border); background: #fff; color: var(--rc-muted); font-size: 10px; }
.treasury-footer > span:last-child { flex-shrink: 0; white-space: nowrap; }
.treasury-shell :is(.treasury-sidebar,.treasury-topbar) button:focus-visible { outline: 3px solid #a5b4fc; outline-offset: 2px; }
@media (min-width: 992px) { .treasury-shell .treasury-sidebar { position: relative; visibility: visible !important; transform: none; } }
@media (max-width: 1199.98px) { .treasury-header-title { display: block; } .treasury-header-title > span:first-child { display: block; font-size: .58rem; margin-bottom: 2px; } .treasury-header-divider { display: none; } }
@media (max-width: 991.98px) { .treasury-shell .treasury-sidebar { max-width: calc(100vw - 40px); } .treasury-shell .treasury-topbar { padding: 0 14px; } .treasury-shell > .main > .content { padding: 12px 15px; } }
@media (max-width: 767.98px) { .treasury-topbar .user-copy { display: none; } }
@media (max-width: 575.98px) { .treasury-header-title > span:first-child { display: none; } .treasury-shell .treasury-topbar { gap: 6px; padding: 0 10px; } .treasury-header-title { font-size: .6rem; } .treasury-header-main,.treasury-topbar .topnav-right { gap: 6px; } .treasury-topbar .topnav-user { padding-left: 6px; } .treasury-topbar .user-trigger { gap: 5px; padding: 2px; } .treasury-footer { padding: 8px 12px; gap: 8px; } }
@media print { .treasury-shell .treasury-sidebar,.treasury-shell .treasury-topbar,.treasury-footer { display: none !important; } .treasury-shell.app-shell { display: block; height: auto; overflow: visible; } }
