/* ── Sidebar: 16rem flex column; hover hides labels (width never changes) ── */

.infl-app-shell > aside.infl-sidebar-hover,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover {
  flex-shrink: 0 !important;
  width: 16rem !important;
  min-width: 16rem !important;
  max-width: 16rem !important;
  overflow-x: hidden;
  overflow-y: auto;
  transition: box-shadow 0.3s ease-out;
}

.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact {
  box-shadow: 4px 0 20px rgba(15, 23, 42, 0.06);
}

.infl-app-shell > aside.infl-sidebar-hover > div.flex.items-center.justify-between > button,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover > div.flex.items-center.justify-between > button {
  display: none !important;
}

.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact > div.flex.items-center.justify-between,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact > div.flex.items-center.justify-between {
  justify-content: center;
}

.infl-app-shell > aside.infl-sidebar-hover [data-infl-sidebar-role-pill],
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover [data-infl-sidebar-role-pill] {
  max-height: 4rem;
  opacity: 1;
  overflow: visible;
  pointer-events: auto;
  transition:
    opacity 0.2s ease,
    max-height 0.25s ease,
    padding 0.25s ease;
}

.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact [data-infl-sidebar-role-pill],
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact [data-infl-sidebar-role-pill] {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-bottom-width: 0 !important;
  pointer-events: none;
}

.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button,
.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact .border-t.border-gray-100 button,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact .border-t.border-gray-100 button {
  position: relative;
  justify-content: center !important;
  gap: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible;
}

.infl-app-shell > aside.infl-sidebar-hover .infl-sidebar-nav-label,
.infl-app-shell > aside.infl-sidebar-hover nav button > .infl-conn-nav-label,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover .infl-sidebar-nav-label,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover nav button > .infl-conn-nav-label {
  opacity: 1;
  width: auto;
  max-width: none;
  overflow: visible;
  white-space: nowrap;
  pointer-events: auto;
  transition: opacity 0.2s ease;
}

.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact .infl-sidebar-nav-label,
.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button > .infl-conn-nav-label,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact .infl-sidebar-nav-label,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button > .infl-conn-nav-label {
  opacity: 0;
  width: 0;
  max-width: 0;
  overflow: hidden;
  pointer-events: none;
}

/* Compact — pin count badges on icon corner */
.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button > span.min-w-\[18px\],
.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button > .infl-requests-nav-badge,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button > span.min-w-\[18px\],
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button > .infl-requests-nav-badge {
  position: absolute !important;
  top: 0.125rem !important;
  right: 0.625rem !important;
  left: auto !important;
  opacity: 1 !important;
  width: auto !important;
  min-width: 1.125rem !important;
  max-width: none !important;
  overflow: visible !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  pointer-events: none;
  z-index: 2;
}

.infl-app-shell > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button .infl-requests-nav-dot,
.infl-app-shell .infl-sidebar-zone > aside.infl-sidebar-hover.infl-sidebar-hover--compact nav button .infl-requests-nav-dot {
  position: absolute !important;
  top: 0.125rem !important;
  right: 0.625rem !important;
  left: auto !important;
  z-index: 2;
}

/* Main column — natural flex; no margin-left offset */
.infl-app-shell > .flex-1.flex.flex-col.min-w-0 {
  flex: 1 1 0%;
  min-width: 0;
  width: auto;
  max-width: none;
  margin-left: 0;
}

/* Legacy wrapper artifacts must not consume layout space */
.infl-app-shell > .infl-sidebar-spacer,
.infl-app-shell > .infl-sidebar-zone {
  display: none !important;
}
