/* 侧栏底部用户区始终可见，列表在内部滚动 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60 {
  min-height: 0;
  overflow: hidden;
}

main.flex.h-full.overflow-hidden > section.w-60.min-w-60 > div.h-10.w-full.flex.items-center {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

/* 与 0721 备份一致：仅「最近计算」外层 flex-1 吃满剩余高度 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60 > div.w-full.flex-1.flex.flex-col {
  min-height: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
}

/* 首屏 Vue 可能尚未带 flex-1：按侧栏固定结构提前约束「最近计算」区域。 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  > div.w-full.flex.flex-col:has(> div.w-full.py-2.px-3.flex.justify-between) {
  min-height: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  overflow: hidden;
}

main.flex.h-full.overflow-hidden > section.w-60.min-w-60 > div.w-full.flex-1.flex.flex-col > div.w-full.flex-1.flex.flex-col {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

main.flex.h-full.overflow-hidden > section.w-60.min-w-60 div.overflow-y-auto[data-sidebar-flex-fill='1'] {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow-y: auto !important;
}

/* 游客切换计算器类型时，抑制列表滚动锚点导致的跳动 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60[data-sidebar-calc-quiet='1'] div.overflow-y-auto {
  overflow-anchor: none;
}

/* 在线客服：后台企业微信客服二维码图片，悬停弹出 */
.ant-popover.qrcode .sidebar-customer-qr-img,
.sidebar-customer-qr-popover .sidebar-customer-qr-img {
  display: block;
  width: calc(104px * 4 / 3);
  height: calc(104px * 4 / 3);
  object-fit: contain;
}

.sidebar-customer-qr-popover .ant-popover-inner {
  padding: 8px;
}

.sidebar-customer-qr-popover .ant-popover-inner-content {
  padding: 0;
  line-height: 0;
}

.sidebar-section-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sidebar-section-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.sidebar-section-title-icon-svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #888;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.15s ease;
}

.sidebar-section-title-clickable:hover .sidebar-section-title-icon-svg,
.sidebar-section-head-left.is-head-hovered .sidebar-section-title-icon-svg,
.sidebar-section-head-left:active .sidebar-section-title-icon-svg {
  stroke: var(--color-primary, #2a9d6a);
}

.sidebar-section-title-clickable {
  cursor: pointer;
  user-select: none;
  border-radius: 6px;
  padding: 2px 20px 2px 4px;
  margin: 0;
  line-height: 20px;
  transition: color 0.15s ease;
}

.sidebar-section-title-clickable:hover {
  color: var(--color-primary, #2a9d6a) !important;
}

/* Vue 原生「+」隐藏，右侧显示会员计算器配额 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  div.w-full.py-2.px-3.flex.justify-between.items-center.gap-3.text-sm
  > svg.cursor-pointer {
  display: none !important;
}

.sidebar-section-toggle svg path {
  fill: #999;
  transition: fill 0.15s ease;
}

.sidebar-section-title-clickable:hover .sidebar-section-toggle svg path {
  fill: var(--color-primary, #2a9d6a) !important;
}

/* floater 模式：箭头在 body 上，需 JS 同步 is-hovered */
.sidebar-toggle-floater.is-hovered .sidebar-section-toggle svg path {
  fill: var(--color-primary, #2a9d6a) !important;
}

.sidebar-section-toggle svg {
  transform-origin: center center;
  transition: transform 0.2s ease;
}

.sidebar-section-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  line-height: 1;
  vertical-align: middle;
  pointer-events: none;
}

/* Vue 原生「+」隐藏后，显示会员计算器配额 */
.sidebar-calc-count-badge {
  margin: 0;
  flex-shrink: 0;
  user-select: none;
  font-size: 14px;
  line-height: 20px;
  height: 20px;
  cursor: default;
}

.sidebar-calc-row-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  vertical-align: middle;
  flex-shrink: 0;
}

.sidebar-calc-row-icon {
  width: 14px;
  height: 14px;
  display: block;
  fill: none;
  stroke: #888;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* floater「+ 新商品」悬停菜单（样式对齐 ant-popover） */
.sidebar-calc-type-menu {
  position: fixed;
  z-index: 1060;
  min-width: 107px;
}

.sidebar-calc-type-menu-inner {
  padding: 4px;
  background: #fff;
  border-radius: 8px;
  box-shadow:
    0 6px 16px 0 rgba(0, 0, 0, 0.08),
    0 3px 6px -4px rgba(0, 0, 0, 0.12),
    0 9px 28px 8px rgba(0, 0, 0, 0.05);
}

.sidebar-calc-type-menu-arrow {
  position: absolute;
  top: 14px;
  left: -4px;
  width: 8px;
  height: 8px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.06);
  z-index: 1;
  pointer-events: none;
}

.sidebar-calc-type-menu[data-placement='left'] .sidebar-calc-type-menu-arrow {
  left: auto;
  right: -4px;
  box-shadow: 2px -2px 4px rgba(0, 0, 0, 0.06);
}

.sidebar-calc-type-menu-item {
  margin: 0;
  padding: 0 8px;
  line-height: 32px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.88);
  cursor: pointer;
  border-radius: 8px;
  white-space: nowrap;
}

