/* Yusuf's navigation and branding, scoped away from POS and Back Office. */
#console-shell {
  --yusuf-header-height: 88px;
  --yusuf-sidebar-width: 312px;
}

#console-shell .topbar {
  height: var(--yusuf-header-height);
  gap: 16px;
}

#console-shell .brand { min-width: 312px; }
#console-shell .brand > span {
  flex: none;
  width: 200px;
  height: 64px;
  padding: 0 12px 0 0;
}
#console-shell .brand strong { font-size: 16px; }
#console-shell .brand small { font-size: 10px; line-height: 1.4; }

#console-shell .layout {
  grid-template-columns: var(--yusuf-sidebar-width) minmax(0, 1fr);
  min-height: calc(100vh - var(--yusuf-header-height));
}
#console-shell .sidebar {
  top: var(--yusuf-header-height);
  height: calc(100vh - var(--yusuf-header-height));
  height: calc(100dvh - var(--yusuf-header-height));
  gap: 6px;
  padding: 20px 12px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
#sidebar > p { flex: none; margin: 12px 12px 6px; font-size: 12px; }
#sidebar .nav-button {
  flex: none;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  min-height: 72px;
  padding: 12px;
}
#sidebar .nav-button > b { width: 40px; height: 40px; font-size: 20px; }
#sidebar .nav-button > span {
  min-width: 0;
  color: var(--brand-ink);
  font-size: 16px;
  line-height: 1.35;
  overflow-wrap: break-word;
}
#sidebar .nav-button small {
  margin-top: 4px;
  color: var(--brand-muted);
  font-size: 12px;
  line-height: 1.45;
}
#sidebar .nav-button.active > span { color: var(--brand-primary-dark); }
#sidebar .nav-button:focus-visible { outline: 3px solid var(--brand-primary); outline-offset: -3px; }
#sidebar .identity-card { flex: none; }
#sidebar .identity-card > span { flex: none; width: 40px; height: 40px; font-size: 14px; }
#sidebar .identity-card strong { font-size: 16px; }
#sidebar .identity-card small { color: var(--brand-muted); font-size: 12px; line-height: 1.45; }
#sidebar .sidebar-note { flex: none; }
#sidebar .sidebar-note strong { font-size: 11px; }
#sidebar .sidebar-note span { font-size: 12px; line-height: 1.55; }

#login-shell .login-mark { width: 220px; max-width: 100%; height: 78px; padding: 6px; }
/* The shared brand theme fixes logo dimensions with !important. */
html body #console-shell .brand img[src*="taro-pos-logo"],
html body #login-shell .login-mark img[src*="taro-pos-logo"] {
  width: 100% !important;
  height: 100% !important;
}

@media (max-width: 850px) {
  #console-shell { --yusuf-header-height: 76px; }
  #console-shell .topbar { gap: 8px; }
  #console-shell .brand { min-width: 0; }
  #console-shell .brand > span { width: 160px; height: 54px; padding: 0; border: 0; }
  #console-shell .layout { display: block; }
  #console-shell .sidebar { bottom: 0; width: min(312px, calc(100vw - 24px)); height: auto; }
}

@media (max-width: 480px) {
  #console-shell .brand > span { width: 128px; height: 48px; }
}
