/* C sidebar. Page content, KPI components and existing permission rules stay unchanged. */
.side.sidebar-c {
  width: 324px; padding: 0; display: grid; align-items: stretch;
  grid-template-columns: 90px minmax(0, 1fr); grid-template-rows: 92px minmax(0, 1fr) auto;
  background: linear-gradient(to right, #252a21 90px, #f1f3ec 90px);
  border-right: 1px solid #dce1d4; color: #293222;
}
.side.sidebar-c .logo { grid-column: 1; grid-row: 1; padding: 0; justify-content: center; gap: 0; }
.side.sidebar-c .logo-img { width: 52px; height: 52px; }
.side.sidebar-c .logo-type { display: none; }
.side.sidebar-c .sidebar-c-heading { grid-column: 2; grid-row: 1; display: flex; align-items: center; padding: 0 23px; border-bottom: 1px solid #dce1d4; font-size: 18px; font-weight: 700; }
.side.sidebar-c .sidebar-c-rail { grid-column: 1; grid-row: 2; overflow-y: auto; min-height: 0; padding: 12px 0; }
.side.sidebar-c .sidebar-c-category { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 72px; padding: 12px 3px; border: 0; border-radius: 0; background: transparent; color: #b8c0ac; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.side.sidebar-c .sidebar-c-category:hover { background: #343c2d; color: #fff; }
.side.sidebar-c .sidebar-c-category[aria-pressed="true"], .side.sidebar-c .sidebar-c-category[aria-current="page"] { background: #424e35; color: #f3f6ec; box-shadow: inset 3px 0 0 #c5d5a7; }
.side.sidebar-c .sidebar-c-category:focus-visible { outline: 2px solid #e5edcf; outline-offset: -4px; }
.side.sidebar-c .sidebar-c-brand { grid-column: 1; grid-row: 3; align-self: end; padding: 24px 3px; text-align: center; color: #a4af96; font-size: 10px; letter-spacing: .06em; }
.side.sidebar-c #nav { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; gap: 4px; padding: 20px 12px; }
.side.sidebar-c #nav .nav-group-label, .side.sidebar-c #nav .kf-nav-label, .side.sidebar-c #nav .nav-pre, .side.sidebar-c #nav [data-sidebar-hidden] { display: none !important; }
.side.sidebar-c #nav button, .side.sidebar-c #nav a { flex: none; gap: 10px; min-height: 46px; padding: 12px; color: #4c5941; background: transparent; border-radius: 0; font-size: 13px; font-weight: 600; text-decoration: none; }
.side.sidebar-c #nav button svg, .side.sidebar-c #nav a svg { color: #748365; }
.side.sidebar-c #nav button:hover, .side.sidebar-c #nav a:hover { color: #25321d; background: #e6ebde; }
.side.sidebar-c #nav button.on, .side.sidebar-c #nav a.on { background: #dfe8d3; color: #2b3d1d; box-shadow: inset 3px 0 0 #768b5b; }
.side.sidebar-c #nav button.on svg, .side.sidebar-c #nav a.on svg { color: #526c38; }
.side.sidebar-c #nav a[aria-disabled="true"] { color: #7b8374; }
.side.sidebar-c #nav button:focus-visible, .side.sidebar-c #nav a:focus-visible, .side.sidebar-c #side-account button:focus-visible { outline: 2px solid #526c38; outline-offset: -3px; }
.side.sidebar-c #side-account { grid-column: 2; grid-row: 3; display: grid; grid-template-columns: 1fr auto; margin: 0 20px; padding: 18px 0 20px; gap: 5px 10px; border-top: 1px solid #d5dccb; color: #637057; }
.side.sidebar-c #side-account #me-name { color: #334329; font-size: 13px; overflow-wrap: anywhere; }
.side.sidebar-c #side-account #scope-badge, .side.sidebar-c #side-account #btn-logout { color: #637057; }
.side.sidebar-c #side-account #btn-logout { min-height: 36px; margin: 0; }
@media (min-width: 761px) and (max-width: 1100px) {
  .side.sidebar-c { width: 300px; }
}
@media (max-width: 760px) {
  /* The sidebar becomes a masthead; only its containing shell changes layout. */
  .shell:has(> .side.sidebar-c) { display: block; }
  .side.sidebar-c { position: static; width: 100%; height: auto; min-height: 60px; grid-template-columns: 90px minmax(0, 1fr); grid-template-rows: 60px; background: #252a21; border-right: 0; }
  .side.sidebar-c .logo { grid-column: 1; grid-row: 1; }
  .side.sidebar-c .logo-img { width: 44px; height: 44px; }
  .side.sidebar-c #kpi-menu-toggle { grid-column: 2; grid-row: 1; justify-self: end; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 100px; min-height: 44px; margin: 8px 16px; padding: 8px; border: 1px solid #67715e; border-radius: 0; color: #fff; background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
  .side.sidebar-c #kpi-menu-toggle:focus-visible { outline: 2px solid #e5edcf; outline-offset: 2px; }
  .side.sidebar-c .sidebar-c-rail, .side.sidebar-c .sidebar-c-heading, .side.sidebar-c .sidebar-c-brand, .side.sidebar-c #nav, .side.sidebar-c #side-account { display: none; }
  .side.sidebar-c.sidebar-c-open { grid-template-rows: 60px 60px minmax(0, 1fr) auto; max-height: 100dvh; background: linear-gradient(to right, #252a21 90px, #f1f3ec 90px); }
  .side.sidebar-c.sidebar-c-open #kpi-menu-toggle { color: #334329; border-color: #9ba98e; }
  .side.sidebar-c.sidebar-c-open .sidebar-c-heading { display: flex; grid-row: 2; font-size: 17px; padding: 0 20px; }
  .side.sidebar-c.sidebar-c-open .sidebar-c-rail { display: block; grid-row: 2 / 5; }
  .side.sidebar-c.sidebar-c-open .sidebar-c-category { min-height: 64px; }
  .side.sidebar-c.sidebar-c-open #nav { display: flex; grid-row: 3; padding-top: 14px; padding-bottom: 14px; min-height: 100px; }
  .side.sidebar-c.sidebar-c-open #side-account { display: grid; grid-row: 4; }
  .side.sidebar-c #side-account #btn-logout { min-height: 44px; }
}