.sidebar-calc-type-menu-item:hover {
  background: #f4f4f6;
}

/* 桥接 Vue 时在屏幕外触发，避免顶部重复弹出 */
.ant-popover[data-sidebar-hidden='1'] {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sidebar-vip-prompt-overlay {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 与「最近计算」重命名弹窗同风格的输入弹窗（居中） */
.sidebar-fx-input-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 3100;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
}

.sidebar-fx-input-modal {
  width: 330px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 8px;
  box-shadow:
    0 6px 16px 0 rgba(0, 0, 0, 0.08),
    0 3px 6px -4px rgba(0, 0, 0, 0.12),
    0 9px 28px 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.sidebar-fx-input-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 8px;
}

.sidebar-fx-input-modal-title {
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  line-height: 1.5;
}

.sidebar-fx-input-modal-close {
  border: 0;
  background: transparent;
  color: rgba(0, 0, 0, 0.45);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
}

.sidebar-fx-input-modal-close:hover {
  color: rgba(0, 0, 0, 0.88);
}

.sidebar-fx-input-modal-body {
  padding: 12px 20px 8px;
}

.sidebar-fx-input-modal-input {
  width: 100%;
  height: 32px;
  padding: 4px 11px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.57;
  color: rgba(0, 0, 0, 0.88);
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.sidebar-fx-input-modal-input:hover {
  border-color: #d4952a;
}

.sidebar-fx-input-modal-input:focus {
  border-color: #d4952a;
  box-shadow: 0 0 0 2px rgba(212, 149, 42, 0.2);
}

.sidebar-fx-input-modal-input.is-error {
  border-color: #ff4d4f;
}

.sidebar-fx-input-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px 16px;
}

.sidebar-fx-input-modal-cancel,
.sidebar-fx-input-modal-ok {
  min-width: 64px;
  height: 32px;
  padding: 0 15px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  border: 1px solid #d9d9d9;
  background: #fff;
  color: rgba(0, 0, 0, 0.88);
}

.sidebar-fx-input-modal-cancel:hover {
  color: #d4952a;
  border-color: #d4952a;
}

.sidebar-fx-input-modal-ok {
  background: #d4952a;
  border-color: #d4952a;
  color: #fff;
}

.sidebar-fx-input-modal-ok:hover {
  background: #c48724;
  border-color: #c48724;
}

.sidebar-vip-prompt-box {
  width: 400px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 8px;
  padding: 20px 24px 16px;
  box-shadow:
    0 6px 16px 0 rgba(0, 0, 0, 0.08),
    0 3px 6px -4px rgba(0, 0, 0, 0.12),
    0 9px 28px 8px rgba(0, 0, 0, 0.05);
}

.sidebar-vip-prompt-body {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}

.sidebar-vip-prompt-icon {
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: #faad14 !important;
  line-height: 0;
}

.sidebar-vip-prompt-icon svg {
  display: block;
  width: 22px;
  height: 22px;
}

.sidebar-vip-prompt-icon svg path,
.roijsq-warn-icon svg path {
  fill: currentColor;
}

.sidebar-vip-prompt-main {
  flex: 1;
  min-width: 0;
}

.sidebar-vip-prompt-title {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  line-height: 1.4;
}

.sidebar-vip-prompt-content {
  margin: 0;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.65);
  line-height: 1.5;
  white-space: nowrap;
}

