/* Classic sidebar only. The dashboard grid changes solely for the desktop rail. */
#sidebar { background:linear-gradient(180deg,#05321b 0%,#056c35 100%); color:#fff; border-inline-end:1px solid rgba(255,255,255,.16); min-height:0; height:100dvh; }
#sidebar .sidebar-brand { height:64px; min-height:64px; padding:0 12px 0 18px; gap:8px; border-color:rgba(255,255,255,.16); overflow:hidden; flex-shrink:0; }
#sidebar .sidebar-brand img { width:154px; height:34px; object-position:center; min-width:0; }
#sidebar #collapseSidebar, #sidebar #closeSidebar { flex-shrink:0; width:30px; height:30px; padding:0; border:1px solid rgba(255,255,255,.16); border-radius:8px; background:rgba(255,255,255,.08); color:#d7ecdf; cursor:pointer; }
#sidebar #collapseSidebar { margin-inline-start:auto; }
#sidebar .sidebar-nav { flex:1; min-height:0; gap:1px; padding:10px; scrollbar-color:#cbd8cf transparent; }
#sidebar .nav-item, #sidebar .nav-group-toggle { grid-template-columns:28px minmax(0,1fr) auto; gap:10px; min-height:36px; padding:4px 8px; border-radius:9px; color:#e6f4ec; font-size:13px; font-weight:600; text-align:start; letter-spacing:normal; text-transform:none; }
#sidebar .nav-item > span:first-child, #sidebar .nav-group-icon { width:28px; height:28px; border:1px solid rgba(255,255,255,.16); border-radius:8px; background:rgba(255,255,255,.05); color:#d7ecdf; font-size:14px; }
#sidebar .nav-item:hover, #sidebar .nav-group-toggle:hover, #sidebar .nav-group.open > .nav-group-toggle { background:rgba(255,255,255,.05); color:#fff; }
#sidebar .nav-item.active { background:#087f3f; color:#fff; font-weight:700; }
#sidebar .nav-item.active > span:first-child { background:transparent; border-color:rgba(255,255,255,.25); color:white; }
#sidebar .nav-item.active::before { inset-inline-start:-10px; inset-inline-end:auto; background:#c8f5da; width:3px; }
#sidebar .nav-group { border:0; padding-top:2px; }
#sidebar .nav-group:first-of-type { margin-top:8px; border-top:1px solid rgba(255,255,255,.16); padding-top:8px; }
#sidebar .nav-group-toggle { font-weight:700; color:#fff; }
#sidebar .nav-group-toggle b { color:#c5e4d2; transform:none; }
#sidebar .nav-group.open > .nav-group-toggle b { transform:rotate(90deg); color:#fff; }
#sidebar .nav-group-items { margin:2px 0 6px; margin-inline-start:21px; border-inline-start:1px solid rgba(255,255,255,.16); padding:0; padding-inline-start:9px; }
#sidebar .nav-subitem { grid-template-columns:20px minmax(0,1fr) auto; min-height:32px; padding:4px 8px; font-size:12.8px; font-weight:500; }
#sidebar .nav-subitem > span:first-child { width:20px; height:20px; border:0; background:transparent; color:#c5e4d2; font-size:13px; }
#sidebar .nav-subitem.active > span:first-child { background:transparent; color:#fff; }
#sidebar .nav-count-badge { background:rgb(0 0 0 / 24%); color:#fcd38a; border:0; border-radius:999px; min-width:20px; padding:3px 6px; font-size:11px; }
#sidebar .technical-tools summary { padding:8px; color:#d7ecdf; font-size:11px; }
#sidebar .technical-tools .nav-item { margin-inline-start:0; }
#sidebar .sidebar-footer { flex-shrink:0; padding:12px; background:rgb(0 0 0 / 22%); border-top:1px solid rgba(255,255,255,.16); color:#d7ecdf; }
#sidebar .sidebar-sources-title { padding:8px 12px 0; border:1px solid rgba(255,255,255,.16); border-bottom:0; border-radius:12px 12px 0 0; background:rgba(255,255,255,.05); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
#sidebar #sidebarSourceStatus { gap:0; margin:0 0 10px; padding:4px 6px; border:1px solid rgba(255,255,255,.16); border-top:0; border-radius:0 0 12px 12px; background:rgba(255,255,255,.05); }
#sidebar .mini-source { min-height:40px; padding:6px; border:0; background:transparent; color:#fff; }
#sidebar .mini-source:hover { background:rgb(0 0 0 / 8%); }
#sidebar .mini-source > span strong { color:#fff; font-size:12px; }
#sidebar .mini-source > span em { color:#d7ecdf; font-size:11px; }
#sidebar .mini-source > small { color:#fff; font-size:12px; }
#sidebar .sidebar-runtime { border:0; padding-top:0; gap:4px 6px; }
#sidebar .sidebar-runtime strong { color:#fff; font-size:12px; }
#sidebar .sidebar-runtime small { color:#d7ecdf; font-size:11px; }
#sidebar .sidebar-mode-badge.live { background:rgb(0 0 0 / 24%); color:#7ee2a8; }
#sidebar .sidebar-mode-badge.demo { background:rgb(0 0 0 / 24%); color:#fcd38a; }
#sidebar .sidebar-mode-badge.lab { background:rgb(0 0 0 / 24%); color:#d7ecdf; }
#sidebar .nel-sidebar-credit { border-color:rgba(255,255,255,.16); color:#c5e4d2; font-size:9px; }
#sidebar .nel-sidebar-credit img { width:58px; height:20px; filter:brightness(0) invert(1); opacity:1; }
#sidebar a:focus-visible, #sidebar button:focus-visible, #sidebar summary:focus-visible { outline:2px solid #c8f5da; outline-offset:2px; }
[dir="rtl"] #sidebar .nav-group-toggle b { transform:rotate(180deg); }
[dir="rtl"] #sidebar .nav-group.open > .nav-group-toggle b { transform:rotate(90deg); }
[dir="rtl"] #sidebar #collapseSidebar { transform:scaleX(-1); }
@media (min-width: 901px) {
  #sidebar #closeSidebar { display:none; }
  /* The only selector targeting outside the sidebar: its collapsed grid column. */
  html:not(.gofo-assistant-embed) #dashboardView:has(> #sidebar.sidebar-collapsed) { grid-template-columns:72px minmax(0,1fr); }
  #sidebar.sidebar-collapsed .sidebar-brand { padding:8px 4px; height:94px; flex-direction:column; justify-content:center; }
  #sidebar.sidebar-collapsed .sidebar-brand img { width:34px; height:34px; object-fit:cover; object-position:left; }
  #sidebar.sidebar-collapsed #collapseSidebar { margin:0; transform:rotate(180deg); }
  #sidebar.sidebar-collapsed .sidebar-nav { padding:10px 8px; }
  #sidebar.sidebar-collapsed .nav-item, #sidebar.sidebar-collapsed .nav-group-toggle { grid-template-columns:1fr; justify-items:center; padding:4px; min-height:40px; }
  #sidebar.sidebar-collapsed .nav-item > span:nth-child(2), #sidebar.sidebar-collapsed .nav-group-toggle > span:nth-child(2), #sidebar.sidebar-collapsed .nav-group-toggle b { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  #sidebar.sidebar-collapsed .nav-group-items { margin-inline-start:0; padding-inline-start:0; }
  #sidebar.sidebar-collapsed .nav-count-badge { position:absolute; inset-inline-end:0; top:0; }
  #sidebar.sidebar-collapsed .technical-tools summary { font-size:0; padding:4px; }
  #sidebar.sidebar-collapsed .technical-tools summary::after { content:"⋯"; font-size:14px; }
  #sidebar.sidebar-collapsed .sidebar-footer { padding:8px 4px; }
  #sidebar.sidebar-collapsed .sidebar-sources-title { font-size:9px; padding:6px 2px; text-align:center; }
  #sidebar.sidebar-collapsed #sidebarSourceStatus { padding:2px; }
  #sidebar.sidebar-collapsed .mini-source { grid-template-columns:6px minmax(0,1fr); gap:3px; padding:4px 0; min-height:28px; }
  #sidebar.sidebar-collapsed .mini-source > span strong { font-size:10px; }
  #sidebar.sidebar-collapsed .mini-source em, #sidebar.sidebar-collapsed .mini-source small { display:none; }
  #sidebar.sidebar-collapsed .sidebar-runtime { grid-template-columns:1fr; justify-items:center; }
  #sidebar.sidebar-collapsed #sidebarVersionLine { font-size:9px; }
  #sidebar.sidebar-collapsed #sidebarRuntimeDetail { font-size:8px; text-align:center; }
  #sidebar.sidebar-collapsed .nel-sidebar-credit { justify-content:center; }
  #sidebar.sidebar-collapsed .nel-sidebar-credit > span { display:none; }
}
@media (max-width: 900px) {
  #sidebar { width:min(316px, calc(100vw - 48px)); left:calc(-1 * min(316px, calc(100vw - 48px)) - 20px); }
  #sidebar.open { left:0; }
  #sidebar #collapseSidebar { display:none; }
  #sidebar .sidebar-brand { justify-content:space-between; }
  #sidebar .nav-item, #sidebar .nav-group-toggle { min-height:44px; }
  [dir="rtl"] #sidebar { left:auto; right:calc(-1 * min(316px, calc(100vw - 48px)) - 20px); }
  [dir="rtl"] #sidebar.open { right:0; }
}

/* A1: translucent chrome over the same green in expanded, rail and drawer modes. */
#sidebar .sidebar-brand { background:transparent; }
#sidebar .sidebar-brand img { content:url("assets/brand/frascarelli-primary-white.png"); background:transparent; border-radius:6px; }
#sidebar .sidebar-sources-title { color:#b9dcc7; }
#sidebar .mini-source > span em { color:#d7ecdf; }
#sidebar .mini-source:has(i.ok) > span em { color:#7ee2a8; }
#sidebar .mini-source:has(i.warning) > span em { color:#fcd38a; }
#sidebar .mini-source i.ok { background:#7ee2a8; box-shadow:0 0 0 3px rgb(126 226 168 / 20%); }
#sidebar .mini-source i.warning { background:#fcd38a; box-shadow:0 0 0 3px rgb(252 211 138 / 20%); }
#sidebar .technical-tools, #sidebar .sidebar-runtime { background:rgb(0 0 0 / 12%); border-radius:8px; }
#sidebar select { color:#fff; background:#064c29; border-color:rgb(255 255 255 / 25%); }
#sidebar select option { color:#fff; background:#05321b; }
#sidebar .nel-sidebar-credit { background:transparent; color:#d7ecdf; }
