/* Shared navigation only. IDs keep legacy page-specific sidebar rules contained. */
html body #suiteShell.enterprise-sidebar { display: block !important; width: 100% !important; min-width: 0 !important; }
html body #suiteShell.enterprise-sidebar[hidden] { display: none !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar {
  position: fixed !important; inset: 0 auto 0 0 !important; z-index: 220 !important;
  display: flex !important; flex-direction: column !important; width: 264px !important; min-width: 264px !important; max-width: 264px !important;
  height: 100vh !important; height: 100dvh !important; max-height: 100vh !important; max-height: 100dvh !important; gap: 0 !important; padding: 0 !important; margin: 0 !important;
  overflow: hidden !important; background: #fff !important; color: #172b4d !important;
  border: 0 !important; border-right: 1px solid #e5eaf1 !important; border-radius: 0 !important; box-shadow: none !important;
  transform: none !important; transition: none !important; font-family: Calibri, 'Segoe UI', Arial, sans-serif !important;
}
html body #suiteShell.enterprise-sidebar #suiteSidebar * { box-sizing: border-box; font-family: inherit !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-brand {
  display: flex !important; flex: 0 0 auto !important; align-items: center !important; gap: 10px !important;
  width: 100% !important; min-height: 86px !important; height: auto !important; padding: 18px 20px !important; margin: 0 !important;
  border: 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important;
}
html body #suiteShell.enterprise-sidebar #suiteSidebar #brandMark {
  display: block !important; width: 80px !important; height: 48px !important; max-width: 80px !important; flex: 0 0 80px !important;
  object-fit: contain !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