@media (max-width: 440px) {
  .sidebar-vip-prompt-content {
    white-space: normal;
  }
}

.sidebar-vip-prompt-icon--modal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #faad14 !important;
  font-size: 22px;
  line-height: 0;
}

.sidebar-vip-prompt-icon--modal svg {
  width: 22px;
  height: 22px;
}

.ant-modal-confirm-body > .sidebar-vip-prompt-icon--modal,
.ant-modal-confirm-body > .anticon.roijsq-warn-icon,
.ant-modal-confirm-body > .anticon.sidebar-vip-prompt-icon {
  float: left;
  margin-inline-end: 16px;
  margin-top: 1px;
  color: #faad14 !important;
}

.sidebar-vip-prompt-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* 商品分组展开：Vue 列表为 max-h-40 overflow-y-auto scrollbar（对齐 0721 备份） */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  div.w-full.pb-2.px-3.flex.justify-between
  ~ div.overflow-y-auto.scrollbar:not([class*='max-h-[calc']):not([data-sidebar-collapsed='1']),
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  div.w-full.py-2.px-3.flex.justify-between
  ~ div.overflow-y-auto.scrollbar:not([class*='max-h-[calc']):not([data-sidebar-collapsed='1']),
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  div.w-full.pb-2.px-3.flex.justify-between
  ~ div.max-h-40.overflow-y-auto.scrollbar:not([class*='max-h-[calc']):not([data-sidebar-collapsed='1']),
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  div.w-full.py-2.px-3.flex.justify-between
  ~ div.max-h-40.overflow-y-auto.scrollbar:not([class*='max-h-[calc']):not([data-sidebar-collapsed='1']) {
  min-height: 30px !important;
  max-height: none !important;
  overflow-y: auto !important;
  visibility: visible !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
}

