/* 业务处理迁移页面公共样式（P1：分成管理/密室通关/已安装产品/调试管理）
   基础布局复用 content-provider.css 的 provider-* 组件体系，此处补充：
   筛选栏补充件 / 汇总卡片 / 排序表头 / 自绘日历 / 分页条 / 轻弹窗 */
.biz-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.biz-toolbar .toolbar-spacer { flex: 1; }
.biz-tab { border: 1px solid #d8dee4; background: #fff; color: #333; border-radius: 8px; padding: 7px 14px; font-size: 13px; cursor: pointer; }
.biz-tab:hover { border-color: #12a594; color: #12a594; }
.biz-tab.active { background: #12a594; border-color: #12a594; color: #fff; }
.biz-tab:disabled { opacity: .5; cursor: not-allowed; }
.biz-select { position: relative; }
.biz-select-trigger { display: flex; align-items: center; gap: 6px; border: 1px solid #d8dee4; background: #fff; border-radius: 8px; padding: 7px 10px; min-width: 170px; cursor: pointer; }
.biz-select-trigger input { border: 0; outline: 0; flex: 1; font-size: 13px; background: transparent; min-width: 0; text-align: center; padding-right: 18px; }
.biz-select-panel { display: none; position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; min-width: 100%; max-height: 260px; overflow: auto; background: #fff; border: 1px solid #d8dee4; border-radius: 8px; box-shadow: 0 8px 24px rgba(15,23,42,.12); }
.biz-select.open .biz-select-panel { display: block; }
.biz-select-item { padding: 8px 12px; font-size: 13px; cursor: pointer; white-space: nowrap; }
.biz-select-item:hover { background: #f0faf8; }
.biz-select-item.active { color: #12a594; font-weight: 600; background: #e0f5f2; }
.biz-select-item.active::after { content: "✓"; margin-left: auto; font-weight: 700; }
.biz-select-item { display: flex; align-items: center; gap: 6px; }
/* 搜索清理钮：输入关键字时出现在 trigger 右侧，点击清空搜索并还原缺省项 */
.biz-select-clear { flex: 0 0 auto; width: 17px; height: 17px; line-height: 15px; margin-left: 4px; text-align: center; border-radius: 50%; background: #eef0f4; color: #7a8699; font-size: 12px; cursor: pointer; user-select: none; box-sizing: border-box; }
.biz-select-clear:hover { background: #e2e6ee; color: #3c4567; }
.biz-search-input::-webkit-search-cancel-button { -webkit-appearance: none; }
.product-search-select > .biz-select-clear, .user-select > .biz-select-clear { position: absolute; top: 11px; right: 32px; margin: 0; }
.product-search-select > .product-search-input, .user-select > .biz-search-input { padding-right: 58px !important; }
.product-search-select > .product-search-selection { right: 56px; }
.create-channel-panel > .biz-select-clear { position: absolute; top: 18px; right: 18px; }
.create-channel-panel > .biz-search-input { padding-right: 34px; }
/* 列筛选弹窗（与分日数据明细 column-filter 同款） */
.biz-col-wrap { position: relative; flex: 0 0 auto; }
.biz-col-wrap.open .biz-col-popup { display: block; }
.biz-col-popup { display: none; position: absolute; right: 0; top: calc(100% + 4px); background: #fff; border: 1px solid #d4dbe6; border-radius: 4px; box-shadow: 0 10px 24px rgba(32,49,77,.16); z-index: 35; padding: 6px 0; min-width: 150px; }
.biz-col-item { display: flex; align-items: center; gap: 8px; padding: 7px 14px; cursor: pointer; font-size: 13.5px; color: #1f2f42; white-space: nowrap; }
.biz-col-item:hover { background: #f2f6fb; }
.provider-table .hidden-col { display: none !important; }
.biz-summary { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.biz-summary-card { flex: 1; min-width: 180px; background: #fff; border: 1px solid #e3e8ee; border-radius: 10px; padding: 12px 16px; }
.biz-summary-card .k { font-size: 12px; color: #67748a; }
.biz-summary-card .v { font-size: 22px; font-weight: 700; color: #1f2d3d; margin-top: 4px; }
.biz-th-sort { cursor: pointer; user-select: none; white-space: nowrap; }
.biz-th-sort .arrow { font-size: 10px; margin-left: 3px; color: #9aa7b8; }
.biz-th-sort.asc .arrow, .biz-th-sort.desc .arrow { color: #12a594; }
.biz-pager { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 2px; font-size: 13px; color: #475569; }
.biz-pager button { border: 1px solid #d8dee4; background: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: 13px; }
.biz-pager button:disabled { opacity: .45; cursor: not-allowed; }
.biz-pager button:not(:disabled):hover { border-color: #12a594; color: #12a594; }

/* 新列表页表格铺满容器（colgroup 固定宽时不收缩） */
.provider-table { width: 100%; box-sizing: border-box; table-layout: auto !important; }

/* 表格卡片一体式页签栏：页签+筛选与下方列表连体 */
/* 统一空态（缺省图片 + 文字） */
.biz-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 52px 16px; color: #8895a7; }
.biz-empty svg { width: 76px; height: 76px; margin-bottom: 12px; opacity: .55; }
.biz-empty-text { font-size: 13.5px; }

/* 已安装产品卡片（参考新版小程序已安装产品页） */
.biz-pcard-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; padding: 14px; max-height: 620px; overflow-y: auto; box-sizing: border-box; }
.biz-pcard { display: flex; gap: 12px; background: #fff; border: 1px solid #e7edf5; border-radius: 10px; padding: 12px; transition: box-shadow .15s; }
.biz-pcard:hover { box-shadow: 0 4px 14px rgba(15,23,42,.08); }
.biz-pcard-cover { width: 92px; height: 123px; border-radius: 8px; object-fit: cover; background: #f1f3f7 url('../theme/product-placeholder.svg') center / 100% 100% no-repeat; flex: 0 0 auto; }
.biz-pcard-info { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.biz-pcard-name { font-size: 15px; font-weight: 600; color: #1f2d3d; line-height: 1.5; }
.biz-pcard-desc { font-size: 12.5px; color: #67748a; margin-top: 6px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.biz-pcard-meta { font-size: 12.5px; color: #8895a7; margin-top: 6px; }
.biz-pcard-price { font-size: 13.5px; color: #e8590c; font-weight: 600; margin-top: 6px; }
.biz-pcard-price.empty-price { color: #8895a7; font-weight: 400; }

.biz-tabbar { display: flex; align-items: center; gap: 16px; padding: 10px 14px; background: #fff; border-bottom: 1px solid #e7edf5; border-radius: 10px 10px 0 0; }
.biz-tabbar .biz-select { margin: 0; }
.biz-tabbar .biz-select-trigger { padding: 6px 10px; min-width: 160px; }
.biz-seg { display: flex; background: #eef2f6; border-radius: 8px; padding: 3px; }
.biz-seg button { border: 0; background: transparent; padding: 7px 20px; font-size: 13.5px; border-radius: 6px; color: #475569; cursor: pointer; transition: all .15s; }
.biz-seg button:hover { color: #12a594; }
.biz-seg button.active { background: #12a594; color: #fff; font-weight: 600; box-shadow: 0 1px 4px rgba(18,165,148,.35); }
/* 卡片内汇总区：无独立边框，浅底内嵌 */
.provider-table-wrap > .biz-summary { padding: 12px 14px; margin: 0; background: #fff; border-bottom: 1px solid #e7edf5; }
.provider-table-wrap > .biz-summary .biz-summary-card { background: #f8fafc; border-color: #eef2f6; border-radius: 8px; padding: 10px 14px; }
.provider-table-wrap > .biz-summary .biz-summary-card .v { font-size: 20px; }

/* 自绘日历（起止区间）— 主题紫 #646cff（对齐总览页定调；原分成管理页内嵌覆盖已下沉为公共默认） */
.biz-date { position: relative; }
.biz-date-trigger { display: flex; align-items: center; justify-content: center; gap: 8px; height: 42px; min-width: 276px; padding: 0 16px; border: 1px solid #e1e4ef; background: #fcfcfe; border-radius: 7px; font-size: 14px; color: #2b3b4f; cursor: pointer; position: relative; box-sizing: border-box; }
.biz-date-trigger:hover, .biz-date-trigger:focus-within { border-color: #959aff; }
/* 触发器文本：省略保护（不拉伸不左对齐，保持与分成管理页一致的居中观感） */
.biz-date-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 清理 × 按钮：主题紫圆角标 */
.biz-date-clear { position: absolute; top: -8px; right: -8px; width: 18px; height: 18px; line-height: 16px; border-radius: 50%; background: #646cff; color: #fff; font-size: 13px; text-align: center; cursor: pointer; border: 1px solid #fff; box-shadow: 0 1px 4px #646cff59; padding: 0; }
.biz-date-clear:hover { background: #555ce8; }

.biz-date-panel { display: none; position: absolute; z-index: 40; top: calc(100% + 4px); right: 0; width: 340px; background: #fff; border: 1px solid #e5e7f0; border-radius: 12px; box-shadow: 0 10px 30px #252e521f; padding: 16px; overscroll-behavior: contain; touch-action: none; }
.biz-date.open .biz-date-panel { display: block; }
.biz-date-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.biz-date-head .title { font-size: 15px; font-weight: 600; }
.biz-date-head button { border: 0; background: transparent; font-size: 16px; cursor: pointer; color: #475569; padding: 2px 8px; border-radius: 6px; }
.biz-date-head button:hover { background: #eff0ff; color: #646cff; }
.biz-date-week, .biz-date-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.biz-date-week span { text-align: center; font-size: 12px; color: #8895a7; padding: 3px 0; }
.biz-date-grid button { border: 0; background: transparent; font-size: 14px; padding: 9px 0; border-radius: 7px; cursor: pointer; }
.biz-date-grid button:hover { background: #f0f1ff; }
.biz-date-grid button:disabled { color: #c3ccd8; cursor: not-allowed; }
.biz-date-grid button.in-range { background: #eceeff; }
.biz-date-grid button.today { box-shadow: inset 0 0 0 1.5px #646cff; color: #646cff; font-weight: 600; }
.biz-date-grid button.edge { background: #646cff; color: #fff; box-shadow: 0 2px 5px #646cff40; }
.biz-date-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.biz-date-foot .range-text { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; color: #475569; margin-right: 10px; }
.biz-date-foot button { border: 0; background: #646cff; color: #fff; border-radius: 7px; padding: 8px 18px; font-size: 13.5px; cursor: pointer; box-shadow: 0 2px 6px #646cff40; }
.biz-date-foot button:hover { background: #555ce8; }
/* 图标按钮（导出等，与总览分日详情页 export-btn 同款） */
.biz-icon-btn { width: 38px; height: 38px; border: 1px solid #cfd7e3; border-radius: 4px; background: #ffffff; color: #4a5b6f; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; flex: 0 0 auto; transition: color .2s, border-color .2s; }
.biz-icon-btn:hover { color: #1a53aa; border-color: #1a53aa; }
/* 所有导出入口：保留原按钮尺寸，仅显示居中的加载环。 */
button.biz-export-loading { position: relative !important; color: transparent !important; text-shadow: none !important; cursor: wait !important; transition: none !important; }
button.biz-export-loading > * { visibility: hidden !important; }
button.biz-export-loading::after { content: ""; position: absolute; box-sizing: content-box; width: 15px; height: 15px; left: 50%; top: 50%; margin: -9.5px 0 0 -9.5px; border: 2px solid #dce5ef; border-top-color: #646cff; border-radius: 50%; animation: biz-export-spin .8s linear infinite; }
@keyframes biz-export-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { button.biz-export-loading::after { animation: none; } }