html body #suiteShell.enterprise-sidebar #suiteSidebar #brandName { display: block !important; color: #172b4d !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important; min-width: 0; white-space: normal !important; overflow-wrap: anywhere; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-brand-icon,
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-control,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-active-indicator,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-status-dot { display: none !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-nav {
  display: block !important; flex: 1 1 auto !important; min-height: 0 !important; width: 100% !important; max-height: none !important;
  padding: 0 12px 16px !important; margin: 0 !important; overflow-x: hidden !important; overflow-y: auto !important;
  scrollbar-width: thin !important; scrollbar-color: #cbd5e1 transparent !important; overscroll-behavior: contain;
}
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-nav::-webkit-scrollbar { display: block !important; width: 5px !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-nav::-webkit-scrollbar-thumb { background: #cbd5e1 !important; border-radius: 5px; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-nav::-webkit-scrollbar-button { display: none !important; width: 0 !important; height: 0 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-nav-section { display: block !important; margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-nav-section h3 { display: block !important; padding: 10px 10px 7px !important; margin: 0 !important; color: #64748b !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .06em !important; line-height: 1.4 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-group { display: block !important; position: relative !important; width: 100% !important; margin: 2px 0 !important; padding: 0 !important; overflow: visible !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-group::before,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-group::after { display: none !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-parent-row { display: flex; align-items: center; gap: 2px; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button {
  display: flex !important; flex: 1 1 auto !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important;
  width: 100% !important; min-width: 0 !important; min-height: 44px !important; height: auto !important; padding: 10px 12px !important; margin: 0 !important;
  border: 0 !important; border-radius: 8px !important; background: transparent !important; background-image: none !important; color: #172b4d !important;
  box-shadow: none !important; text-decoration: none !important; text-align: left !important; transform: none !important; white-space: normal !important; cursor: pointer;
  transition: background-color 120ms ease, color 120ms ease !important;
}
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button::before,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button::after { display: none !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-text { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; opacity: 1 !important; width: auto !important; overflow: visible !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-label { display: block !important; color: inherit !important; opacity: 1 !important; width: auto !important; max-width: none !important; overflow: visible !important; white-space: normal !important; text-overflow: clip !important; font-size: 15px !important; font-weight: 500 !important; line-height: 20px !important; overflow-wrap: anywhere; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-subtitle { display: block !important; color: #64748b !important; font-size: 12px !important; font-weight: 400 !important; line-height: 16px !important; opacity: 1 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-icon { display: flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 20px !important; width: 20px !important; height: 20px !important; margin: 0 !important; padding: 0 !important; color: #64748b !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.7 !important; stroke-linecap: round; stroke-linejoin: round; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button:hover,
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-section-toggle:hover,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-submenu a:hover { background: #f4f7fa !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button.active,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-submenu a.active { background: #eaf2ff !important; color: #175cd3 !important; box-shadow: inset 3px 0 #175cd3 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button:is(.active,.section-active) .nav-icon,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button.section-active { color: #175cd3 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-section-toggle { flex: 0 0 32px; width: 32px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #64748b; cursor: pointer; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-section-toggle svg { width: 15px !important; height: 15px !important; transition: transform 120ms ease; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-section-toggle[aria-expanded="true"] svg { transform: rotate(90deg); }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-submenu { display: grid !important; gap: 2px !important; position: static !important; width: auto !important; max-height: none !important; margin: 3px 0 6px 20px !important; padding: 0 0 0 10px !important; border: 0 !important; border-left: 1px solid #e5eaf1 !important; background: transparent !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-submenu[hidden] { display: none !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-submenu a { display: block !important; text-decoration: none !important; width: 100% !important; min-height: 38px !important; height: auto !important; padding: 9px 12px !important; transition: background-color 120ms ease, color 120ms ease !important; margin: 0 !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: #64748b !important; text-align: left !important; font-size: 14px !important; font-weight: 400 !important; line-height: 20px !important; white-space: normal !important; overflow-wrap: anywhere; cursor: pointer; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .sidebar-bottom { display: block !important; min-height: 76px !important; flex: 0 0 auto !important; position: static !important; width: 100% !important; margin: 0 !important; padding: 10px 12px !important; border: 0 !important; border-top: 1px solid #e5eaf1 !important; background: #fff !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar a:focus-visible,
html body #suiteShell.enterprise-sidebar #suiteSidebar button:focus-visible,
html body #suiteShell.enterprise-sidebar #mobileMenuButton:focus-visible { outline: 2px solid #175cd3 !important; outline-offset: -2px !important; }
html body #suiteShell.enterprise-sidebar #suiteMain { width: auto !important; min-width: 0 !important; max-width: none !important; margin-left: 264px !important; transition: none !important; }
html body #suiteShell.enterprise-sidebar #suiteMain > .suite-topbar .suite-logo-strip { display: none !important; }
html body #suiteShell.enterprise-sidebar #suiteMain .target-mock-header img { display: none !important; }
html body #suiteShell.enterprise-sidebar #suiteMain > .suite-topbar { min-height: 56px !important; height: auto !important; }
html body #suiteShell.enterprise-sidebar #suiteMain > .suite-topbar .topbar-primary { min-height: 56px !important; }
html body #suiteShell.enterprise-sidebar #sidebarClose,
html body #suiteShell.enterprise-sidebar #mobileMenuButton { display: none !important; }
@media (max-width: 1023px) {
  html body #suiteShell.enterprise-sidebar #suiteMain { margin-left: 0 !important; width: 100% !important; }
  html body #suiteShell.enterprise-sidebar #suiteSidebar { z-index: 1002 !important; width: min(300px, calc(100vw - 40px)) !important; min-width: 0 !important; max-width: 300px !important; transform: translateX(-100%) !important; visibility: hidden !important; transition: transform 160ms ease !important; }
  html body #suiteShell.enterprise-sidebar.sidebar-mobile-open #suiteSidebar { transform: translateX(0) !important; visibility: visible !important; }
  html body #suiteShell.enterprise-sidebar #sidebarBackdrop:not([hidden]) { display: block !important; position: fixed !important; inset: 0 !important; z-index: 1001 !important; background: rgb(15 23 42 / 35%) !important; }
  html body #suiteShell.enterprise-sidebar #sidebarClose { display: grid !important; place-items: center; flex: 0 0 32px; width: 32px; height: 36px; padding: 0; margin-left: auto; background: transparent; color: #64748b; border: 0; border-radius: 8px; font-size: 24px; }
  html body #suiteShell.enterprise-sidebar #mobileMenuButton { display: grid !important; place-items: center !important; flex: 0 0 40px !important; width: 40px !important; height: 40px !important; padding: 0 !important; margin: 0 !important; border: 1px solid #e5eaf1 !important; border-radius: 8px !important; background: #fff !important; color: #172b4d !important; font-size: 20px !important; }
  html body #suiteShell.enterprise-sidebar #suiteMain > .suite-topbar { display: block !important; padding: 0 12px !important; }
  html body #suiteShell.enterprise-sidebar #suiteMain > .suite-topbar .topbar-primary { display: flex !important; align-items: center !important; gap: 12px !important; }
  html body #suiteShell.enterprise-sidebar #suiteMain > .suite-topbar .topbar-title { min-width: 0 !important; flex: 1 !important; }
  body.sidebar-drawer-open { overflow: hidden !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body #suiteShell.enterprise-sidebar #suiteSidebar,
  html body #suiteShell.enterprise-sidebar #suiteSidebar * { transition: none !important; scroll-behavior: auto !important; }
}

/* Sidebar brand and footer refinements. Tenant-specific logo sizing preserves other branding. */
html body #suiteShell.enterprise-sidebar #suiteSidebar[data-tenant="tenant_turbolux"] #brandMark { width: 150px !important; max-width: 150px !important; flex-basis: 150px !important; height: auto !important; max-height: 50px !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button.section-active,
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-button.section-active .nav-icon,
html body #suiteShell.enterprise-sidebar #suiteSidebar .expanded-parent .nav-button:not(.active),
html body #suiteShell.enterprise-sidebar #suiteSidebar .expanded-parent .nav-button:not(.active) .nav-icon { color: #172b4d !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .expanded-parent .nav-label { font-weight: 600 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .agent-kay-nav { min-height: 54px !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .agent-kay-nav .nav-label { font-size: 14px !important; font-weight: 600 !important; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-footer-arrow { display: flex; flex: 0 0 14px; margin-left: auto; color: #64748b; }
html body #suiteShell.enterprise-sidebar #suiteSidebar .nav-footer-arrow svg { width: 14px !important; height: 14px !important; }

/* Keep target planning within the available width beside the expanded menu. */
html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-mock-main,
html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-mock-main > *,
html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-setup-panel > * { min-width: 0; }
html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-summary-card > div { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-action-dock { position: sticky; left: auto; right: auto; bottom: 12px; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-action-dock h3 { display: none; }
@media (max-width: 1600px) {
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-hero-card,
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-workflow-card { grid-template-columns: minmax(0, 1fr); }
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-workflow-card p { white-space: normal; }
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-setup-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1200px) {
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-mock-layout { grid-template-columns: minmax(0, 1fr); padding: 16px !important; }
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-mock-main,
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-action-dock { grid-column: 1; }
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-mock-stepper { position: static; min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px; border-right: 0; }
}
@media (max-width: 640px) {
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-setup-panel,
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-action-dock { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (max-width: 640px) {
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-hero-main,
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-hero-metrics { grid-template-columns: minmax(0, 1fr); }
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-hero-metrics .target-soft-icon { display: none; }
  html body #suiteShell.enterprise-sidebar[data-route="target-planning-engine"] .target-progress-block { border-left: 0; padding-left: 0; }
}

/* Product Mix forms use the space available beside the expanded navigation. */
html body #suiteShell[data-route="target-planning-engine"] .target-product-wizard-main,
html body #suiteShell[data-route="target-planning-engine"] .target-product-wizard-layout > *,
html body #suiteShell[data-route="target-planning-engine"] .target-product-selector-row > *,
html body #suiteShell[data-route="target-planning-engine"] .target-product-detail > * { min-width: 0; }
html body #suiteShell[data-route="target-planning-engine"] .target-product-selector-row label { grid-template-columns: auto auto minmax(0, 1fr); }
html body #suiteShell[data-route="target-planning-engine"] .target-product-selector-row select { min-width: 0; width: 100%; }
@media (max-width: 1600px) {
  html body #suiteShell[data-route="target-planning-engine"] .target-product-wizard-layout { grid-template-columns: minmax(0, 1fr); }
  html body #suiteShell[data-route="target-planning-engine"] .target-product-progress-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
  html body #suiteShell[data-route="target-planning-engine"] .target-product-detail { grid-template-columns: 110px minmax(0, 1fr); }
  html body #suiteShell[data-route="target-planning-engine"] .target-agent-recommendation { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  html body #suiteShell[data-route="target-planning-engine"] .target-product-progress-row,
  html body #suiteShell[data-route="target-planning-engine"] .target-product-detail,
  html body #suiteShell[data-route="target-planning-engine"] .target-product-selector-row { grid-template-columns: minmax(0, 1fr); }
  html body #suiteShell[data-route="target-planning-engine"] .target-product-selector-row label { grid-template-columns: auto minmax(0, 1fr); }
  html body #suiteShell[data-route="target-planning-engine"] .target-product-selector-row select { grid-column: 1 / -1; }
}

html body #suiteShell.enterprise-sidebar #suiteSidebar #brandName[hidden] { display: none !important; }