/* 「最近计算」从首个样式帧起只占剩余高度，不能把底部账号栏顶出侧栏。 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  > div.w-full.flex.flex-col
  > div.overflow-y-auto.scrollbar[class*='max-h-[calc']:not([data-sidebar-collapsed='1']),
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  > div.w-full.flex-1.flex.flex-col
  > div.overflow-y-auto.scrollbar[class*='max-h-[calc']:not([data-sidebar-collapsed='1']) {
  flex: 1 1 0 !important;
  flex-shrink: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
}

main.flex.h-full.overflow-hidden > section.w-60.min-w-60 div.overflow-y-auto[data-sidebar-flex-fill='1'][class*='max-h-[calc'] {
  max-height: none !important;
}

.sidebar-vip-prompt-cancel,
.sidebar-vip-prompt-ok {
  border: 1px solid #d9d9d9;
  background: #fff;
  border-radius: 6px;
  padding: 4px 15px;
  font-size: 14px;
  cursor: pointer;
  line-height: 22px;
}

.sidebar-vip-prompt-ok {
  border-color: var(--color-primary, #2a9d6a);
  background: var(--color-primary, #2a9d6a);
  color: #fff;
}

.sidebar-group-calc-menu {
  position: fixed;
  z-index: 1060;
  display: none;
  min-width: 180px;
  max-width: 220px;
  pointer-events: auto;
}

.sidebar-group-calc-menu::before {
  content: '';
  position: absolute;
  top: 0;
  left: -24px;
  width: 24px;
  height: 100%;
  background: transparent;
  pointer-events: auto;
}

.sidebar-group-calc-menu-arrow {
  position: absolute;
  top: 14px;
  left: -4px;
  width: 8px;
  height: 8px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.06);
  z-index: 1;
  pointer-events: none;
}

.sidebar-group-calc-menu-inner {
  position: relative;
  z-index: 2;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px 0;
  background: #fff;
  border-radius: 8px;
  box-shadow:
    0 6px 16px 0 rgba(0, 0, 0, 0.08),
    0 3px 6px -4px rgba(0, 0, 0, 0.12),
    0 9px 28px 8px rgba(0, 0, 0, 0.05);
}

.sidebar-group-calc-menu-msg {
  margin: 0;
  padding: 6px 12px;
  text-align: center;
  color: #999;
  font-size: 13px;
  line-height: 24px;
}

.sidebar-group-calc-menu-item {
  display: flex;
  align-items: center;
  min-height: 32px;
  padding: 0 8px;
  margin: 0 4px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  line-height: 32px;
}

.sidebar-group-calc-menu-item:hover {
  background: #f4f4f6;
}

.sidebar-group-calc-menu-item.is-inactive {
  background: #c9c9c9;
  color: #999;
  margin-bottom: 4px;
}

.sidebar-group-calc-menu-item.is-active:not(.is-inactive) {
  background: #f4f4f6;
}

.sidebar-group-calc-menu-item.is-active:not(.is-inactive) p {
  color: #333;
  font-weight: 500;
}

.sidebar-share-calc-row.is-active {
  background: #f4f4f6;
}

.sidebar-group-calc-menu-item p {
  margin: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.sidebar-group-calc-pin-indicator {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  color: #999;
  line-height: 1;
  pointer-events: none;
}

.sidebar-group-calc-pin-indicator svg {
  display: block;
  width: 14px;
  height: 14px;
}

.sidebar-group-calc-item-action {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #888;
  cursor: pointer;
}

.sidebar-group-calc-item-action:hover {
  color: var(--color-primary, #2a9d6a);
  background: rgba(42, 157, 106, 0.08);
}

.sidebar-group-calc-item-action .icon {
  display: block;
}

.sidebar-group-calc-action-menu,
.sidebar-group-calc-move-menu {
  overflow: visible;
}

.sidebar-group-calc-action-menu-arrow,
.sidebar-group-calc-move-menu-arrow {
  position: absolute;
  top: 14px;
  left: -4px;
  width: 8px;
  height: 8px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.06);
  z-index: 1;
  pointer-events: none;
}

.sidebar-group-calc-action-menu[data-placement='left'] .sidebar-group-calc-action-menu-arrow,
.sidebar-group-calc-move-menu[data-placement='left'] .sidebar-group-calc-move-menu-arrow {
  left: auto;
  right: -4px;
  box-shadow: 2px -2px 4px rgba(0, 0, 0, 0.06);
}

.sidebar-group-calc-action-menu .ant-popover-content,
.sidebar-group-calc-move-menu .ant-popover-content {
  position: relative;
  z-index: 2;
}

.sidebar-group-calc-action-menu .ant-popover-inner {
  padding: 4px;
  min-width: 132px;
  background: #fff;
  border-radius: 8px;
  box-shadow:
    0 6px 16px 0 rgba(0, 0, 0, 0.08),
    0 3px 6px -4px rgba(0, 0, 0, 0.12),
    0 9px 28px 8px rgba(0, 0, 0, 0.05);
}

.sidebar-group-calc-action-item {
  margin: 0;
  padding: 0 8px;
  height: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #333;
  white-space: nowrap;
}

.sidebar-group-calc-action-item:hover {
  background: #f4f4f6;
}

.sidebar-group-calc-action-item.is-danger {
  color: #ff4400;
}

.sidebar-group-calc-action-icon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(0, 0, 0, 0.65);
}

.sidebar-group-calc-action-icon svg {
  width: 14px;
  height: 14px;
  display: block;
}

.sidebar-group-calc-action-icon svg:not(.is-filled) {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar-group-calc-action-icon svg.is-filled {
  fill: #999999;
  stroke: none;
}

.sidebar-group-calc-action-item.is-danger .sidebar-group-calc-action-icon {
  color: #ff4400;
}

.sidebar-group-calc-action-item.is-danger .sidebar-group-calc-action-icon svg.is-filled {
  fill: #ff4400;
}

.sidebar-group-calc-action-label {
  line-height: 1;
}

.sidebar-group-calc-move-menu .ant-popover-inner {
  padding: 4px;
  min-width: 120px;
  max-width: 220px;
  max-height: 280px;
  overflow-y: auto;
  background: #fff;
  border-radius: 8px;
  box-shadow:
    0 6px 16px 0 rgba(0, 0, 0, 0.08),
    0 3px 6px -4px rgba(0, 0, 0, 0.12),
    0 9px 28px 8px rgba(0, 0, 0, 0.05);
}

.sidebar-group-calc-move-item {
  margin: 0;
  padding: 0 8px;
  line-height: 32px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-group-calc-move-item:hover {
  background: #f4f4f6;
}

.sidebar-group-calc-move-empty {
  margin: 0;
  padding: 6px 12px;
  text-align: center;
  color: #999;
  font-size: 13px;
  line-height: 24px;
}

.sidebar-group-calc-count {
  flex: 0 0 auto;
  margin-left: 2px;
  margin-right: 2px;
  min-width: 14px;
  text-align: right;
  font-size: 12px;
  line-height: 20px;
  color: #909399;
  user-select: none;
  pointer-events: none;
}

section.w-60.min-w-60 .group:hover > .sidebar-group-calc-count,
section.w-60.min-w-60 [class*='!bg-[#c9c9c9]'] > .sidebar-group-calc-count {
  color: #909399;
}

/* refbackup383: ⋯ 打开操作菜单时保持可见，避免 group-hover 丢失后立刻消失 */
section.w-60 svg.icon.ant-popover-open {
  display: block !important;
}

