/* Calm navigation; feature visibility stays controlled by the server template. */
:root { --sidebar-width:264px; }
.sidebar { background:#18263b; color:#dce5f1; box-shadow:none; border-inline-end:1px solid #243449; }
.sidebar-brand-wrap { padding:22px 18px 18px; border-bottom:1px solid #2a384c; }
.sidebar-company-logo { width:40px; height:40px; flex-basis:40px; filter:none; }
.sidebar-company-brand strong { font-size:13px; letter-spacing:0; }
.sidebar-company-brand small { font-size:9px; color:#a6b4c8; }
.sidebar .trial-badge { margin:13px 16px 0; padding:7px 10px; background:#25354b; border:1px solid #34465d; border-radius:10px; font-size:10px; color:#c4d2e6; }
.sidebar-search { display:flex; align-items:center; gap:8px; margin:15px 16px 8px; padding:9px 11px; border:1px solid #354358; border-radius:11px; color:#9eabc0; background:#213047; }
.sidebar-search input { min-width:0; width:100%; background:transparent; border:0; color:#eef2f9; outline:0; font-family:inherit; font-size:11px; }
.sidebar-search input::placeholder { color:#a3afc0; }
.sidebar-search:focus-within { border-color:#9a8bd3; box-shadow:0 0 0 2px #2b3550; }
.sidebar-scroll { padding:0 12px 15px; scrollbar-color:#43516a transparent; scrollbar-width:thin; }
.nav-section { margin-top:7px; }
.nav-section + .nav-section { margin-top:6px; padding-top:0; border-top:0; }
.nav-section-label { color:#a9b7cb; font-size:11px; font-weight:600; padding:10px 10px 6px; letter-spacing:0; }
.nav-group-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; background:transparent;
    font-family:inherit; color:inherit; font-size:inherit; font-weight:inherit; padding:0; text-align:start; cursor:pointer; min-height:28px; }
.nav-group-toggle::after { content:'⌄'; font-size:16px; color:#a5a3c5; transition:transform .18s; }
.nav-group-toggle[aria-expanded="false"]::after { transform:rotate(90deg); }
.nav-group-toggle:hover { color:#fff; }
.nav-group-items[hidden], .sidebar .nav-link[hidden], .nav-section[hidden] { display:none !important; }
.sidebar .nav-link { min-height:42px; padding:8px 11px; margin:2px 0; gap:10px; color:#d1daea; font-size:13px; font-weight:500; border-radius:10px; transition:background .15s; }
.sidebar .nav-link i { color:#99a9bf; font-size:15px; width:24px; }
.sidebar .nav-link:hover { transform:none; background:#26364e; color:#fff; }
.sidebar .nav-link.active { background:#343553; color:#f3efff; box-shadow:inset -3px 0 #ac98ec; font-weight:700; }
html[dir="ltr"] .sidebar .nav-link.active { box-shadow:inset 3px 0 #ac98ec; }
.sidebar .nav-link.active i { color:#c1aafa; }
.sidebar .nav-link.active::after { display:none; }
.sidebar .nav-count { background:#4b4668; color:#e8dffd; border-radius:7px; font-size:10px; min-width:22px; }
.sidebar-footer { padding:12px 17px; border-top:1px solid #2a384c; background:#18263b; }
.sidebar-footer-brand img { width:30px; height:30px; }
.sidebar-footer-brand strong { color:#bac8de; font-size:10px; }
.sidebar-footer-brand small { color:#92a0b7; font-size:8px; }
.sidebar-search-status { padding:12px; color:#bac8de; font-size:11px; text-align:center; }
.sidebar :is(a,button):focus-visible { outline:2px solid #b7a3ed; outline-offset:2px; }
@media(max-width:991.98px) { .sidebar { box-shadow:-12px 0 40px rgba(19,30,48,.22); } }
@media(prefers-reduced-motion:reduce) { .sidebar * { transition:none !important; } }
