/* Shared staff and agent sidebar. Keep role-specific content in the templates. */
:root { --sidebar-width:220px; --sidebar-bg:var(--ui-nav); }
.sidebar {
  width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;z-index:5;
  display:flex;flex-direction:column;padding:25px 14px 0;
  background:linear-gradient(155deg,#25336a 0%,var(--sidebar-bg) 42%);color:var(--ui-nav-text);
  font:14px/1.6 var(--ui-font);
  overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;
  scrollbar-color:var(--ui-nav-line) var(--sidebar-bg);
}
.sidebar > *, .sidebar-content > * { flex-shrink:0; }
.sidebar-content { display:flex;flex-direction:column;flex:1; }
.sidebar a { text-decoration:none; }




.sidebar .workspace-label { font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:var(--ui-nav-muted);padding:10px 12px; }
.sidebar .nav-item { display:flex;align-items:center;gap:10px;color:var(--ui-nav-text);padding:9px 12px;margin:2px 0;border-radius:6px;font-size:12px;line-height:1.45;min-height:44px; }
.sidebar .nav-item:hover { background:var(--ui-nav-hover); }
.sidebar .nav-item.selected,.sidebar .nav-item[aria-current="page"] { color:#fff;background:var(--ui-primary);box-shadow:inset 3px 0 #b8c1ff; }

.sidebar .nav-count { flex-shrink:0;font-variant-numeric:tabular-nums;margin-left:auto;background:var(--ui-nav-hover);border-radius:3px;font-size:10px;padding:0 5px;color:#fff; }
.sidebar .nav-divider { height:1px;background:var(--ui-nav-line);margin:18px 12px; }
.sidebar .sidebar-bottom { margin-top:auto; }
.sidebar .call-button,.sidebar .sidebar-action { display:flex;align-items:center;gap:8px;border:1px solid var(--ui-nav-line);border-radius:4px;color:var(--ui-nav-text);font-size:12px;font-weight:600;padding:10px;margin:14px 0; }
.sidebar .call-button:hover { background:var(--ui-nav-hover); }
.sidebar .sidebar-action-primary { justify-content:center;background:#fff;border-color:#fff;color:var(--ui-link); }
.sidebar .sidebar-action-primary:hover { background:var(--ui-lilac); }
.sidebar .demo-label { font-size:10px;color:var(--ui-nav-muted);padding:4px 10px 18px;letter-spacing:.3px; }
.sidebar .profile { border-top:1px solid var(--ui-nav-line);padding:17px 0;display:flex;align-items:center;gap:9px; }
.sidebar .profile > div { min-width:0; }
.sidebar .profile strong { display:block;color:#fff;font-size:12px;font-weight:600;overflow-wrap:anywhere; }
.sidebar .profile small { display:block;color:var(--ui-nav-muted);font-size:10px; }
.sidebar .profile form { margin:0 0 0 auto; }
.sidebar .avatar { background:var(--ui-nav-hover);border-color:var(--ui-nav-line);color:var(--ui-nav-text); }
.sidebar .icon-button { font:14px/1.6 var(--ui-font);display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ui-nav-text);border:0;border-radius:5px;padding:8px;width:36px;min-height:36px;cursor:pointer; }
.sidebar .icon-button:hover { background:var(--ui-nav-hover); }
.sidebar a:focus-visible,.sidebar button:focus-visible { outline:3px solid #ffc81e;outline-offset:2px; }
.sidebar-toggle { display:none; }
.main-shell,.portal-shell.is-signed-in { margin-left:var(--sidebar-width); }
@media(max-width:1150px) { :root { --sidebar-width:190px; }  }
@media(max-width:800px) {
  :root { --sidebar-width:0px; }
  .sidebar { position:relative;inset:auto;width:100%;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:visible; }
  
  .sidebar-toggle { display:flex;align-items:center;gap:12px;background:transparent;color:var(--ui-nav-text);border:1px solid var(--ui-nav-line);border-radius:5px;min-height:40px;padding:8px 14px;font-family:inherit;font-weight:600;font-size:13px;line-height:1.6;cursor:pointer; }
  .sidebar-toggle:hover { background:var(--ui-nav-hover); }
  .sidebar-content { display:none;grid-column:1/-1;padding-top:18px; }
  .sidebar.menu-open .sidebar-content { display:flex; }
  .sidebar .sidebar-bottom { margin-top:4px; }
}

.sidebar .ui-brand { padding:0 10px 28px; }
@media(max-width:1150px){.sidebar .ui-brand{font-size:16px}}
@media(max-width:800px){.sidebar .ui-brand{padding:0;font-size:17px}}