/*
 * 当前选中行与 hover 原先都是 #f4f4f6。
 * 选中保持灰色底，文字保持默认黑色与字号。
 */
section.w-60.min-w-60 .bg-\[\#f4f4f6\] {
  background-color: #f4f4f6 !important;
}

/* 当前计算器所在分组：列表行高亮，便于查找 */
section.w-60.min-w-60 .is-current-group:not([class*='c9c9c9']) {
  background-color: #f4f4f6 !important;
}

section.w-60.min-w-60 .is-current-group > p.flex-1,
section.w-60.min-w-60 .is-current-group > p {
  font-weight: 500;
  color: #333;
}

/* ⋯ 菜单打开时，即使鼠标移到浮层也保持该行浅灰，避免只剩选中行有底色 */
section.w-60.min-w-60 .group:has(svg.ant-popover-open),
section.w-60.min-w-60 .group:has(.ant-popover-open) {
  background-color: #f4f4f6;
}

section.w-60.min-w-60 .group.bg-\[\#f4f4f6\]:has(svg.ant-popover-open),
section.w-60.min-w-60 .group.bg-\[\#f4f4f6\]:has(.ant-popover-open) {
  background-color: #f4f4f6 !important;
}

/* 访客切换计算器时保持列表区域高度，减少闪动 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60 [class*='max-h-[calc(100vh-218px'] {
  min-height: 180px;
}

.sidebar-share-section {
  flex: 0 0 auto;
  min-height: 0;
}

.sidebar-share-section.sidebar-share-section-pending {
  visibility: hidden;
  pointer-events: none;
}

.sidebar-share-section .sidebar-share-section-title {
  padding: 0 12px;
  height: 32px;
  line-height: 32px;
  font-size: 13px;
  color: #888;
  user-select: none;
}

.sidebar-share-list {
  max-height: 72px;
  overflow: hidden;
  flex: 0 0 auto;
}

.sidebar-share-calc-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  height: 30px;
  cursor: pointer;
  user-select: none;
}

.sidebar-share-calc-row:hover {
  background: rgba(42, 157, 106, 0.08);
}

.sidebar-share-calc-row.is-active p {
  color: #333 !important;
  font-weight: 500;
}

.sidebar-share-calc-row p {
  margin: 0;
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-share-calc-row p.flex-1 {
  flex: 1;
  min-width: 0;
}

.sidebar-share-calc-action {
  flex: 0 0 auto;
  display: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #888;
  cursor: pointer;
}

.sidebar-share-calc-action .icon {
  display: block;
  flex-shrink: 0;
}

.sidebar-share-calc-row:hover .sidebar-share-calc-action,
.sidebar-share-calc-action:focus-visible {
  display: inline-flex;
}

.sidebar-share-calc-action:hover {
  color: var(--color-primary, #2a9d6a);
  background: rgba(42, 157, 106, 0.08);
}

.sidebar-share-copy-menu .ant-popover-inner {
  padding: 4px;
}

.roijsq-calc-copy-icon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.roijsq-calc-copy-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
  color: rgba(0, 0, 0, 0.65);
}

.roijsq-calc-copy-label {
  line-height: 1;
}

.roijsq-calc-copy-highlight {
  background-color: #fff7e6 !important;
  box-shadow: inset 0 0 0 1px #d4952a;
}

.roijsq-calc-copy-section-highlight p {
  color: #d4952a !important;
  font-weight: 600;
}

/* Vue 原生「+」隐藏后，显示会员计算器配额 */
.sidebar-calc-count-badge {
  margin: 0;
  flex-shrink: 0;
  user-select: none;
  font-size: 14px;
  line-height: 20px;
  height: 20px;
  cursor: default;
}

.sidebar-calc-row-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  vertical-align: middle;
  flex-shrink: 0;
}

.sidebar-calc-row-icon {
  width: 14px;
  height: 14px;
  display: block;
  fill: none;
  stroke: #888;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* refbackup323: calc quota + system calc icons; hide legacy new-product floater */
.sidebar-new-product-floater {
  display: none !important;
}

.sidebar-calc-count-badge {
  margin: 0;
  flex-shrink: 0;
  user-select: none;
  font-size: 14px;
  line-height: 20px;
  height: 20px;
  cursor: default;
}

.sidebar-calc-row-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  vertical-align: middle;
  flex-shrink: 0;
}

.sidebar-calc-row-icon {
  width: 14px;
  height: 14px;
  display: block;
  fill: none;
  stroke: #888;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* refbackup324: inline calc quota in header; hide legacy floaters */
.sidebar-calc-count-floater {
  display: none !important;
}


/* refbackup329: inline section toggle in header row */
.sidebar-toggle-slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 2px;
}

.sidebar-toggle-floater {
  display: none !important;
}

/* refbackup330: title+toggle left group, quota right */
.sidebar-section-head-left {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-width: 0;
  flex: 0 1 auto;
}

div.w-full.py-2.px-3.flex.justify-between.items-center > .sidebar-calc-count-badge,
div.w-full.pb-2.px-3.flex.justify-between.items-center > .sidebar-calc-count-badge {
  margin-left: auto;
}


/* refbackup331: header action right, tighter toggle gap */
.sidebar-header-action {
  margin-left: auto;
  flex-shrink: 0;
}

/* 商品分组右侧「＋ 新分组」胶囊按钮 */
main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  div.w-full.pb-2.px-3.flex.justify-between.items-center
  > .sidebar-header-action {
  min-height: 26px;
  padding: 0 10px;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 13px;
  background: #fff;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

main.flex.h-full.overflow-hidden > section.w-60.min-w-60
  div.w-full.pb-2.px-3.flex.justify-between.items-center
  > .sidebar-header-action:hover {
  border-color: var(--color-primary, #2a9d6a);
  background: rgba(42, 157, 106, 0.06);
}

.sidebar-section-head-left {
  gap: 0;
}

.sidebar-section-head-left .sidebar-section-title {
  margin: 0;
  padding: 0;
  color: inherit;
}

.sidebar-section-head-left .sidebar-section-title-label {
  color: inherit;
}

.sidebar-toggle-slot {
  margin-left: 0;
}


/* refbackup345: rounded border on calc quota text */
.sidebar-calc-count-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 20px;
  padding: 0 8px;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fafafa;
  font-size: 12px;
  line-height: 18px;
  color: #888;
}

.sidebar-ui-tip {
  position: fixed;
  z-index: 1070;
  padding: 4px 8px;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  background: rgba(0, 0, 0, 0.78);
  border-radius: 4px;
  pointer-events: none;
  white-space: nowrap;
  transform: translate(-50%, calc(-100% - 6px));
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.12s ease, visibility 0.12s ease;
}

.sidebar-ui-tip.is-visible {
  opacity: 1;
  visibility: visible;
}

.sidebar-section-head-left.is-head-hovered .sidebar-section-title-clickable,
.sidebar-section-head-left:active .sidebar-section-title-clickable {
  color: var(--color-primary, #2a9d6a) !important;
}

.sidebar-section-head-left.is-head-hovered .sidebar-section-toggle svg path,
.sidebar-section-head-left:active .sidebar-section-toggle svg path {
  fill: var(--color-primary, #2a9d6a) !important;
}
