
/* 给米跨境 gemi-patches.css —— 由 index.html 内联 style 外链化生成（v20260902.33） */

    html.gemi-mobile #sidebar.sidebar{display:none !important}
    html.gemi-mobile .main-body{display:block !important;min-width:0 !important}
    html.gemi-mobile .content{width:100% !important;max-width:none !important;margin:0 !important;padding:10px 10px 100px !important;box-sizing:border-box !important;min-width:0 !important}
    html.gemi-mobile .mobile-bottom-nav{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;position:fixed !important;left:50% !important;transform:translateX(-50%) !important;bottom:0 !important;width:min(92vw,520px) !important;border-radius:22px 22px 0 0 !important;border-top:1px solid #E8F0EC !important;background:rgba(255,255,255,.97) !important;padding:6px 8px calc(6px + env(safe-area-inset-bottom)) !important;box-shadow:0 -6px 24px rgba(22,68,42,.12) !important;z-index:1200 !important;box-sizing:border-box !important}
    html.gemi-mobile .im-float-btn{display:none !important}
    html.gemi-mobile .topbar{min-height:52px !important;padding:5px 10px !important;gap:8px !important}
    html.gemi-mobile .topbar .user-info{display:none !important}
    /* 商品管理移动端：搜索、搜索键、筛选、刷新固定为一行（flex，避免 grid auto 列挤压换行） */
    html.gemi-mobile #page-products .product-search-bar{
        display:flex !important;
        align-items:center !important;
        gap:8px !important;
        padding:8px !important;
        flex-wrap:nowrap !important;
    }
    html.gemi-mobile #page-products .product-search-input-wrap{
        flex:1 1 0 !important;min-width:0 !important;width:auto !important;
    }
    html.gemi-mobile #page-products #productSearch{
        width:100% !important;min-width:0 !important;height:40px !important;
    }
    html.gemi-mobile #page-products #productSearchBtn{
        display:inline-flex !important;flex:0 0 auto !important;width:40px !important;
        min-width:40px !important;height:40px !important;padding:0 !important;
    }
    html.gemi-mobile #page-products #productSearchBtn .product-search-btn-text{display:none !important}
    html.gemi-mobile #page-products .product-search-bar > .desktop-only,
    html.gemi-mobile #page-products .view-toggle-wrap{display:none !important}
    html.gemi-mobile #page-products #mFilterBtn{
        display:inline-flex !important;flex:0 0 auto !important;height:40px !important;
        padding:0 12px !important;justify-content:center !important;
    }
    html.gemi-mobile #page-products #refreshProductsBtn{
        display:inline-flex !important;flex:0 0 auto !important;height:40px !important;
        width:40px !important;min-width:40px !important;padding:0 !important;
        justify-content:center !important;align-items:center !important;
    }
    @media(max-width:380px){
        html.gemi-mobile #page-products #mFilterBtn{width:42px !important;padding:0 !important;font-size:0 !important}
        html.gemi-mobile #page-products #mFilterBtn i{font-size:14px !important}
        html.gemi-mobile #page-products #mFilterCount{position:absolute;margin:0 0 24px 24px;font-size:9px !important}
    }
    .sidebar-version-footer{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;white-space:normal !important}
    .sidebar-version-footer > *{max-width:100%;text-align:center !important;box-sizing:border-box}
    .sidebar-version-footer .gemi-footer-brand{font-size:12px;font-weight:750;color:#52645a;letter-spacing:.4px;margin-bottom:5px}
    .sidebar-version-footer .gemi-footer-version{font-size:10px;color:#8b9990;margin-bottom:9px}
    .sidebar-version-footer .gemi-footer-owner{font-size:10px;color:#718078;margin-bottom:4px;line-height:1.55;overflow-wrap:anywhere}
    .sidebar-version-footer .gemi-footer-icp{display:block;color:#607269;text-decoration:none;font-size:10px;line-height:1.5;margin-bottom:4px}
    .sidebar-version-footer .gemi-footer-icp:hover{color:#176C39;text-decoration:underline}
    .sidebar-version-footer .gemi-footer-copy{font-size:9px;color:#98a39d;line-height:1.45;white-space:normal}
    /* 主页面一级标题统一；不影响卡片、弹窗内部的二级标题。 */
    .content .page-section > h2,
    .content .page-section > div:first-child > h2,
    .content .page-section > div:first-child h2:first-child{
        font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif !important;
        font-size:22px !important;line-height:1.35 !important;font-weight:600 !important;
        letter-spacing:-.2px !important;color:#19362a !important;
    }
    /* 移动端品牌作为 APP 页头居中显示。 */
    html.gemi-mobile .topbar{position:relative !important;justify-content:center !important;width:100% !important}
    html.gemi-mobile .topbar .gemi-brand-with-art{
        width:max-content !important;max-width:calc(100vw - 24px) !important;margin:0 auto !important;
        justify-content:center !important;text-align:center !important;gap:7px !important;
    }
    html.gemi-mobile .topbar .gemi-brand-with-art .gemi-logo{height:25px !important;flex:0 0 auto !important}
    html.gemi-mobile .topbar .gemi-brand-with-art .gemi-header-tool-name{
        font-size:15px !important;font-weight:750 !important;letter-spacing:.1px !important;
        padding:0 !important;border:0 !important;white-space:nowrap !important;
    }
    html.gemi-mobile .topbar .gemi-brand-with-art .gemi-handwritten-slogan{display:none !important}
    html.gemi-mobile .content .page-section > h2,
    html.gemi-mobile .content .page-section > div:first-child > h2,
    html.gemi-mobile .content .page-section > div:first-child h2:first-child{
        font-size:20px !important;line-height:1.3 !important;letter-spacing:-.2px !important;
    }
    /* 桌面左侧菜单角标完整复用移动端底栏角标视觉。 */
    /* v20260825.107：统一为正圆 18px，数字 flex 双轴居中，固定尺寸不随位数被撑开 */
    html:not(.gemi-mobile) .sidebar .menu-item .menu-badge,
    html:not(.gemi-mobile) .sidebar .menu-item.active .menu-badge{
        position:absolute !important;right:12px !important;top:50% !important;
        transform:translateY(-50%) !important;
        background:#ff6f00 !important;background-image:none !important;color:#fff !important;
        font-size:9px !important;font-weight:700 !important;
        width:18px !important;min-width:18px !important;max-width:18px !important;height:18px !important;
        min-height:18px !important;max-height:18px !important;
        line-height:1 !important;text-align:center !important;border:0 !important;border-radius:50% !important;
        padding:0 !important;box-shadow:none !important;box-sizing:border-box !important;
        display:inline-flex !important;align-items:center !important;justify-content:center !important;
        font-variant-numeric:tabular-nums !important;white-space:nowrap !important;overflow:hidden !important;
    }
    html:not(.gemi-mobile) .sidebar .menu-item .menu-badge:not(.show),
    html:not(.gemi-mobile) .sidebar .menu-item .menu-badge.gemi-badge-hidden{display:none !important}
    html:not(.gemi-mobile) .sidebar .menu-item .menu-badge.show:not(.gemi-badge-hidden){display:inline-flex !important}
    html:not(.gemi-mobile) .sidebar .menu-item .menu-badge.bounce{
        animation:gemiDesktopBadgeBounce .5s cubic-bezier(.68,-.55,.265,1.55) !important;
    }
    /* 六个核心菜单名称统一字体与字号。 */
    #sidebar.sidebar .menu-item[data-tab] > span:not(.menu-badge){
        font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif !important;
        font-size:14px !important;line-height:1.35 !important;font-weight:600 !important;
        letter-spacing:0 !important;
    }
    .mobile-bottom-nav .nav-item > span{
        font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif !important;
        font-size:10px !important;line-height:1.2 !important;font-weight:600 !important;
    }
    /* 移动端悬浮式 APP Dock：轻背景、完整圆角、明确选中态与大点击区域。 */
    html.gemi-mobile .mobile-bottom-nav{
        display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        position:fixed !important;left:50% !important;right:auto !important;
        bottom:max(10px,env(safe-area-inset-bottom)) !important;
        width:min(calc(100vw - 24px),520px) !important;
        transform:translateX(-50%) !important;
        padding:7px !important;gap:4px !important;
        border:1px solid rgba(214,226,219,.92) !important;border-radius:22px !important;
        background:rgba(250,253,251,.94) !important;
        -webkit-backdrop-filter:blur(20px) saturate(145%) !important;
        backdrop-filter:blur(20px) saturate(145%) !important;
        box-shadow:0 12px 34px rgba(20,68,42,.17),0 2px 8px rgba(20,68,42,.07) !important;
        overflow:visible !important;z-index:1200 !important;box-sizing:border-box !important;
    }
    html.gemi-mobile .mobile-bottom-nav .nav-item{
        position:relative !important;width:100% !important;min-width:0 !important;max-width:none !important;
        min-height:54px !important;padding:6px 3px !important;margin:0 !important;
        display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;
        gap:4px !important;border:0 !important;border-radius:16px !important;
        background:transparent !important;color:#87938d !important;
        font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif !important;
        -webkit-tap-highlight-color:transparent !important;touch-action:manipulation !important;
        transition:background .2s ease,color .2s ease,transform .16s ease !important;
    }
    html.gemi-mobile .mobile-bottom-nav .nav-item:active{transform:scale(.94) !important}
    html.gemi-mobile .mobile-bottom-nav .nav-item > i{
        width:24px !important;height:21px !important;display:flex !important;align-items:center !important;justify-content:center !important;
        font-size:18px !important;line-height:1 !important;color:inherit !important;
    }
    html.gemi-mobile .mobile-bottom-nav .nav-item > span:not(.nav-badge){
        font-size:10.5px !important;line-height:1 !important;font-weight:650 !important;color:inherit !important;
    }
    html.gemi-mobile .mobile-bottom-nav .nav-item.active{
        background:linear-gradient(180deg,#EAF6EE 0%,#E2F1E7 100%) !important;
        color:#12683B !important;box-shadow:inset 0 0 0 1px rgba(23,108,57,.06) !important;
    }
    html.gemi-mobile .mobile-bottom-nav .nav-item.nav-ai{color:#E56B34 !important}
    html.gemi-mobile .mobile-bottom-nav .nav-item.nav-ai.active{
        background:linear-gradient(180deg,#FFF2EA 0%,#FCE8DC 100%) !important;
        color:#D85D28 !important;box-shadow:inset 0 0 0 1px rgba(216,93,40,.07) !important;
    }
    html.gemi-mobile .mobile-bottom-nav .nav-item .nav-badge{
        top:2px !important;right:calc(50% - 20px) !important;border:2px solid #FAFDFB !important;
        box-sizing:content-box !important;box-shadow:0 2px 6px rgba(200,80,0,.2) !important;
    }
    html.gemi-mobile .content{padding-bottom:98px !important}
    /* 六个核心页面标题按页面 ID 精确统一，覆盖历史页面各自的字号规则。 */
    #page-products > div:first-child > h2,
    #page-selection > div:first-child > h2,
    #page-pricing > div:first-child > h2,
    #page-imagemgmt > div:first-child > h2,
    #page-materialmgmt > div:first-child > h2,
    #page-gallery > div:first-child > h2{
        margin:0 !important;
        font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif !important;
        font-size:22px !important;line-height:1.35 !important;font-weight:600 !important;
        letter-spacing:-.2px !important;color:#19362a !important;
    }
    html.gemi-mobile #page-products > div:first-child > h2,
    html.gemi-mobile #page-selection > div:first-child > h2,
    html.gemi-mobile #page-pricing > div:first-child > h2,
    html.gemi-mobile #page-imagemgmt > div:first-child > h2,
    html.gemi-mobile #page-materialmgmt > div:first-child > h2,
    html.gemi-mobile #page-gallery > div:first-child > h2{
        font-size:22px !important;line-height:1.35 !important;font-weight:600 !important;
        letter-spacing:-.2px !important;
    }
    @keyframes gemiDesktopBadgeBounce{
        0%,100%{transform:translateY(-50%) scale(1)}
        30%{transform:translateY(-50%) scale(1.6)}
        60%{transform:translateY(-50%) scale(.8)}
    }
    

        .gemi-mobile-action-label { display: none; }
        @media (max-width: 768px) {
            .gemi-mobile-action-label { display: inline; }
            #productList .gemi-mobile-product-actions {
                display: grid !important;
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 8px !important;
                width: 100% !important;
                margin-top: 8px !important;
            }
            #productList .gemi-mobile-product-action {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 5px !important;
                width: 100% !important;
                min-width: 0 !important;
                height: 42px !important;
                padding: 0 6px !important;
                margin: 0 !important;
                border-radius: 10px !important;
                font-size: 13px !important;
                line-height: 1 !important;
                font-weight: 650 !important;
                white-space: nowrap !important;
                box-shadow: none !important;
            }
            #productList .gemi-mobile-product-action.is-price {
                color: #176C39 !important;
                background: #FFFFFF !important;
                border: 1px solid #D9E2DC !important;
            }
            #productList .gemi-mobile-product-action.is-edit {
                color: #FFFFFF !important;
                background: #176C39 !important;
                border: 1px solid #176C39 !important;
            }
            #productList .gemi-mobile-product-action.is-delete {
                color: #E53935 !important;
                background: #FFFFFF !important;
                border: 1px solid #EF4444 !important;
            }
            #productList .gemi-mobile-product-action i { font-size: 13px !important; }
        }

        /* ===== AI 批量作图工作台（v20260824.1，参考设计图布局；v20260824.88：三栏扁平化重排） ===== */
        .mat-workbench-layout {
            display: flex;
            flex-direction: row;
            gap: 18px;
            align-items: flex-start;
            /* v20260825.113：gap 随收起/展开平滑过渡（收起时归零，主内容真正铺满） */
            transition: gap .25s ease;
        }
        .mat-workbench-main {
            flex: 1 1 auto;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 16px;
        }
        /* v20260825.108：移除上下分区的 mat-workbench-top / mat-workbench-bottom 包裹；保留旧类名做兼容兜底 */
        .mat-workbench-top {
            display: flex;
            flex-direction: column;
            gap: 16px;
            min-width: 0;
        }
        .mat-workbench-top-main {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 16px;
        }
        .mat-workbench-bottom {
            display: flex;
            gap: 18px;
            align-items: flex-start;
            min-width: 0;
            flex-direction: column;
        }
        .mat-task-queue {
            flex: 1;
            min-width: 0;
            background: #fff;
            border: 1px solid #f0f0f0;
            border-radius: 8px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.03);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            min-height: 260px;
        }
        .mat-config-wrap {
            width: 400px;
            flex: 0 0 400px;
            display: flex;
            flex-direction: column;
            position: relative;
            min-height: 0;
            /* v20260825.113：容器宽度跟随面板状态平滑过渡（收起 0 / 展开 400）
               v20260825.113：margin-top 也跟随展开/收起平滑过渡
               v20260825.116：flex-basis/width 过渡驱动 wrap 在 flex 中左右滑动，把手随面板整体移动
               v20260825.119：transform 同步过渡——收起时向左回退（translateX(-20px)）让把手停在内容区右缘内侧，始终可见可点 */
            transition: flex-basis .25s ease, width .25s ease, margin-top .25s ease, transform .25s ease;
            /* v20260825.113：展开时面板顶部下移，与左侧统计卡行（异常任务卡片）上沿对齐 */
            margin-top: 0;
        }
        .mat-config-wrap:not(.collapsed) {
            margin-top: 71px;
        }
        /* v20260825.119：收起时 wrap 宽度归零（flex 排到主内容右缘），
           再通过 transform:translateX(-20px) 将把手（absolute 在 wrap 内 left:-17px）
           停在内容区右缘内侧 —— wrap 左缘 1654 + 把手 -17 - 20 = 1617 ~ 1651 < 1654，始终可见可点；
           transform 仅做视觉位移、不参与 flex 布局、不撑大主内容、不产生滚动条；
           展开时 transform 归零，面板从右侧向左滑出，把手跟随到面板左缘。
           margin-top:71px 与展开态一致 → 把手 Y 坐标展开/收起一致（面板 visibility 保留完整高度） */
        .mat-config-wrap.collapsed {
            width: 0 !important;
            flex: 0 0 0 !important;
            min-width: 0 !important;
            overflow: visible !important;
            margin-top: 71px !important;
            transform: translateX(-20px) !important;
        }
        /* v20260825.113：桌面下收起时布局 gap 归零，主内容彻底铺满可用宽度（仅宽屏生效，不误伤窄屏纵向布局） */
        @media (min-width: 1201px) {
            #page-materialmgmt > .mat-workbench-layout:has(.mat-config-wrap.collapsed),
            #page-materialmgmt > .mat-workbench-layout.gemi-responsive-header:has(.mat-config-wrap.collapsed) {
                gap: 0 !important;
            }
        }
        .mat-config-panel {
            background: #fff;
            border: 1px solid #eee;
            border-radius: 8px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.03);
            display: flex;
            flex-direction: column;
            max-height: calc(100vh - 56px - 180px);
            min-height: 400px;
            overflow: hidden;
            transition: width .22s ease, border-color .22s ease;
            margin-top: 0; /* v20260825.106：与统计卡行顶部对齐 */
        }
        .mat-config-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 14px 18px;
            border-bottom: 1px solid #f0f0f0;
        }
        .mat-config-header h3 {
            margin: 0;
            font-size: 18px;
            color: #1B4332;
            font-weight: 700;
        }
        .mat-toggle-label { font-size: 13px; color: #333; font-weight: 500; white-space: nowrap; }
        .mat-toggle-switch { position: relative; display: inline-block; width: 42px; height: 24px; cursor: pointer; flex-shrink: 0; }
        .mat-toggle-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
        .mat-toggle-slider {
            position: absolute; top: 0; left: 0; right: 0; bottom: 0;
            background: #ccc; border-radius: 24px; transition: background .2s;
        }
        .mat-toggle-slider::after {
            content: ''; position: absolute; top: 2px; left: 2px;
            width: 20px; height: 20px; background: #fff; border-radius: 50%;
            box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .2s;
        }
        .mat-toggle-switch input:checked + .mat-toggle-slider { background: #1B4332; }
        .mat-toggle-switch input:checked + .mat-toggle-slider::after { transform: translateX(18px); }
        .mat-toggle-help { color: #666; font-size: 18px; cursor: help; flex-shrink: 0; }
        .mat-config-body {
            flex: 1;
            overflow-y: auto;
            padding: 14px 16px;
        }
        .mat-config-section { margin-bottom: 16px; }
        .mat-section-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: 13.5px;
            font-weight: 700;
            color: #333;
            margin-bottom: 8px;
            gap: 8px;
        }
        .mat-section-title .mat-tag {
            font-size: 11px;
            color: #176C39;
            background: #e8f5e9;
            padding: 2px 8px;
            border-radius: 12px;
            font-weight: 500;
            white-space: nowrap;
        }
        .mat-re-recommend {
            font-size: 11px;
            color: #176C39;
            background: #e8f5e9;
            border: 1px solid #c8e6c9;
            border-radius: 6px;
            padding: 2px 8px;
            cursor: pointer;
            white-space: nowrap;
            font-weight: 500;
        }
        .mat-re-recommend:hover { background: #dceddf; }
        .mat-rules-more {
            font-size: 11px;
            color: #176C39;
            cursor: pointer;
            white-space: nowrap;
            font-weight: 500;
        }
        .mat-rules-more:hover { color: #0f4d29; text-decoration: underline; }
        .mat-adv-toggle {
            font-size: 11px;
            color: #176C39;
            background: #e8f5e9;
            border: none;
            border-radius: 4px;
            padding: 3px 8px;
            cursor: pointer;
            white-space: nowrap;
        }
        .mat-adv-toggle:hover { background: #dceddf; }
        .mat-edit-info-btn {
            background: #fff;
            border: 1px solid #176C39;
            color: #176C39;
            padding: 4px 12px;
            border-radius: 6px;
            font-size: 12px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }
        .mat-edit-info-btn:hover { background: #f0f7f2; }
        .mat-thumb-row {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 10px;
        }
        .mat-thumb {
            width: 52px; height: 52px;
            border-radius: 6px;
            object-fit: cover;
            border: 1px solid #eef0f2;
            cursor: pointer;
            background: repeating-conic-gradient(#f0f0f0 0% 25%, #fff 0% 50%);
            background-size: 10px 10px;
        }
        .mat-product-card {
            display: flex;
            gap: 12px;
            padding: 12px;
            background: #f8fafb;
            border-radius: 10px;
            border: 1px solid #eef2f5;
        }
        .mat-product-card img {
            width: 80px; height: 80px;
            object-fit: cover;
            border-radius: 8px;
            background: repeating-conic-gradient(#e8e8e8 0% 25%, #fff 0% 50%);
            background-size: 12px 12px;
        }
        .mat-product-info { flex: 1; min-width: 0; }
        .mat-product-info .mat-name {
            font-size: 13px; font-weight: 600; color: #333;
            line-height: 1.4;
            margin-bottom: 6px;
            display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
        }
        .mat-product-info .mat-meta {
            font-size: 11px; color: #888; line-height: 1.7;
        }
        .mat-product-info .mat-meta i { color: #176C39; margin-right: 3px; }
        .mat-image-grid {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }
        .mat-image-main {
            width: 100px; height: 100px;
            border-radius: 8px;
            overflow: hidden;
            position: relative;
            border: 1px solid #e0e0e0;
        }
        .mat-image-main img { width: 100%; height: 100%; object-fit: cover; }
        .mat-image-main .mat-img-tag {
            position: absolute; bottom: 0; left: 0; right: 0;
            background: rgba(27,67,50,0.85);
            color: #fff; font-size: 10px;
            text-align: center; padding: 3px 0;
        }
        /* v20260825.109：商品图片悬停操作层——预览/更换/删除 三个图标（默认隐藏，悬停显示） */
        .mat-image-main .mat-img-actions {
            position: absolute; top: 0; left: 0; right: 0; bottom: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: rgba(0,0,0,0.42);
            opacity: 0;
            transition: opacity .18s;
            z-index: 3;
        }
        .mat-image-main:hover .mat-img-actions { opacity: 1; }
        .mat-image-main .mat-img-actions button {
            width: 28px; height: 28px;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,0.7);
            background: rgba(23,108,57,0.92);
            color: #fff;
            font-size: 12px;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: transform .15s, background .2s;
        }
        .mat-image-main .mat-img-actions button:hover { transform: scale(1.12); background: #E8743C; }
        .mat-image-main .mat-img-actions button.del { background: rgba(229,57,53,0.92); }
        .mat-image-main .mat-img-actions button.del:hover { background: #e53935; }
        .mat-image-main .mat-img-actions button.pv { background: rgba(27,67,50,0.92); }
        .mat-image-main .mat-img-actions button.pv:hover { background: #176C39; }
        .mat-image-add {
            width: 100px; height: 100px;
            border: 2px dashed #d0d8dd;
            border-radius: 8px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: #999;
            font-size: 12px;
            cursor: pointer;
            transition: border-color .2s, color .2s;
        }
        .mat-image-add:hover { border-color: #176C39; color: #176C39; }
        .mat-image-add i { font-size: 20px; margin-bottom: 4px; }
        .mat-type-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
        }
        .mat-type-item {
            position: relative;
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px 8px;
            background: #fafbfc;
            border-radius: 8px;
            border: 1px solid #eceff2;
            cursor: pointer;
            transition: all .15s;
            font-size: 12px;
            color: #555;
            min-height: 52px;
        }
        .mat-type-item:hover { background: #f0f7f2; border-color: #c8e6c9; }
        .mat-type-item.active { background: #e8f5e9; border-color: #176C39; color: #1B4332; }
        .mat-type-item .mat-check {
            position: absolute;
            top: 4px; right: 4px;
            width: 16px; height: 16px;
            border-radius: 50%;
            background: #fff;
            border: 1.5px solid #d8dde2;
            display: none;
            align-items: center;
            justify-content: center;
            font-size: 9px;
            color: #fff;
            flex-shrink: 0;
        }
        .mat-type-item.active .mat-check { display: flex; background: #176C39; border-color: #176C39; }
        .mat-type-item .mat-type-info { flex: 1; min-width: 0; }
        .mat-type-item .mat-type-info .mat-type-label { font-weight: 600; white-space: nowrap; }
        .mat-type-item .mat-type-info .mat-type-count { font-size: 11px; color: #999; }
        .mat-rules-list {
            list-style: none; padding: 0; margin: 0;
            font-size: 12px; color: #666; line-height: 1.9;
        }
        .mat-rules-list li { display: flex; align-items: flex-start; gap: 6px; }
        .mat-rules-list li i { color: #176C39; margin-top: 4px; font-size: 11px; }
        .mat-start-btn {
            margin: 8px 16px 4px;
            height: 44px;
            padding: 0 16px;
            border: none;
            border-radius: 8px;
            background: linear-gradient(135deg, #E8743C, #ff9a44);
            color: #fff;
            font-size: 15px;
            font-weight: 700;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            box-shadow: 0 3px 10px rgba(232,116,60,0.25);
            transition: transform .1s, box-shadow .2s;
        }
        .mat-start-btn:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(232,116,60,0.3); }
        .mat-start-btn:disabled { background: #d8dbdd; box-shadow: none; cursor: not-allowed; transform: none; }
        .mat-start-cost {
            margin: 6px 16px 12px; padding: 0; border-radius: 0;
            background: transparent; color: #a08a78; font-size: 12px; text-align: center;
        }
        .mat-start-cost b { color: #E8743C; margin: 0 2px; }
        /* v20260825.114：收起时保留布局高度（visibility 替代 display:none），把手垂直居中参照不变 */
        .mat-config-panel.collapsed .mat-start-cost { visibility: hidden; }

        /* v20260824.85：图片生成二级菜单 */
        .menu-parent { cursor: pointer; }
        .menu-parent-arrow { margin-left: auto; font-size: 11px; color: #888; transition: transform .2s; }
        .menu-parent.expanded .menu-parent-arrow { transform: rotate(180deg); }
        .menu-sub { display: none; flex-direction: column; }
        .menu-sub.open { display: flex; }
        .menu-sub .sub-item { padding-left: 42px !important; font-size: 13.5px; opacity: 0.85; }
        .menu-sub .sub-item i { font-size: 14px; width: 18px; }
        .menu-sub .sub-item.active { opacity: 1; background: #e8f5e9; color: #176C39; font-weight: 600; }
        .menu-parent.active { background: #e8f5e9; color: #176C39; font-weight: 600; }

        /* v20260824.85：图片管理 & 上架管理页面 */
        .mat-confirm-header, .mat-shelf-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
        .mat-confirm-title, .mat-shelf-title { font-size: 20px; font-weight: 700; color: #1B4332; margin: 0 0 4px; }
        .mat-confirm-subtitle, .mat-shelf-subtitle { font-size: 12px; color: #888; margin: 0; }
        .mat-shelf-actions { display: flex; gap: 10px; flex-wrap: wrap; }
        .mat-shelf-actions button { padding: 8px 14px; border-radius: 8px; border: none; font-size: 13px; cursor: pointer; }
        .mat-shelf-refresh { background: #fff; color: #555; border: 1px solid #ddd !important; }
        .mat-shelf-batch { background: #1B4332; color: #fff; }
        .mat-shelf-create { background: #E8743C; color: #fff; }
        .mat-confirm-stats, .mat-shelf-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 18px; }
        .mat-confirm-stat, .mat-shelf-stat { background: #fff; border-radius: 12px; padding: 14px; display: flex; align-items: center; gap: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
        .mat-confirm-stat-icon, .mat-shelf-stat-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 16px; }
        .mat-confirm-stat-num, .mat-shelf-stat-num { font-size: 20px; font-weight: 700; color: #1B4332; }
        .mat-confirm-stat-label, .mat-shelf-stat-label { font-size: 12px; color: #888; }
        .mat-confirm-stat-sub, .mat-shelf-stat-sub { font-size: 11px; color: #aaa; margin-top: 2px; }
        .mat-confirm-filter, .mat-shelf-filter { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
        .mat-confirm-tab, .mat-shelf-tab { padding: 7px 14px; border-radius: 20px; font-size: 13px; cursor: pointer; background: #fff; color: #555; border: 1px solid #e8ecf1; }
        .mat-confirm-tab.active, .mat-shelf-tab.active { background: #e8f5e9; color: #176C39; border-color: #c8e6c9; font-weight: 600; }
        /* v20260825.107：tab 内嵌数字计数统一为正圆 18px，数字 flex 双轴居中，固定尺寸不随位数被撑开 */
        .mat-confirm-tab span, .mat-shelf-tab span {
            margin-left: 4px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            min-width: 18px;
            max-width: 18px;
            height: 18px;
            min-height: 18px;
            max-height: 18px;
            border-radius: 50%;
            background: #ff6f00 !important;
            color: #fff !important;
            font-size: 10px;
            font-weight: 700;
            line-height: 1;
            font-variant-numeric: tabular-nums;
            vertical-align: middle;
            box-sizing: border-box;
            white-space: nowrap;
            overflow: hidden;
            padding: 0;
        }
        .mat-confirm-list, .mat-shelf-list { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); overflow: hidden; }
        .mat-confirm-detail { margin-top: 18px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); padding: 18px; }
        .mat-confirm-detail h3 { margin: 0 0 14px; font-size: 16px; color: #1B4332; }
        .mat-confirm-img-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-bottom: 18px; }
        .mat-confirm-img { border-radius: 8px; overflow: hidden; border: 1px solid #eee; position: relative; }
        .mat-confirm-img img { width: 100%; height: 120px; object-fit: cover; display: block; }
        .mat-confirm-img-tag { position: absolute; top: 6px; left: 6px; background: rgba(27,67,50,0.85); color: #fff; font-size: 11px; padding: 2px 8px; border-radius: 4px; }
        .mat-confirm-detail-actions { display: flex; gap: 12px; margin-top: 18px; }
        .mat-confirm-detail-actions button { flex: 1; padding: 12px; border-radius: 8px; border: none; font-size: 14px; font-weight: 600; cursor: pointer; }
        .mat-confirm-pass { background: #1B4332; color: #fff; }
        .mat-confirm-return { background: #fff; color: #e53935; border: 1px solid #e53935 !important; }

        /* v20260825.106：配置栏把手在桌面下显示为竖向胶囊，垂直居中于配置模块左侧；窄屏恢复横向胶囊
           v20260825.113：由 right:-34px 改为 left:-34px（模块左侧、垂直居中；收起时贴主内容右缘，可见可点） */
        .mat-config-header-right { display: flex; align-items: center; gap: 10px; }
        /* v20260825.114：收起时面板整体不可见但保留完整高度（visibility 而非 display:none），
           内容继续撑起 wrap 高度 → 把手 top:50% 的垂直参照与展开态一致 */
        .mat-config-panel.collapsed { width: 0; min-width: 0; border-color: transparent; visibility: hidden; }
        .mat-config-panel.collapsed .mat-config-header,
        .mat-config-panel.collapsed .mat-config-body,
        .mat-config-panel.collapsed .mat-start-btn { visibility: hidden; }
        /* v20260825.143：取消收起/展开交互，永久隐藏把手 */
        .mat-config-toggle-handle { display: none !important; }
        /* v20260825.118：把手绑定作图配置面板（wrap 内 absolute，参照 wrap），展开时贴面板左缘垂直居中；
           收起时 wrap 整体 translateX 向右滑出屏幕，把手随面板一起移出可视区域 */
        .mat-config-toggle-handle {
            display: flex;
            position: absolute;
            left: -17px;
            top: 50%;
            transform: translateY(-50%);
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            border-radius: 10px;
            background: #1B4332;
            color: #fff;
            font-size: 20px;
            font-weight: 700;
            line-height: 1;
            cursor: pointer;
            user-select: none;
            box-shadow: 0 4px 12px rgba(27,67,50,.25);
            transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
            z-index: 5;
        }
        .mat-config-toggle-handle:hover { background: #0F5A31; box-shadow: 0 4px 14px rgba(27,67,50,.35); }
        .mat-config-toggle-handle:active { transform: translateY(-50%) scale(.94); }
        .mat-config-toggle-handle .cfg-tt-expand { display: none; }
        /* v20260825.117：箭头方向由 JS 在把手上切换 collapsed 类控制 */
        .mat-config-toggle-handle.collapsed .cfg-tt-collapse { display: none; }
        .mat-config-toggle-handle.collapsed .cfg-tt-expand { display: flex; }

        /* v20260824.84：全局作图配置页 */
        .mat-global-tip {
            background: #e8f5e9; border: 1px solid #c8e6c9; color: #1B4332; font-size: 12px;
            line-height: 1.6; padding: 10px 12px; border-radius: 8px; margin-bottom: 16px;
        }
        .mat-global-tip strong { color: #176C39; }
        .mat-ai-lock {
            background: linear-gradient(135deg, #e8f5e9, #f0fdf4); border: 1px dashed #a5d6a7;
            color: #176C39; font-size: 11.5px; line-height: 1.6; padding: 8px 10px; border-radius: 8px; margin-bottom: 10px;
        }
        .mat-ai-lock i { margin-right: 4px; }
        .mat-type-item.locked { opacity: .72; cursor: not-allowed; }
        .mat-type-item.locked:hover { background: #f8fafb; border-color: #eef2f5; }
        .mat-platform-chips { display: flex; gap: 8px; }
        .mat-chip {
            flex: 1; text-align: center; padding: 9px 0; border-radius: 8px; font-size: 13px; font-weight: 600;
            background: #f8fafb; border: 1px solid #eef2f5; color: #555; cursor: pointer; transition: all .15s;
        }
        .mat-chip:hover { border-color: #c8e6c9; }
        .mat-chip.active { background: #e8f5e9; border-color: #176C39; color: #1B4332; }
        .mat-country-row { margin-top: 12px; }
        .mat-country-label { font-size: 12px; color: #888; margin-bottom: 6px; }
        .mat-country-label i { color: #176C39; margin-right: 3px; }
        .mat-country-select {
            width: 100%; padding: 9px 10px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 13px;
            background: #fff; color: #333; outline: none; cursor: pointer;
        }
        .mat-country-select:focus { border-color: #176C39; }
        .mat-rule-hint {
            margin-top: 10px; font-size: 11px; color: #999; background: #f8fafb; border-radius: 6px;
            padding: 8px 10px; line-height: 1.6;
        }
        .mat-rule-hint i { color: #176C39; }
        .mat-adv-line {
            display: flex; align-items: center; gap: 7px; font-size: 12px; color: #666;
            cursor: pointer; padding: 6px 0;
        }
        .mat-adv-line input { accent-color: #176C39; width: 15px; height: 15px; }

        .mat-workbench-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 2px;
        }
        /* v20260825.102：用 ID 提升权重，覆盖 gemi.css 中 .content .page-section h2 */
        #page-materialmgmt .mat-workbench-header h2 {
            margin: 0 !important;
            font-size: 22px !important;
            line-height: 1.35 !important;
            font-weight: 600 !important;
            letter-spacing: -.2px !important;
            color: #19362a !important;
        }
        .mat-workbench-header p {
            margin: 4px 0 0;
            font-size: 13px;
            color: #98a2a8;
        }
        .mat-header-actions { display: flex; gap: 10px; }
        .mat-header-actions button {
            padding: 8px 16px;
            border-radius: 8px;
            font-size: 13px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-weight: 600;
        }
        .mat-btn-refresh {
            background: #fff;
            border: 1px solid #e0e0e0;
            color: #555;
        }
        .mat-btn-batch {
            background: #176C39;
            border: none;
            color: #fff;
        }
        /* 批量操作下拉菜单（v20260824.87：头部「批量操作 ▼」） */
        .mat-batch-dropdown { position: relative; display: inline-flex; }
        .mat-batch-menu {
            position: absolute;
            top: calc(100% + 8px);
            right: 0;
            background: #fff;
            border-radius: 10px;
            box-shadow: 0 8px 28px rgba(0,0,0,0.14);
            min-width: 200px;
            z-index: 80;
            padding: 6px;
            border: 1px solid #f0f0f0;
        }
        .mat-batch-menu-item {
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 10px 12px;
            font-size: 13px;
            color: #333;
            cursor: pointer;
            border-radius: 7px;
            white-space: nowrap;
        }
        .mat-batch-menu-item:hover { background: #f5f7f6; }
        .mat-batch-menu-item i { width: 16px; text-align: center; color: #176C39; }
        .mat-batch-menu-item.danger { color: #e53935; }
        .mat-batch-menu-item.danger:hover { background: #fdecea; }
        .mat-batch-menu-item.danger i { color: #e53935; }
        .mat-batch-menu-item + .mat-batch-menu-item { border-top: 1px solid #f5f5f5; }
        .mat-stats-row {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 12px;
        }
        .mat-stat-card {
            background: #fff;
            border: 1px solid #f0f0f0;
            border-radius: 8px;
            padding: 14px 16px;
            height: 100px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.03);
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .mat-stat-card .mat-stat-icon {
            width: 36px; height: 36px;
            border-radius: 8px;
            display: flex; align-items: center; justify-content: center;
            font-size: 17px;
            flex-shrink: 0;
        }
        .mat-stat-card.total .mat-stat-icon { background: #e8f5e9; color: #176C39; }
        .mat-stat-card.done .mat-stat-icon { background: #e8f5e9; color: #176C39; }
        .mat-stat-card.running .mat-stat-icon { background: #e8f5e9; color: #176C39; }
        .mat-stat-card.queued .mat-stat-icon { background: #fff3e0; color: #ff8f00; }
        .mat-stat-card.error .mat-stat-icon { background: #ffebee; color: #e53935; }
        .mat-stat-card .mat-stat-num { font-size: 22px; font-weight: 700; color: #1B4332; line-height: 1; }
        .mat-stat-card .mat-stat-label { font-size: 12px; color: #6b7680; margin-top: 4px; }
        .mat-stat-card .mat-stat-sub { font-size: 11px; color: #aab4bc; margin-top: 3px; }

        .mat-current-generating {
            background: #fff;
            border: 1px solid #f0f0f0;
            border-radius: 8px;
            padding: 16px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.03);
        }
        .mat-current-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 14px;
        }
        .mat-current-title {
            font-size: 15px;
            font-weight: 700;
            color: #333;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .mat-status-badge {
            font-size: 11px;
            padding: 3px 10px;
            border-radius: 12px;
            font-weight: 600;
        }
        .mat-status-generating { background: #e8f5e9; color: #176C39; }
        .mat-status-queued { background: #fff3e0; color: #ff8f00; }
        .mat-status-done { background: #e8f5e9; color: #176C39; }
        .mat-status-error { background: #ffebee; color: #e53935; }
        .mat-current-body {
            display: grid;
            /* v20260825.147：三列稳定 —— 图片固定 165px / 商品信息弹性 / 进度稳定 220px，禁 margin-left/absolute 推位 */
            grid-template-columns: 165px minmax(0, 1fr) 220px;
            gap: 20px;
            align-items: center;
        }
        .mat-current-img {
            width: 165px; height: 165px;
            border-radius: 8px;
            object-fit: cover;
            background: repeating-conic-gradient(#e8e8e8 0% 25%, #fff 0% 50%);
            background-size: 16px 16px;
            border: 1px solid #eee;
        }
        .mat-current-meta { min-width: 0; }
        .mat-current-meta .mat-cur-name {
            font-size: 16px; font-weight: 600; color: #333; margin-bottom: 8px;
        }
        .mat-current-meta .mat-cur-meta {
            font-size: 12.5px; color: #7a8690; line-height: 2;
        }
        .mat-current-meta .mat-cur-meta span { margin-right: 16px; }
        .mat-current-meta .mat-cur-meta i { color: #176C39; margin-right: 3px; }
        /* v20260824.87：右侧进度列（图片生成进度 + 查看大图预览） */
        .mat-current-progress {
            display: flex; flex-direction: column;
        }
        .mat-current-progress .mat-view-btn { margin-top: 14px; align-self: flex-start; }
        .mat-cur-copy { margin-left: 6px; color: #aaa; cursor: pointer; font-size: 11px; }
        .mat-cur-copy:hover { color: #176C39; }
        .mat-cur-links { margin-top: 10px; }
        .mat-cur-detail-btn {
            background: #fdf3ec;
            border: 1px solid #E8743C;
            color: #E8743C;
            padding: 6px 14px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }
        .mat-cur-detail-btn:hover { background: #fbe7d9; }
        .mat-progress-block { margin-top: 0; }
        .mat-progress-label { display: flex; justify-content: space-between; align-items: baseline; font-size: 12px; color: #666; margin-bottom: 8px; }
        .mat-progress-label .mat-progress-num { font-size: 18px; font-weight: 700; color: #1B4332; }
        .mat-progress-bar {
            height: 8px;
            background: #f0f0f0;
            border-radius: 4px;
            overflow: hidden;
        }
        .mat-progress-bar > div {
            height: 100%;
            background: linear-gradient(90deg, #E8743C, #ff9a44);
            border-radius: 4px;
            transition: width .3s;
        }
        .mat-progress-eta { font-size: 12px; color: #7a8690; margin-top: 8px; }
        .mat-progress-eta b { color: #E8743C; }
        .mat-view-btn {
            margin-top: 12px;
            padding: 8px 16px;
            background: #176C39;
            color: #fff;
            border: none;
            border-radius: 8px;
            font-size: 13px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .mat-flow-steps {
            background: #fff;
            border: 1px solid #f0f0f0;
            border-radius: 8px;
            padding: 12px 20px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.03);
        }
        .mat-flow-track {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            align-items: center;
        }
        .mat-flow-step {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            text-align: left;
            position: relative;
        }
        .mat-flow-step:not(:last-child)::after {
            content: '\f061';
            font-family: 'Font Awesome 5 Free';
            font-weight: 900;
            position: absolute;
            right: -12px;
            top: 50%;
            transform: translateY(-50%);
            color: #cfd6db;
            font-size: 11px;
            z-index: 1;
        }
        .mat-flow-step.done:not(:last-child)::after,
        .mat-flow-step.active:not(:last-child)::after { color: #176C39; }
        .mat-flow-step .mat-flow-icon {
            width: 30px; height: 30px;
            border-radius: 50%;
            background: #f5f5f5;
            color: #bbb;
            display: flex; align-items: center; justify-content: center;
            font-size: 13px;
            border: 2px solid #e8eaec;
            flex-shrink: 0;
        }
        .mat-flow-step.done .mat-flow-icon { background: #e8f5e9; color: #176C39; border-color: #176C39; }
        .mat-flow-step.active .mat-flow-icon { background: #176C39; color: #fff; border-color: #176C39; }
        .mat-flow-step.error .mat-flow-icon { background: #ffebee; color: #e53935; border-color: #e53935; }
        .mat-flow-step .mat-flow-step-body { display: flex; flex-direction: column; gap: 2px; }
        .mat-flow-step .mat-flow-text { font-size: 13px; color: #666; font-weight: 600; }
        .mat-flow-step.done .mat-flow-text { color: #176C39; }
        .mat-flow-step.active .mat-flow-text { color: #176C39; }
        .mat-flow-step.error .mat-flow-text { color: #e53935; }
        .mat-flow-step .mat-flow-sub { font-size: 11px; color: #aab4bc; }
        .mat-flow-step.done .mat-flow-sub { color: #176C39; }
        .mat-flow-step.active .mat-flow-sub { color: #176C39; }
        .mat-flow-step.error .mat-flow-sub { color: #e53935; }

        .mat-queue-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            padding: 8px 16px;
            border-bottom: 1px solid #f0f0f0;
            flex-wrap: wrap;
        }
        .mat-queue-section-title {
            font-size: 16px;
            font-weight: 700;
            color: #333;
            padding: 0;
            white-space: nowrap;
        }
        .mat-queue-tabs {
            display: flex;
            gap: 2px;
            padding: 0;
            border-bottom: none;
        }
        .mat-queue-tab {
            padding: 9px 14px;
            font-size: 13px;
            color: #6b7680;
            cursor: pointer;
            border-bottom: 2px solid transparent;
            transition: all .15s;
        }
        .mat-queue-tab.active { color: #176C39; border-bottom-color: #176C39; font-weight: 600; }
        /* v20260825.107：任务队列 tab 数字计数统一为正圆 18px */
        .mat-queue-count {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            min-width: 18px;
            max-width: 18px;
            height: 18px;
            min-height: 18px;
            max-height: 18px;
            border-radius: 50%;
            background: #ff6f00 !important;
            color: #fff !important;
            font-size: 10px;
            font-weight: 700;
            line-height: 1;
            font-variant-numeric: tabular-nums;
            vertical-align: middle;
            margin-left: 4px;
            box-sizing: border-box;
            white-space: nowrap;
            overflow: hidden;
            padding: 0;
        }
        .mat-queue-table-wrap { flex: 1; overflow: auto; }
        .mat-queue-table { width: 100%; border-collapse: collapse; font-size: 12px; }
        #page-materialmgmt .mat-queue-table th {
            padding: 10px 8px !important;
            text-align: center !important; /* v20260824.95：表头全列水平居中 */
            color: #888 !important;
            font-weight: 600 !important;
            background: #fafafa !important;
            position: sticky; top: 0;
            height: auto !important;
            border: 0 !important;
            font-size: 12px !important;
            line-height: 1.4 !important;
            vertical-align: middle !important;
            white-space: nowrap !important;
        }
        #page-materialmgmt .mat-queue-table th:first-child { border-radius: 0 !important; }
        #page-materialmgmt .mat-queue-table th:last-child { border-radius: 0 !important; }
        #page-materialmgmt .mat-queue-table td {
            padding: 12px 8px !important;
            text-align: center !important; /* v20260824.95：单元格全列水平居中 */
            border-bottom: 1px solid #f5f5f5 !important;
            vertical-align: middle !important;
            color: #333 !important;
            font-size: 12px !important;
            line-height: 1.5 !important;
            background: transparent !important;
        }
        #page-materialmgmt .mat-queue-table tr:hover td { background: #fafafa !important; }
        #page-materialmgmt .mat-queue-table tr:nth-child(even) td { background: transparent !important; }
        #page-materialmgmt .mat-queue-table tr:last-child td { border-bottom: 1px solid #f5f5f5 !important; }
        .mat-queue-table tr:hover { background: #fafafa; }
        .mat-queue-prod { display: flex; align-items: center; justify-content: center; gap: 10px; } /* v20260824.95：商品信息卡内容居中 */
        .mat-queue-prod img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; background: #f0f0f0; }
        .mat-queue-prod .mat-q-name { font-weight: 600; color: #333; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .mat-queue-prod .mat-q-sku { font-size: 11px; color: #999; }
        .mat-q-status { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; padding: 3px 8px; border-radius: 10px; font-weight: 600; }
        .mat-q-status-generating { background: #e8f5e9; color: #176C39; }
        .mat-q-status-queued { background: #fff3e0; color: #ff8f00; }
        .mat-q-status-done { background: #e8f5e9; color: #176C39; }
        .mat-q-status-error { background: #ffebee; color: #e53935; }
        .mat-mini-progress { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 11px; color: #666; }
        .mat-mini-bar { width: 60px; height: 6px; background: #e8e8e8; border-radius: 3px; overflow: hidden; }
        .mat-mini-bar > div { height: 100%; background: #176C39; border-radius: 3px; }
        .mat-queue-actions button {
            padding: 4px 10px;
            border-radius: 5px;
            font-size: 11px;
            cursor: pointer;
            border: 1px solid #ddd;
            background: #fff;
            color: #666;
        }
        .mat-queue-actions button.primary { border-color: #176C39; color: #176C39; background: #e8f5e9; }
        .mat-queue-actions button.danger { border-color: #e53935; color: #e53935; background: #ffebee; }
        /* v20260825.102：操作列改为文字「查看/删除」，红色删除文字 + 点击查看展开右侧配置 */
        /* v20260825.107：操作列收紧——nowrap 防换行留白，按钮行高与单元格垂直居中，无冗余占位 */
        /* v20260825.143：消除按钮下方无效热区——td 零 padding + pointer-events:none 透传行点击，仅按钮可点 */
        .mat-queue-actions { display: flex; justify-content: center; align-items: center; gap: 8px; white-space: nowrap; pointer-events: none; }
        #page-materialmgmt .mat-queue-table td.mat-queue-actions { padding: 0 !important; pointer-events: none; }
        .mat-queue-actions .mat-action-text { pointer-events: auto; padding: 6px 2px; line-height: 1; }
        .mat-action-text { font-size: 12px; cursor: pointer; white-space: nowrap; user-select: none; }
        .mat-action-view { color: #176C39; }
        .mat-action-view:hover { text-decoration: underline; }
        .mat-action-delete { color: #e53935; }
        .mat-action-delete:hover { text-decoration: underline; }
        .mat-action-review { color: #1B4332; font-weight: 600; }
        .mat-action-review:hover { text-decoration: underline; }
        /* ===== v20260825.147 P0 返修：任务列表布局（全部 #page-materialmgmt 作用域，不影响其它页面） =====
           列模板 = colgroup + table-layout:fixed（表头与数据行严格同列）；
           v20260825.148：9 列化后列宽预算 670px（≤1366 桌面 wrap 698px 无横向滚动），窄容器（1280）降级滚动 */
        #page-materialmgmt table.mat-wb-queue { table-layout: fixed; width: 100%; min-width: 670px; }
        #page-materialmgmt .mat-wb-queue thead th { padding: 10px 4px !important; }
        #page-materialmgmt .mat-wb-queue tbody td { padding: 10px 4px !important; }
        #page-materialmgmt .mat-wb-queue td.mat-wb-check { padding: 10px 2px !important; }
        /* 商品信息：56×56 图 + 名称两行省略 + SKU 单行省略（组合标签不撑列） */
        #page-materialmgmt .mat-wb-prod { display: flex; align-items: center; justify-content: flex-start; gap: 8px; min-width: 0; text-align: left; }
        #page-materialmgmt .mat-prod-thumb { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; background: #f0f0f0; flex: none; }
        #page-materialmgmt .mat-prod-thumb.mat-prod-thumb-empty { display: flex; align-items: center; justify-content: center; color: #ccc; font-size: 18px; }
        #page-materialmgmt .mat-prod-info { min-width: 0; flex: 1 1 0; }
        #page-materialmgmt .mat-prod-name { font-weight: 600; color: #333; font-size: 12px; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; word-break: break-all; text-align: left; }
        #page-materialmgmt .mat-prod-tag { display: inline-block; font-size: 10px; background: #ff6f00; color: #fff; padding: 1px 6px; border-radius: 3px; margin-right: 4px; white-space: nowrap; flex-shrink: 0; }
        #page-materialmgmt .mat-prod-sku { font-size: 11px; color: #999; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; text-align: left; }
        /* 状态/进度/文案/复核单元格：一律不换行不断字（规范五：nowrap + keep-all + flex-shrink:0） */
        #page-materialmgmt .mat-wb-queue tbody td span { white-space: nowrap; word-break: keep-all; flex-shrink: 0; }
        #page-materialmgmt .mat-wb-queue td .mat-cell-txt { white-space: nowrap; word-break: keep-all; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
        /* 操作列：三个文字按钮单行不换行不挤压（列宽 98px 由 colgroup 锁定） */
        #page-materialmgmt .mat-wb-queue .mat-queue-actions { flex-wrap: nowrap; }
        #page-materialmgmt .mat-wb-queue .mat-queue-actions .mat-action-text { flex: 0 0 auto; }
        /* ===== v20260825.148：9 列紧凑样式（消耗两行 / 进度紧凑 / 时间 11px / ⋯ 菜单） ===== */
        /* 消耗列：第一行 Token、第二行 ≈¥ 估算费用（辅助小字，数据不变仅展示结构变化） */
        #page-materialmgmt .mat-wb-queue .mat-usage { display: flex; flex-direction: column; align-items: center; gap: 1px; min-width: 0; }
        #page-materialmgmt .mat-wb-queue .mat-usage-tokens { font-size: 12px; font-weight: 600; color: #333; line-height: 1.3; white-space: nowrap; }
        #page-materialmgmt .mat-wb-queue .mat-usage-cost { font-size: 10.5px; color: #98a2a8; line-height: 1.3; white-space: nowrap; }
        /* 进度/文案/复核 紧凑完成态（绿） */
        #page-materialmgmt .mat-wb-queue .mat-wb-ok { color: #176C39; font-weight: 600; font-size: 11.5px; }
        /* 创建时间：11px 单行（列 78px 紧凑预算） */
        #page-materialmgmt .mat-wb-queue td.mat-wb-time { font-size: 11px; color: #666; white-space: nowrap; }
        /* 表头文字不换行保险（62px 紧凑列下「图片进度」等四字表头） */
        #page-materialmgmt .mat-wb-queue thead th { white-space: nowrap; }
        /* ⋯ 更多按钮（与查看/审核同款文字按钮形态） */
        #page-materialmgmt .mat-wb-queue .mat-wb-more { color: #666; display: inline-flex; align-items: center; padding: 6px 4px; }
        #page-materialmgmt .mat-wb-queue .mat-wb-more:hover { color: #1B4332; }
        /* ⋯ 下拉菜单（挂 body、fixed 定位不受表格 wrap overflow 剪裁；仅删除一个真实操作项） */
        #matWbMoreMenu { position: fixed; display: none; min-width: 104px; background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,.14); padding: 4px; z-index: 1200; }
        #matWbMoreMenu .mat-wb-menu-item { display: flex; align-items: center; gap: 8px; padding: 7px 12px; font-size: 12.5px; color: #e53935; cursor: pointer; border-radius: 6px; white-space: nowrap; }
        #matWbMoreMenu .mat-wb-menu-item:hover { background: #ffebee; }
        .mat-queue-pagination {
            padding: 10px 16px;
            border-top: 1px solid #f0f0f0;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 8px;
            font-size: 12px;
            color: #666;
        }
        .mat-queue-pagination button {
            width: 26px; height: 26px;
            border: 1px solid #e0e0e0;
            background: #fff;
            border-radius: 5px;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            font-size: 12px;
        }
        .mat-queue-pagination button.active { background: #176C39; color: #fff; border-color: #176C39; }

        /* 空状态 */
        .mat-empty-workbench {
            background: #fff;
            border-radius: 12px;
            padding: 60px 20px;
            text-align: center;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }
        .mat-empty-workbench .mat-empty-icon { font-size: 52px; color: #e0e0e0; }
        .mat-empty-workbench .mat-empty-title { font-size: 16px; color: #666; margin-top: 16px; }
        .mat-empty-workbench .mat-empty-desc { font-size: 13px; color: #999; margin-top: 6px; }

        /* ===== v20260824.88：页面级覆盖 ===== */
        /* 顶部导航 56px + 左侧导航 200px（GEMI 现有 Header/Sidebar 组件，仅微调尺寸） */
        .topbar { min-height: 56px; }
        /* gemi.min.css 里 .sidebar 有多条 width/flex 定义（含 !important 的 220px），须同权重覆盖 */
        #sidebar { width: 200px !important; flex: 0 0 200px !important; min-width: 200px !important; max-width: 200px !important; }
        /* AI 批量作图工作台：中间区域白底铺满 .content，左右内边距 28px */
        #page-materialmgmt.active {
            background: #fff;
            margin: -22px -24px -34px;
            padding: 20px 28px 34px;
            min-height: calc(100vh - 56px);
        }
        /* 右侧作图配置：下区右侧独立滚动 */
        .mat-config-panel.collapsed { width: 0; min-width: 0; border-color: transparent; }

        /* 覆盖旧版 gemi-responsive-header 对 AI 工作台布局的破坏（用 ID 提升优先级） */
        #page-materialmgmt > .mat-workbench-layout.gemi-responsive-header {
            display: flex !important;
            align-items: flex-start !important;
            justify-content: flex-start !important;
            flex-wrap: nowrap !important;
            gap: 0 !important;
        }
        @media (max-width: 1200px) {
            #page-materialmgmt > .mat-workbench-layout.gemi-responsive-header { flex-direction: column !important; }
            .mat-workbench-layout { flex-direction: column; }
            /* v20260825.106：窄屏下上区改纵向堆叠，配置面板位于统计区下方 */
            .mat-workbench-top { flex-direction: column; }
            .mat-workbench-top-main { width: 100%; }
            .mat-workbench-bottom { flex-direction: column; }
            .mat-config-wrap { width: 100%; flex: 0 0 auto; margin-top: 0 !important; }
            /* v20260825.114：窄屏纵向布局不受桌面位移/顶部偏移影响，把手横向胶囊在面板下方 */
            .mat-config-wrap.collapsed { width: 100% !important; flex: 0 0 auto !important; transform: none !important; margin-top: 0 !important; }
            .mat-config-wrap.collapsed .mat-config-panel { display: none !important; }
            .mat-config-panel {
                width: 100%;
                height: auto;
                max-height: 72vh;
                min-height: 300px;
                position: static;
                border: 1px solid #eee;
                overflow: hidden;
            }
            .mat-config-panel.collapsed { width: 0; min-width: 0; }
            /* v20260825.118：窄屏纵向布局——把手静态居中显示在配置面板下方（收起时面板隐藏、把手保留可点） */
            .mat-config-toggle-handle {
                position: static; transform: none;
                width: 36px; height: 36px;
                margin: 12px auto;
                font-size: 20px;
                box-shadow: 0 3px 8px rgba(27,67,50,.22);
            }
            .mat-config-toggle-handle:active { transform: scale(.94); }
            .mat-stats-row { grid-template-columns: repeat(3, 1fr); }
            #page-materialmgmt.active { margin: -22px -24px -34px; padding: 16px 16px 24px; }
        }
        @media (max-width: 768px) {
            #page-materialmgmt > .mat-workbench-layout.gemi-responsive-header { gap: 14px !important; }
            .mat-workbench-main { width: 100% !important; min-width: 0 !important; }
            .mat-stats-row { grid-template-columns: repeat(2, 1fr); }
            .mat-current-body { grid-template-columns: 1fr; }
            .mat-current-img { width: 100%; height: auto; aspect-ratio: 1/1; }
            .mat-current-progress { width: 100%; }
            .mat-flow-steps { overflow-x: auto; }
            #page-materialmgmt .mat-queue-table th, #page-materialmgmt .mat-queue-table td { padding: 8px 4px !important; font-size: 11px !important; }
        }

        /* ===== v20260825.106：选品货架表格铺满容器（宽度自适应标签栏背景，两端对齐） ===== */
        #selectionManageContent .table-wrap {
            width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
        #selectionManageContent .table-wrap table { width: 100% !important; }

        /* ===== v20260824.91：上架管理发布任务中心（升级 v85 占位页） ===== */
        #page-matshelf.active {
            background: #f7f8fa;
            margin: -22px -24px -34px;
            padding: 20px 24px 34px;
            min-height: calc(100vh - 56px);
        }
        /* 标题区 */
        #page-matshelf .mat-shelf-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
        #page-matshelf .mat-shelf-title { font-size: 22px; font-weight: 700; color: #1B4332; margin: 0 0 4px; }
        #page-matshelf .mat-shelf-subtitle { font-size: 12px; color: #888; margin: 0; }
        #page-matshelf .mat-shelf-actions { display: flex; gap: 8px; flex-wrap: wrap; position: relative; }
        #page-matshelf .mat-shelf-actions button { padding: 8px 14px; border-radius: 8px; border: none; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
        #page-matshelf .mat-shelf-refresh { background: #fff; color: #555; border: 1px solid #ddd !important; }
        #page-matshelf .mat-shelf-batch { background: #fff; color: #1B4332; border: 1px solid #1B4332 !important; }
        #page-matshelf .mat-shelf-create { background: #E8743C; color: #fff; }
        /* 6 张 KPI 卡：grid 6 列，100px 高，点击联动 */
        #page-matshelf .mat-shelf-kpis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 16px; }
        #page-matshelf .mat-shelf-kpi {
            background: #fff; border-radius: 10px; padding: 14px 14px 12px; display: flex; align-items: center; gap: 12px;
            box-shadow: 0 1px 4px rgba(0,0,0,0.04); cursor: pointer; height: 100px; border: 1px solid #f0f0f0;
            transition: box-shadow .15s, transform .15s;
        }
        #page-matshelf .mat-shelf-kpi:hover { box-shadow: 0 3px 10px rgba(0,0,0,0.08); transform: translateY(-1px); }
        #page-matshelf .mat-shelf-kpi.active { border-color: #176C39; box-shadow: 0 0 0 2px rgba(23,108,57,.12); }
        #page-matshelf .mat-shelf-kpi-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 17px; flex: 0 0 44px; }
        #page-matshelf .mat-shelf-kpi-num { font-size: 22px; font-weight: 700; color: #1B4332; line-height: 1.1; }
        #page-matshelf .mat-shelf-kpi-label { font-size: 12px; color: #666; margin-top: 2px; }
        #page-matshelf .mat-shelf-kpi-delta { font-size: 11px; margin-top: 3px; }
        #page-matshelf .mat-shelf-kpi-delta.up { color: #e53935; }
        #page-matshelf .mat-shelf-kpi-delta.down { color: #43a047; }
        #page-matshelf .mat-shelf-kpi-delta.flat { color: #bbb; }
        /* 工具栏：状态 Tab（左侧）+ 筛选（右侧） */
        #page-matshelf .mat-shelf-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; background: #fff; border-radius: 10px; padding: 8px 14px; box-shadow: 0 1px 4px rgba(0,0,0,0.04); }
        #page-matshelf .mat-shelf-tabs { display: flex; gap: 2px; flex-wrap: wrap; }
        #page-matshelf .mat-shelf-tab { padding: 8px 12px; font-size: 13px; cursor: pointer; color: #666; position: relative; border-bottom: 2px solid transparent; white-space: nowrap; background: none; border: none; }
        #page-matshelf .mat-shelf-tab span { margin-left: 4px; }
        #page-matshelf .mat-shelf-tab.active { color: #176C39; font-weight: 600; border-bottom-color: #176C39; }
        #page-matshelf .mat-shelf-tab.active span { color: #176C39; }
        #page-matshelf .mat-shelf-filters { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
        #page-matshelf .mat-shelf-platform { padding: 7px 10px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 13px; color: #444; background: #fff; cursor: pointer; }
        #page-matshelf .mat-shelf-search { padding: 7px 12px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 13px; width: 240px; background: #fff; }
        #page-matshelf .mat-shelf-search:focus { outline: none; border-color: #176C39; }
        #page-matshelf .mat-shelf-filter-btn { padding: 7px 14px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 13px; background: #fff; color: #444; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
        #page-matshelf .mat-shelf-filter-btn:hover { border-color: #176C39; color: #176C39; }
        /* 主列表：白色轻量表格 */
        #page-matshelf .mat-shelf-list { background: #fff; border-radius: 10px; box-shadow: 0 1px 4px rgba(0,0,0,0.04); overflow: hidden; }
        #page-matshelf .mat-shelf-table { width: 100%; border-collapse: collapse; }
        /* ===== v20260825.100 P1 修复：货架管理表格窄屏容器内横向滚动（复用 v93 核价方案） ===== */
        #page-matshelf .mat-shelf-list { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
        #page-matshelf .mat-shelf-table { width: 100%; min-width: 1176px; }
        /* ===== v20260825.100 P3 修复：checkbox 点击热区放大（label 包裹 40px 触控区） ===== */
        #page-matshelf .mat-shelf-table .ms-chk-label { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; cursor: pointer; }
        #page-matshelf .mat-shelf-table th {
            background: #fafbfc; color: #555; font-size: 12px; font-weight: 600; text-align: center;
            padding: 10px 12px; border-bottom: 1px solid #eef0f2; white-space: nowrap;
        }
        #page-matshelf .mat-shelf-table td { padding: 10px 12px; border-bottom: 1px solid #f5f6f7; font-size: 13px; color: #333; vertical-align: middle; text-align: center; }
        /* v20260903.9：表格每列内容居中对齐——商品信息/操作人/平台等 flex 列内部也居中 */
        #page-matshelf .mat-shelf-table td .mat-shelf-prod,
        #page-matshelf .mat-shelf-table td .ms-actor,
        #page-matshelf .mat-shelf-table td .ms-platform,
        #page-matshelf .mat-shelf-table td .ms-price,
        #page-matshelf .mat-shelf-table td .ms-time { justify-content: center; }
        #page-matshelf .mat-shelf-table tr { cursor: pointer; }
        #page-matshelf .mat-shelf-table tr:hover td { background: #fafdfb; }
        #page-matshelf .mat-shelf-table tr:last-child td { border-bottom: none; }
        #page-matshelf .mat-shelf-table input[type=checkbox] { cursor: pointer; width: 15px; height: 15px; accent-color: #176C39; }
        /* 商品信息列 */
        #page-matshelf .mat-shelf-prod { display: flex; align-items: center; gap: 10px; }
        #page-matshelf .mat-shelf-prod img { width: 46px; height: 46px; object-fit: cover; border-radius: 8px; border: 1px solid #f0f0f0; background: #fafafa; }
        #page-matshelf .mat-shelf-prod .ms-p-name { font-size: 13px; font-weight: 600; color: #1B4332; display: flex; align-items: center; gap: 6px; }
        #page-matshelf .mat-shelf-prod .ms-p-sub { font-size: 11px; color: #999; margin-top: 3px; }
        #page-matshelf .mat-shelf-combo-tag { font-size: 10px; background: #e8f5e9; color: #176C39; border-radius: 4px; padding: 1px 6px; font-weight: 600; white-space: nowrap; }
        /* 状态 Badge：轻量 + 小字说明 */
        #page-matshelf .mat-shelf-status { display: inline-flex; flex-direction: column; line-height: 1.25; }
        #page-matshelf .mat-shelf-status .ms-st-main { font-size: 12px; font-weight: 600; }
        #page-matshelf .mat-shelf-status .ms-st-sub { font-size: 10px; color: #999; }
        #page-matshelf .ms-badge { display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; width: fit-content; }
        #page-matshelf .ms-badge.b-pending { background: #fff3e0; color: #e65100; }
        #page-matshelf .ms-badge.b-publishing { background: #e3f2fd; color: #1565c0; }
        #page-matshelf .ms-badge.b-published { background: #e8f5e9; color: #176C39; }
        #page-matshelf .ms-badge.b-delisted { background: #f5f5f5; color: #757575; }
        #page-matshelf .ms-badge.b-failed { background: #ffebee; color: #e53935; }
        /* 平台/站点 */
        #page-matshelf .ms-platform { display: flex; align-items: center; gap: 6px; font-weight: 600; color: #333; }
        #page-matshelf .ms-platform i { color: #176C39; width: 14px; text-align: center; }
        #page-matshelf .ms-site { font-size: 11px; color: #999; margin-top: 2px; }
        /* 价格 / 时间两层 */
        #page-matshelf .ms-price { font-weight: 600; color: #1B4332; }
        #page-matshelf .ms-price-sub, #page-matshelf .ms-time-sub { font-size: 10px; color: #aaa; }
        #page-matshelf .ms-time { font-size: 12px; color: #555; }
        /* 最后操作：头像 + 人 + 时间 + 动作 */
        #page-matshelf .ms-actor { display: flex; align-items: center; gap: 6px; }
        #page-matshelf .ms-avatar { width: 22px; height: 22px; border-radius: 50%; background: #e8f5e9; color: #176C39; font-size: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; flex: 0 0 22px; }
        #page-matshelf .ms-actor-name { font-size: 12px; color: #333; font-weight: 500; }
        #page-matshelf .ms-actor-line { display: flex; align-items: center; gap: 4px; font-size: 11px; color: #999; margin-top: 1px; }
        #page-matshelf .ms-actor-line .ms-act-tag { color: #176C39; }
        /* 操作列：动态按钮 */
        #page-matshelf .mat-shelf-ops { display: flex; align-items: center; gap: 6px; }
        #page-matshelf .mat-shelf-ops .ms-btn { padding: 5px 10px; border-radius: 6px; border: 1px solid #e0e0e0; font-size: 12px; cursor: pointer; background: #fff; color: #444; white-space: nowrap; }
        #page-matshelf .mat-shelf-ops .ms-btn:hover { border-color: #176C39; color: #176C39; }
        #page-matshelf .mat-shelf-ops .ms-btn.primary { background: #176C39; border-color: #176C39; color: #fff; }
        #page-matshelf .mat-shelf-ops .ms-btn.primary:hover { background: #0f4d29; }
        #page-matshelf .mat-shelf-ops .ms-btn.orange { background: #E8743C; border-color: #E8743C; color: #fff; }
        #page-matshelf .mat-shelf-ops .ms-btn.orange:hover { background: #d15f2c; }
        #page-matshelf .mat-shelf-ops .ms-btn.danger { color: #e53935; border-color: #f0c4c4; }
        #page-matshelf .mat-shelf-ops .ms-btn.danger:hover { background: #ffebee; }
        #page-matshelf .mat-shelf-ops .ms-more { border: none; background: none; color: #999; cursor: pointer; padding: 4px 6px; font-size: 14px; position: relative; }
        /* 批量菜单 */
        #page-matshelf .mat-shelf-batch-menu {
            position: absolute; top: 100%; right: 0; margin-top: 4px; background: #fff; border: 1px solid #e8ecf1; border-radius: 10px;
            box-shadow: 0 8px 24px rgba(0,0,0,.12); min-width: 170px; padding: 6px; z-index: 30; display: none;
        }
        #page-matshelf .mat-shelf-batch-menu .ms-bm-item { padding: 8px 12px; font-size: 13px; color: #333; cursor: pointer; border-radius: 6px; display: flex; align-items: center; gap: 8px; }
        #page-matshelf .mat-shelf-batch-menu .ms-bm-item:hover { background: #f0f7f2; color: #176C39; }
        #page-matshelf .mat-shelf-batch-menu .ms-bm-item.danger { color: #e53935; }
        #page-matshelf .mat-shelf-batch-menu .ms-bm-item.danger:hover { background: #ffebee; }
        /* 分页 */
        #page-matshelf .mat-shelf-pagination { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-top: 1px solid #f0f0f0; font-size: 12px; color: #666; flex-wrap: wrap; gap: 8px; }
        #page-matshelf .mat-shelf-pagination .ms-pg-pages { display: flex; gap: 4px; align-items: center; }
        #page-matshelf .mat-shelf-pagination .ms-pg-btn { min-width: 26px; height: 26px; padding: 0 6px; border: 1px solid #e0e0e0; border-radius: 6px; background: #fff; color: #555; cursor: pointer; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
        #page-matshelf .mat-shelf-pagination .ms-pg-btn:hover { border-color: #176C39; color: #176C39; }
        #page-matshelf .mat-shelf-pagination .ms-pg-btn.active { background: #176C39; color: #fff; border-color: #176C39; }
        #page-matshelf .mat-shelf-pagination .ms-pg-btn:disabled { opacity: .4; cursor: not-allowed; }
        #page-matshelf .mat-shelf-pagination select { padding: 4px 6px; border: 1px solid #e0e0e0; border-radius: 6px; font-size: 12px; }
        /* 空状态 */
        #page-matshelf .mat-shelf-empty { text-align: center; padding: 60px 20px; color: #999; }
        #page-matshelf .mat-shelf-empty i { font-size: 42px; color: #d5ddd6; }
        #page-matshelf .mat-shelf-empty .ms-e-title { font-size: 15px; font-weight: 600; color: #555; margin-top: 12px; }
        #page-matshelf .mat-shelf-empty .ms-e-desc { font-size: 12px; margin-top: 6px; }
        #page-matshelf .mat-shelf-empty .ms-e-actions { margin-top: 14px; display: flex; gap: 10px; justify-content: center; }
        #page-matshelf .mat-shelf-empty .ms-e-actions button { padding: 8px 16px; border-radius: 8px; font-size: 13px; cursor: pointer; }
        #page-matshelf .mat-shelf-empty .ms-e-actions .ms-ea-primary { background: #176C39; color: #fff; border: none; }
        #page-matshelf .mat-shelf-empty .ms-e-actions .ms-ea-ghost { background: #fff; color: #176C39; border: 1px solid #176C39; }
        /* Drawer */
        #page-matshelf .mat-drawer-mask { position: fixed; inset: 0; background: rgba(15,40,30,.35); z-index: 16510; }
        #page-matshelf .mat-drawer {
            position: fixed; top: 0; right: 0; bottom: 0; width: 680px; max-width: 94vw; background: #fff; z-index: 16520;
            box-shadow: -8px 0 30px rgba(0,0,0,.15); display: flex; flex-direction: column; animation: msDrawerIn .18s ease;
        }
        @keyframes msDrawerIn { from { transform: translateX(30px); opacity: .4; } to { transform: translateX(0); opacity: 1; } }
        /* v20260827.188：Phase 3.2E-2A TEMU 模板库（temuTpl* 命名空间，独立于 mat-drawer 体系） */
        .ttpl-mask { position: fixed; inset: 0; background: rgba(15,40,30,.38); z-index: 16530; }
        .ttpl-mask-l2 { z-index: 16550; background: rgba(15,40,30,.45); }
        .ttpl-drawer {
            position: fixed; top: 0; right: 0; bottom: 0; width: min(1080px, 94vw); background: #fff; z-index: 16540;
            box-shadow: -8px 0 30px rgba(0,0,0,.18); display: flex; flex-direction: column; animation: msDrawerIn .18s ease;
        }
        .ttpl-drawer-detail { z-index: 16560; width: min(1080px, 94vw); }
        .ttpl-dr-header { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid #f0f0f0; flex-shrink: 0; }
        .ttpl-dr-header h3 { margin: 0; font-size: 16px; font-weight: 700; color: #1B4332; display: flex; align-items: center; gap: 8px; }
        .ttpl-dr-close { border: none; background: none; font-size: 16px; color: #999; cursor: pointer; padding: 6px 8px; border-radius: 6px; }
        .ttpl-dr-close:hover { color: #e53935; background: #faf5f5; }
        .ttpl-dr-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 18px 0 18px; flex-wrap: wrap; flex-shrink: 0; }
        .ttpl-tabs { display: flex; gap: 4px; border-bottom: 1px solid #f0f0f0; }
        .ttpl-tab { padding: 8px 14px; font-size: 13px; cursor: pointer; color: #666; border: none; background: none; border-bottom: 2px solid transparent; }
        .ttpl-tab.active { color: #176C39; font-weight: 600; border-bottom-color: #176C39; }
        .ttpl-dr-body { flex: 1; overflow-y: auto; padding: 12px 18px 18px; }
        .ttpl-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
        .ttpl-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 760px; }
        .ttpl-table th { background: var(--gemi-table-head, #177A45); color: #fff; font-weight: 600; padding: 9px 10px; text-align: left; font-size: 12px; position: sticky; top: 0; z-index: 1; }
        .ttpl-table td { padding: 9px 10px; border-bottom: 1px solid #f2f2f2; vertical-align: middle; }
        .ttpl-table tbody tr:hover { background: #f7faf8; }
        .ttpl-cat-cell .ttpl-cat-name { font-weight: 600; color: #222; }
        .ttpl-cat-cell .ttpl-cat-path { font-size: 11px; color: #999; margin-top: 2px; }
        .ttpl-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; }
        .ttpl-badge-ok { background: #e8f4ec; color: #176C39; }
        .ttpl-badge-warn { background: #fdf0e6; color: #E8743C; }
        .ttpl-badge-bad { background: #fdecec; color: #c62828; }
        .ttpl-badge-dim { background: #f2f2f2; color: #999; }
        .ttpl-badge-active { background: #1B4332; color: #fff; margin-left: 4px; }
        .ttpl-btn { padding: 5px 10px; border-radius: 6px; border: 1px solid #ddd; background: #fff; color: #555; font-size: 12px; cursor: pointer; white-space: nowrap; }
        .ttpl-btn:hover { border-color: #176C39; color: #176C39; }
        .ttpl-btn-pri { background: #176C39; border-color: #176C39; color: #fff; }
        .ttpl-btn-pri:hover { background: #1B4332; color: #fff; }
        .ttpl-btn-warn { border-color: #f0c9a8; color: #E8743C; }
        .ttpl-btn-warn:hover { border-color: #E8743C; color: #d95f28; }
        .ttpl-list-empty { text-align: center; padding: 48px 0; color: #aaa; font-size: 14px; }
        .ttpl-empty-icon { font-size: 40px; color: #d5e5da; margin-bottom: 10px; }
        /* 详情 */
        .ttpl-sec { background: #fafbfa; border: 1px solid #eee; border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
        .ttpl-sec-title { font-size: 13px; font-weight: 700; color: #1B4332; margin-bottom: 10px; }
        .ttpl-kv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px 16px; }
        .ttpl-kv-k { font-size: 11px; color: #999; margin-bottom: 2px; }
        .ttpl-kv-v { font-size: 13px; color: #222; word-break: break-all; }
        .ttpl-stat-row { display: flex; gap: 12px; flex-wrap: wrap; }
        .ttpl-stat { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 10px 18px; text-align: center; min-width: 84px; }
        .ttpl-stat-n { font-size: 20px; font-weight: 700; }
        .ttpl-stat-l { font-size: 11px; color: #999; margin-top: 2px; }
        .ttpl-sheet-list { display: flex; flex-direction: column; gap: 6px; }
        .ttpl-sheet-item { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 7px 12px; font-size: 12px; }
        .ttpl-sheet-main { border-color: #bfe0c8; background: #f2f9f4; }
        .ttpl-sheet-name { font-weight: 600; color: #333; }
        .ttpl-sheet-meta { color: #999; font-size: 11px; }
        .ttpl-sheet-hint { color: #176C39; font-size: 11px; background: #e8f4ec; border-radius: 10px; padding: 1px 8px; }
        .ttpl-field-search { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 6px 12px; margin-bottom: 10px; color: #999; }
        .ttpl-field-search input { border: none; outline: none; flex: 1; font-size: 13px; }
        .ttpl-field-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #eee; border-radius: 8px; }
        .ttpl-field-table { width: 100%; border-collapse: collapse; font-size: 12px; }
        .ttpl-field-table th { background: var(--gemi-table-head, #177A45); color: #fff; font-weight: 600; padding: 7px 8px; text-align: left; font-size: 11px; white-space: nowrap; position: sticky; top: 0; }
        .ttpl-field-table td { padding: 6px 8px; border-bottom: 1px solid #f2f2f2; vertical-align: top; }
        .ttpl-req-REQUIRED { color: #c62828; font-weight: 600; font-size: 12px; }
        .ttpl-req-CONDITIONAL { color: #E8743C; font-weight: 600; font-size: 12px; }
        .ttpl-req-OPTIONAL { color: #666; font-size: 12px; }
        .ttpl-req-UNKNOWN { color: #999; font-size: 12px; }
        .ttpl-tag { display: inline-block; font-size: 10px; padding: 1px 6px; border-radius: 8px; margin-left: 4px; }
        .ttpl-tag-media { background: #ede7f6; color: #6a4c93; }
        .ttpl-tag-sens { background: #fdecec; color: #c62828; }
        .ttpl-tag-logi { background: #e3f2fd; color: #1565c0; }
        .ttpl-tag-combo { background: #fdf0e6; color: #E8743C; }
        .ttpl-enum { font-size: 11px; color: #444; word-break: break-all; }
        .ttpl-chip-row { display: flex; gap: 10px; flex-wrap: wrap; }
        .ttpl-chip-block { flex: 1; min-width: 220px; background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 8px 12px; font-size: 12px; color: #444; line-height: 1.7; word-break: break-all; }
        .ttpl-chip-h { font-weight: 700; color: #1B4332; margin-bottom: 4px; font-size: 12px; }
        .ttpl-rel { background: #fff; border: 1px solid #eee; border-left: 3px solid #E8743C; border-radius: 6px; padding: 7px 12px; margin-bottom: 6px; font-size: 12px; color: #444; }
        .ttpl-warn-item { background: #fdf6e8; border: 1px solid #f0e0c0; border-radius: 6px; padding: 6px 12px; margin-bottom: 6px; font-size: 12px; color: #8a6d1a; }
        .ttpl-audit { font-size: 12px; color: #666; padding: 4px 0; border-bottom: 1px dashed #eee; }
        .ttpl-audit-act { display: inline-block; background: #e8f4ec; color: #176C39; border-radius: 10px; padding: 1px 8px; font-size: 11px; font-weight: 600; }
        @media (max-width: 768px) {
            .ttpl-drawer, .ttpl-drawer-detail { width: 100vw; }
            .ttpl-kv-grid { grid-template-columns: 1fr; }
            .ttpl-dr-header h3 { font-size: 14px; }
        }
        #page-matshelf .mat-drawer .ms-dr-header { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid #f0f0f0; }
        #page-matshelf .mat-drawer .ms-dr-header h3 { margin: 0; font-size: 16px; font-weight: 700; color: #1B4332; display: flex; align-items: center; gap: 8px; }
        #page-matshelf .mat-drawer .ms-dr-close { border: none; background: none; font-size: 16px; color: #999; cursor: pointer; padding: 6px; }
        #page-matshelf .mat-drawer .ms-dr-close:hover { color: #e53935; }
        #page-matshelf .mat-drawer .ms-dr-body { flex: 1; overflow-y: auto; padding: 16px 18px; }
        #page-matshelf .mat-drawer .ms-dr-tabs { display: flex; gap: 4px; border-bottom: 1px solid #f0f0f0; margin-bottom: 14px; }
        #page-matshelf .mat-drawer .ms-dr-tab { padding: 8px 12px; font-size: 13px; cursor: pointer; color: #666; border-bottom: 2px solid transparent; }
        #page-matshelf .mat-drawer .ms-dr-tab.active { color: #176C39; font-weight: 600; border-bottom-color: #176C39; }
        #page-matshelf .ms-dr-row { display: flex; justify-content: space-between; padding: 7px 0; font-size: 13px; border-bottom: 1px dashed #f5f5f5; gap: 16px; }
        #page-matshelf .ms-dr-row .ms-dr-k { color: #999; flex: 0 0 92px; }
        #page-matshelf .ms-dr-row .ms-dr-v { color: #333; flex: 1; word-break: break-all; }
        #page-matshelf .ms-dr-imgs { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
        #page-matshelf .ms-dr-imgs img { width: 64px; height: 64px; object-fit: cover; border-radius: 6px; border: 1px solid #eee; }
        #page-matshelf .ms-dr-log { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f5f5f5; font-size: 12px; }
        #page-matshelf .ms-dr-log .ms-log-time { color: #999; flex: 0 0 88px; font-family: ui-monospace, monospace; }
        #page-matshelf .ms-dr-log .ms-log-body { flex: 1; }
        #page-matshelf .ms-dr-log .ms-log-by { color: #176C39; font-weight: 600; }
        #page-matshelf .ms-dr-log .ms-log-act { color: #333; font-weight: 500; }
        #page-matshelf .ms-dr-log .ms-log-note { color: #888; margin-top: 2px; }
        #page-matshelf .ms-dr-section { margin-bottom: 16px; }
        #page-matshelf .ms-dr-section h4 { font-size: 13px; font-weight: 700; color: #1B4332; margin: 0 0 8px; padding-bottom: 6px; border-bottom: 1px solid #f0f0f0; }
        /* 发布确认 Drawer */
        #page-matshelf .ms-pub-check { background: #f7fbf8; border: 1px solid #e3f0e7; border-radius: 8px; padding: 12px 14px; margin: 10px 0; }
        #page-matshelf .ms-pub-check .ms-pc-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 12px; }
        #page-matshelf .ms-pub-check .ms-pc-item.ok { color: #176C39; }
        #page-matshelf .ms-pub-check .ms-pc-item.no { color: #e53935; }
        #page-matshelf .ms-dr-footer { padding: 12px 18px; border-top: 1px solid #f0f0f0; display: flex; justify-content: flex-end; gap: 10px; }
        #page-matshelf .ms-dr-footer button { padding: 9px 18px; border-radius: 8px; font-size: 13px; cursor: pointer; border: 1px solid #e0e0e0; background: #fff; color: #444; }
        #page-matshelf .ms-dr-footer button.primary { background: #176C39; color: #fff; border-color: #176C39; }
        #page-matshelf .ms-dr-footer button.primary:hover { background: #0f4d29; }
        #page-matshelf .ms-dr-footer button.orange { background: #E8743C; color: #fff; border-color: #E8743C; }
        #page-matshelf .ms-dr-footer button.orange:hover { background: #d15f2c; }
        #page-matshelf .ms-dr-footer button:disabled { opacity: .5; cursor: not-allowed; }
        #page-matshelf .ms-dr-note { font-size: 11px; color: #999; background: #fafbfc; border-radius: 6px; padding: 8px 10px; margin-top: 8px; line-height: 1.6; }
        /* 新建发布任务 Drawer 商品包选择 */
        #page-matshelf .ms-create-item { display: flex; align-items: center; gap: 10px; padding: 9px 8px; border: 1px solid #f0f0f0; border-radius: 8px; margin-bottom: 8px; cursor: pointer; }
        #page-matshelf .ms-create-item:hover { border-color: #c8e6c9; background: #fafdfb; }
        #page-matshelf .ms-create-item.sel { border-color: #176C39; background: #f0f7f2; }
        #page-matshelf .ms-create-item img { width: 38px; height: 38px; object-fit: cover; border-radius: 6px; }
        #page-matshelf .ms-create-item .ms-ci-name { font-size: 13px; font-weight: 600; color: #1B4332; }
        #page-matshelf .ms-create-item .ms-ci-sub { font-size: 11px; color: #999; margin-top: 2px; }
        /* 高级筛选层 */
        #page-matshelf .ms-adv-mask { position: fixed; inset: 0; background: rgba(15,40,30,.25); z-index: 16480; }
        #page-matshelf .ms-adv-panel {
            position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 520px; max-width: 92vw; max-height: 82vh; overflow-y: auto;
            background: #fff; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.2); z-index: 16490; padding: 18px 20px;
        }
        #page-matshelf .ms-adv-panel h3 { margin: 0 0 14px; font-size: 16px; color: #1B4332; }
        #page-matshelf .ms-adv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
        #page-matshelf .ms-adv-grid label { display: block; font-size: 12px; color: #666; margin-bottom: 4px; }
        #page-matshelf .ms-adv-grid select, #page-matshelf .ms-adv-grid input { width: 100%; padding: 7px 10px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 13px; box-sizing: border-box; }
        #page-matshelf .ms-adv-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
        #page-matshelf .ms-adv-actions button { padding: 8px 16px; border-radius: 8px; font-size: 13px; cursor: pointer; }
        #page-matshelf .ms-adv-actions .ms-aa-ghost { background: #fff; border: 1px solid #ddd; color: #555; }
        #page-matshelf .ms-adv-actions .ms-aa-primary { background: #176C39; border: none; color: #fff; }
        /* 已应用筛选条件标签 */
        #page-matshelf .mat-shelf-active-filters { display: flex; gap: 6px; flex-wrap: wrap; margin: -6px 0 12px; }
        #page-matshelf .ms-af-chip { display: inline-flex; align-items: center; gap: 5px; background: #e8f5e9; color: #176C39; font-size: 11px; border-radius: 20px; padding: 3px 10px; }
        #page-matshelf .ms-af-chip i { cursor: pointer; }
        /* 移动端适配（PWA 不破坏） */
        @media (max-width: 1200px) {
            #page-matshelf .mat-shelf-kpis { grid-template-columns: repeat(3, 1fr); }
            #page-matshelf .mat-shelf-kpi { height: 88px; }
        }
        @media (max-width: 768px) {
            /* v20260903.7：移动端 KPI 仅显示 待上架/已上架/总商品包 3 张 → 3 列一排 */
            #page-matshelf .mat-shelf-kpis { grid-template-columns: repeat(3, 1fr); gap: 8px; }
            #page-matshelf .mat-shelf-kpi { padding: 10px 6px 8px; gap: 8px; height: auto; }
            /* v20260903.7：顶部操作按钮一排显示（刷新/批量操作/创建商品包/模板中心） */
            #page-matshelf .mat-shelf-header { flex-direction: column; align-items: stretch; gap: 10px; }
            #page-matshelf .mat-shelf-actions { flex-wrap: nowrap; width: 100%; gap: 6px; }
            #page-matshelf .mat-shelf-actions button { flex: 1 1 0; min-width: 0; justify-content: center; white-space: nowrap; padding: 8px 4px; font-size: 12px; gap: 4px; }
            /* v20260903.7：筛选区一排显示（平台下拉 + 搜索框 + 筛选按钮） */
            #page-matshelf .mat-shelf-toolbar { flex-direction: row; flex-wrap: nowrap; padding: 8px 10px; }
            #page-matshelf .mat-shelf-filters { width: 100%; flex-wrap: nowrap; gap: 6px; }
            #page-matshelf .mat-shelf-platform { flex: 0 0 auto; padding: 7px 6px; font-size: 12px; }
            #page-matshelf .mat-shelf-search { width: auto; flex: 1 1 auto; min-width: 0; font-size: 12px; padding: 7px 8px; }
            #page-matshelf .mat-shelf-filter-btn { flex: 0 0 auto; white-space: nowrap; font-size: 12px; padding: 7px 10px; }
            #page-matshelf .mat-shelf-table { font-size: 11px; }
            /* v20260903.8：移动端表格仅保留 商品信息 + SKU/货号 两列（+复选框），其余列隐藏 */
            #page-matshelf .mat-shelf-table th:nth-child(n+4),
            #page-matshelf .mat-shelf-table td:nth-child(n+4) { display: none; }
            #page-matshelf .mat-shelf-table th:nth-child(2) { width: auto; }
            #page-matshelf .mat-shelf-table th:nth-child(3) { width: 96px; }
            #page-matshelf .mat-drawer { width: 100vw; }
        }
    

        /* ===== v20260902.27 内容中心 Agent 单流主页 ===== */
        .agent-flow { border: 1px solid #E4EBE6; border-radius: 14px; background: linear-gradient(180deg,#F7FAF8,#FFFFFF); padding: 18px 18px 16px; margin: 0 0 12px; }
        .agent-hero { text-align: left; }
        .agent-hero-title { font-size: 22px; font-weight: 800; color: #1B4332; margin-bottom: 6px; }
        .agent-hero-title i { color: #176C39; margin-right: 8px; }
        .agent-hero-sub { font-size: 13px; color: #5B6B5F; line-height: 1.6; margin-bottom: 14px; max-width: 620px; }
        .agent-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
        .agent-btn { padding: 9px 18px; border-radius: 10px; font-size: 13.5px; font-weight: 600; cursor: pointer; white-space: nowrap; border: 1px solid transparent; }
        .agent-btn.primary { background: #176C39; color: #fff; border-color: #176C39; }
        .agent-btn.primary:hover { background: #12592f; }
        .agent-btn.primary:disabled { background: #9fb3a7; border-color: #9fb3a7; cursor: not-allowed; }
        .agent-btn.ghost { background: #fff; color: #4A5160; border-color: #C4C9D2; }
        .agent-btn.ghost:hover { border-color: #176C39; color: #176C39; }
        .agent-hero-chip { display: flex; flex-wrap: wrap; gap: 4px; }
        .agent-flow-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
        .agent-thumb { width: 48px; height: 48px; flex-shrink: 0; background: #F2F4F3; border-radius: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
        .agent-flow-name b { display: block; font-size: 15px; color: #1F2937; }
        .agent-flow-meta { font-size: 11.5px; color: #7A8A94; }
        .agent-steps { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
        .agent-step { flex: 1; min-width: 120px; background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; }
        .agent-step i { width: 16px; text-align: center; }
        .agent-step b { display: block; font-size: 12px; color: #1F2937; }
        .agent-step span { font-size: 11px; color: #7A8A94; }
        .agent-step.ok { border-color: #CBE3CF; background: #F0F7F1; } .agent-step.ok i { color: #176C39; }
        .agent-step.run { border-color: #C4D7F5; background: #EDF3FF; } .agent-step.run i { color: #2C4E8A; }
        .agent-step.blocked { border-color: #F3D9C4; background: #FFFBF8; } .agent-step.blocked i { color: #C0392B; }
        .agent-step.todo i, .agent-step.idle i { color: #C4C9D2; }
        .agent-summary { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
        .agent-stat { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 8px 14px; text-align: center; }
        .agent-stat b { display: block; font-size: 16px; color: #176C39; } .agent-stat span { font-size: 11px; color: #7A8A94; }
        .agent-actions { display: flex; gap: 10px; flex-wrap: wrap; }
        .agent-step-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 8px; }
        .agent-tag { font-size: 10.5px; border-radius: 999px; padding: 2px 8px; background: #F2F4F3; color: #7A8A94; }
        .agent-tag.ok { background: #E7F3EB; color: #176C39; }
        .agent-tag.run { background: #EDF3FF; color: #2C4E8A; }
        /* 套图画廊 */
        .gemi-gal-title { font-size: 13px; font-weight: 700; color: #1B4332; margin: 12px 0 8px; }
        .gemi-gal-title small { font-weight: 400; color: #7A8A94; }
        .gemi-gal-empty { font-size: 12.5px; color: #B0BEC5; background: #FBFCFB; border: 1px dashed #E4EBE6; border-radius: 10px; padding: 16px; text-align: center; margin-bottom: 10px; }
        .gemi-gal { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin-bottom: 10px; }
        .gemi-gal-item { position: relative; background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 6px; }
        .gemi-gal-item.noimg { opacity: .7; }
        .gemi-gal-meta { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin-top: 6px; }
        .gemi-gal-label { font-size: 11px; color: #1F2937; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .gemi-gal-st { font-size: 10px; border-radius: 999px; padding: 1px 6px; white-space: nowrap; }
        .gemi-gal-st.ok { background: #E7F3EB; color: #176C39; }
        .gemi-gal-st.bad { background: #FDECEC; color: #C0392B; }
        .gemi-gal-st.rev { background: #FDF7E3; color: #9A7D0A; }
        .gemi-gal-st.pending { background: #EDF3FF; color: #2C4E8A; }
        .gemi-gal-zoom { position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; background: rgba(0,0,0,0.45); color: #fff; border-radius: 6px; display: none; align-items: center; justify-content: center; font-size: 12px; }
        .gemi-gal-item:hover .gemi-gal-zoom { display: flex; }
        .gemi-gal-del { position: absolute; top: 4px; right: 4px; width: 18px; height: 18px; background: rgba(192,57,43,0.9); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; cursor: pointer; opacity: 0; transition: opacity .15s; }
        .gemi-gal-item:hover .gemi-gal-del { opacity: 1; }
        /* ===== 套图生成页（LinkFox 式两栏）===== */
        .gs { border: 1px solid var(--gemi-line); border-radius: 14px; background: var(--gemi-surface); padding: 14px 16px; margin: 0 0 12px; }
        .gs-cols { display: flex; gap: 16px; flex-wrap: wrap; }
        .gs-cols-custom .gs-right { display: none; }
        .gs-cols-custom .gs-left { width: 100%; }
        .gs-left { width: 252px; flex-shrink: 0; display: flex; flex-direction: column; gap: 5px;
            position: sticky; top: 64px; max-height: calc(100vh - 80px); overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-width: thin; scrollbar-color: #D5DDE4 transparent; }
        .gs-left::-webkit-scrollbar { width: 8px; display: block; }
        .gs-left::-webkit-scrollbar-thumb { background: #D5DDE4; border-radius: 8px; }
        .gs-left::-webkit-scrollbar-track { background: transparent; }
        .gs-left:hover::-webkit-scrollbar-thumb { background: #B0BEC5; }
        /* ===== 内容中心左侧面板：内容可滚动，底部按钮固定（2026-09-06）===== */
        .cc-left { overflow: hidden !important; padding-right: 0 !important; gap: 0 !important; }
        .cc-left-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-width: thin; scrollbar-color: #D5DDE4 transparent; }
        .cc-left-scroll::-webkit-scrollbar { width: 6px; display: block; }
        .cc-left-scroll::-webkit-scrollbar-thumb { background: #D5DDE4; border-radius: 6px; }
        .cc-left-scroll::-webkit-scrollbar-track { background: transparent; }
        .cc-left-scroll:hover::-webkit-scrollbar-thumb { background: #B0BEC5; }
        .cc-left-footer { flex-shrink: 0; background: #fff; padding-top: 12px; border-top: 1px solid #eee; margin-top: 8px; }
        .gs-right { flex: 1; min-width: 0; }
        .gs-sec-h { font-size: 12.5px; font-weight: 700; color: var(--gemi-text-head); margin: 9px 0 5px; }
        .gs-sec-h.gs-sec-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
        .gs-q { color: #B0BEC5; font-weight: 400; }
        .gs-upload-main { width: 100%; margin-bottom: 6px; }
        .gs-upload-opts { display: flex; gap: 8px; }
        .gs-opt-btn { flex: 1; padding: 6px 4px; border: 1px solid var(--gemi-line-strong); border-radius: 8px; background: #fff; color: var(--gemi-text-head); font-size: 12px; cursor: pointer; }
        .gs-opt-btn:hover { border-color: var(--gemi-brand); color: var(--gemi-brand); }
        .gs-upload-note { font-size: 11px; color: var(--gemi-sub); line-height: 1.5; margin: 6px 0; }
        .gs-imgbox { display: flex; gap: 6px; flex-wrap: wrap; }
        .gs-imgbox-add { width: 66px; height: 66px; border: 1px dashed var(--gemi-line-strong); border-radius: 8px; background: var(--gemi-surface-alt); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--gemi-sub); cursor: pointer; font-size: 11px; }
        .gs-imgbox-add:hover { border-color: var(--gemi-brand); color: var(--gemi-brand); }
        .gs-imgbox-thumb { width: 66px; height: 66px; object-fit: cover; border-radius: 8px; border: 1px solid var(--gemi-line); cursor: zoom-in; }
        .gs-imgbox-acts { display: flex; gap: 8px; margin: 6px 0; }
        .gs-imgbox-btn { flex: 1; padding: 6px 8px; font-size: 12px; }
        .gs-baseline { display: flex; gap: 8px; align-items: center; margin-top: 4px; }
        .gs-baseline img { width: 54px; height: 54px; object-fit: cover; border-radius: 8px; border: 1px solid var(--gemi-line); cursor: zoom-in; }
        .gs-baseline span { font-size: 11px; color: var(--gemi-brand); }
        .gs-info-hint { font-size: 12px; color: var(--gemi-sub); background: var(--gemi-surface-alt); border: 1px solid var(--gemi-line); border-radius: 8px; padding: 8px 10px; margin-bottom: 6px; }
        .gs-info-ta { width: 100%; box-sizing: border-box; min-height: 168px; max-height: 70vh; border: 1px solid var(--gemi-line); border-radius: 8px; padding: 10px 12px; font-size: 12.5px; color: var(--gemi-text); resize: vertical; display: block; flex: 0 0 auto; font-family: var(--gemi-font); line-height: 1.7; }
        .gs-info-meta { font-size: 11.5px; color: var(--gemi-sub); margin-top: 4px; }
        /* ===== v20260902.27 美图设计室式左栏：商品原图(可删/放大)/生成设置(固定)/商品卖点&要求(AI帮写)/套图结构配置 ===== */
        .gs-imgbox-thumb-wrap { position: relative; width: 66px; height: 66px; }
        .gs-imgbox-del { position: absolute; top: 2px; right: 2px; width: 13px; height: 13px; border-radius: 50%; background: rgba(30,38,34,.72); color: #fff; border: none; cursor: pointer; font-size: 7px; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0; z-index: 3; box-shadow: 0 1px 2px rgba(0,0,0,.3); opacity: 0; transition: opacity .15s ease; }
        .gs-imgbox-thumb-wrap:hover .gs-imgbox-del { opacity: 1; }
        .gs-imgbox-del:hover { background: #C05555; }
        .gs-imgbox-del i { font-size: 7px; line-height: 1; }
        .gs-gen-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
        .gs-gen-cell select { width: 100%; padding: 8px 10px; border: 1px solid var(--gemi-line); border-radius: 8px; font-size: 12.5px; color: var(--gemi-text); background: #fff; cursor: pointer; }
        .gs-gen-cell select:hover, .gs-gen-cell select:focus { border-color: var(--gemi-brand); outline: none; }
        .gs-ai-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: #2C6FC7; border: none; background: #EEF4FD; border-radius: 999px; padding: 4px 12px; cursor: pointer; }
        .gs-ai-btn i { font-size: 12px; color: #3E82D6; }
        .gs-ai-btn:hover { background: #E2EDFC; color: #2459A8; }
        .gs-ai-btn:hover i { color: #2C6FC7; }
        .gs-struct-card { display: flex; align-items: center; gap: 9px; border: 1px solid var(--gemi-line); border-radius: 10px; padding: 9px 11px; margin-bottom: 7px; }
        .gs-struct-card.active { border-color: var(--gemi-brand); background: #F4FAF6; }
        .gs-struct-ic { width: 30px; height: 30px; border-radius: 8px; background: #F0F4F1; display: flex; align-items: center; justify-content: center; color: var(--gemi-brand); font-size: 13px; }
        .gs-struct-card.active .gs-struct-ic { background: var(--gemi-brand); color: #fff; }
        .gs-struct-card b { font-size: 12.5px; color: var(--gemi-text-head); }
        .gs-struct-sub { font-size: 11px; color: var(--gemi-sub); margin-top: 2px; }
        .gs-struct-type { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--gemi-line); border-radius: 8px; padding: 7px 11px; font-size: 12px; color: var(--gemi-text); }
        .gs-struct-options { display: none; }
        .gs-struct-options.open { display: block; }
        .gs-struct-options .gs-struct-type { margin-bottom: 6px; }
        /* 模型选择（替代爆款风格分析） */
        .gs-model-cur { font-size: 12px; color: var(--gemi-sub); margin-top: 7px; background: var(--gemi-surface-alt); border: 1px solid var(--gemi-line); border-radius: 8px; padding: 8px 10px; line-height: 1.6; }
        .gs-model-cur b { color: var(--gemi-brand); }
        .gs-model-select { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid var(--gemi-line); border-radius: 8px; font-size: 12.5px; color: var(--gemi-text); background: #fff; cursor: pointer; }
        .gs-model-select:hover, .gs-model-select:focus { border-color: var(--gemi-brand); outline: none; }
        .gs-badge-rec { font-size: 10px; background: #E8743C; color: #fff; border-radius: 6px; padding: 1px 7px; flex-shrink: 0; }
        .gs-model-feat { font-size: 11.5px; color: var(--gemi-sub); margin-top: 4px; line-height: 1.6; }
        .gs-model-fine { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; padding: 8px 10px; background: #F0F7F1; border: 1px solid #CBE3CF; border-radius: 8px; font-size: 12px; }
        .gs-model-fine-lbl { color: var(--gemi-sub); }
        .gs-model-fine-cur { color: var(--gemi-brand); font-weight: 600; flex: 1; min-width: 0; }
        .gs-model-fine-btn { padding: 5px 12px; border: 1px solid #176C39; border-radius: 8px; background: #176C39; color: #fff; cursor: pointer; font-size: 12px; font-weight: 600; white-space: nowrap; }
        .gs-model-fine-btn:hover { background: #0F5035; }
        .gs-model-best { font-size: 11px; color: #7A8A94; margin-top: 2px; }
        .gs-model-opt-price { color: #176C39; }
        .gs-struct-type-l { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
        .gs-struct-type-l b { font-size: 12.5px; color: var(--gemi-text-head); }
        .gs-badge-ai { font-size: 10px; background: #EAF3FF; color: #2C6FC7; border-radius: 6px; padding: 1px 6px; }
        .gs-struct-total { font-size: 12px; color: var(--gemi-sub); text-align: center; margin-top: 8px; padding: 6px; background: var(--gemi-surface-alt); border-radius: 8px; }
        .gs-struct-total b { color: var(--gemi-brand); font-size: 14px; }
        .gs-radio { width: 16px; height: 16px; border: 1.5px solid #C4C9D2; border-radius: 50%; flex-shrink: 0; position: relative; }
        .gs-radio.on { border-color: var(--gemi-brand); }
        .gs-radio.on::after { content: ''; position: absolute; inset: 3px; background: var(--gemi-brand); border-radius: 50%; }
        .gs-step { display: inline-flex; align-items: center; gap: 6px; }
        .gs-step-b { width: 20px; height: 20px; border: 1px solid var(--gemi-line); border-radius: 5px; background: #fff; cursor: pointer; font-size: 11px; color: var(--gemi-sub); line-height: 1; }
        .gs-step-b:hover { border-color: var(--gemi-brand); color: var(--gemi-brand); }
        .gs-step i { font-style: normal; font-size: 12px; color: var(--gemi-text); min-width: 14px; text-align: center; }
        .gs-mini { display: inline-block; padding: 2px 8px; border: 1px solid var(--gemi-line); border-radius: 6px; margin-right: 6px; cursor: pointer; color: var(--gemi-text-head); background: #fff; }
        .gs-brand-card { display: flex; align-items: center; gap: 10px; border: 1px solid var(--gemi-line); border-radius: 10px; padding: 9px 10px; margin-bottom: 6px; background: var(--gemi-surface); cursor: pointer; }
        .gs-brand-ic { width: 34px; height: 34px; border-radius: 8px; color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .gs-brand-card b { font-size: 12.5px; color: var(--gemi-text); display: block; }
        .gs-brand-sub { font-size: 11px; color: var(--gemi-sub); margin-top: 2px; }
        .gs-brand-card i { margin-left: auto; color: var(--gemi-muted); }
        .gs-model-btn { width: 100%; display: flex; align-items: center; gap: 8px; border: 1px solid var(--gemi-line); border-radius: 9px; padding: 8px 10px; background: #fff; font-size: 12.5px; color: var(--gemi-text); cursor: pointer; }
        .gs-model-btn:hover { border-color: var(--gemi-brand); }
        .gs-seg { display: flex; gap: 8px; }
        .gs-seg-btn { flex: 1; padding: 7px 0; border: 1px solid var(--gemi-line-strong); border-radius: 8px; background: #fff; color: var(--gemi-text); font-size: 12.5px; cursor: pointer; }
        .gs-seg-btn.active { border-color: var(--gemi-brand); background: var(--gemi-brand); color: #fff; }
        .gs-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 0; font-size: 12.5px; color: var(--gemi-text); }
        .gs-sub-h { font-size: 11.5px; color: var(--gemi-sub); margin: 4px 0; }
        .gs-type-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border: 1px solid var(--gemi-line); border-radius: 8px; background: #fff; margin-bottom: 5px; }
        .gs-type-name { font-size: 12.5px; color: var(--gemi-text); }
        .gs-step { display: flex; align-items: center; gap: 6px; }
        .gs-step-b { width: 20px; height: 20px; border: 1px solid var(--gemi-line); border-radius: 6px; background: #fff; color: var(--gemi-sub); cursor: pointer; }
        .gs-step i { font-style: normal; font-size: 12px; color: var(--gemi-text); min-width: 14px; text-align: center; }
        .gs-pick-row { display: flex; align-items: center; gap: 8px; border: 1px solid var(--gemi-line); border-radius: 8px; padding: 8px 10px; background: #fff; margin-bottom: 5px; cursor: pointer; }
        .gs-pick-row .gs-type-name { font-weight: 600; }
        .gs-sub2 { flex: 1; color: var(--gemi-sub); font-size: 11px; }
        .gs-pick-row i { color: var(--gemi-muted); }
        .gs-sw { position: relative; display: inline-block; width: 34px; height: 18px; }
        .gs-sw input { opacity: 0; width: 0; height: 0; }
        .gs-sw span { position: absolute; inset: 0; border-radius: 999px; background: #D5DDE4; transition: .2s; }
        .gs-sw input:checked + span { background: var(--gemi-brand); }
        .gs-sw span:before { content:''; position:absolute; width:14px; height:14px; left:2px; top:2px; border-radius:50%; background:#fff; transition:.2s; }
        .gs-sw input:checked + span:before { transform: translateX(16px); }
        .gs-warn { font-size: 11px; color: #C85A22; background: #FFF7EA; border: 1px solid #F3E3B8; border-radius: 7px; padding: 6px 8px; margin: 5px 0; }
        .gs-ratio { display: flex; gap: 6px; flex-wrap: wrap; }
        .gs-ratio-b { flex: 1; min-width: 44px; padding: 7px 0; border: 1px solid var(--gemi-line); border-radius: 8px; background: #fff; color: var(--gemi-text); font-size: 12px; cursor: pointer; }
        .gs-ratio-b.active { border-color: var(--gemi-brand); background: var(--gemi-brand); color: #fff; }
        .gs-gen-btn { width: 100%; margin-top: 10px; }
        /* v20260902.27 开始生成按钮吸底：屏幕内始终可见（随视口自适应） */
        .gs-gen-bar { position: sticky; bottom: 0; z-index: 5; margin-top: 6px; padding-top: 8px; background: var(--gemi-surface); }
        .gs-gen-bar .gs-gen-btn { margin-top: 0; }
        .gs-gen-est { font-size: 11px; color: var(--gemi-sub); text-align: center; margin-top: 5px; }
        .gs-gen-est b { color: #176C39; font-weight: 600; }
        @media (max-width: 1199px){ .gs-gen-bar { position: fixed; bottom: 0; left: 0; right: 0; padding: 10px 14px; background: rgba(255,255,255,.98); border-top: 1px solid var(--gemi-line); box-shadow: 0 -6px 18px rgba(0,0,0,.06); } }
        .gs-meta-card { border: 1px solid var(--gemi-line); border-radius: 10px; padding: 10px 12px; background: var(--gemi-surface-alt); margin-bottom: 12px; }
        .gs-copy-card { border: 1px solid var(--gemi-line); border-radius: 10px; padding: 12px 14px; background: var(--gemi-surface); margin-bottom: 12px; }
        .gs-copy-head { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; color: var(--gemi-text-head); margin-bottom: 8px; }
        .gs-copy-badge { font-size: 10px; background: #F0F4F1; color: #5B6B5F; border-radius: 6px; padding: 1px 7px; font-weight: 600; }
        .gs-copy-row { display: flex; gap: 10px; margin-bottom: 6px; font-size: 12.5px; }
        .gs-copy-k { flex: 0 0 72px; color: var(--gemi-sub); font-size: 12px; padding-top: 1px; }
        .gs-copy-v { flex: 1; color: var(--gemi-text); line-height: 1.6; }
        .gs-copy-v ol { margin: 0; padding-left: 18px; }
        .gs-copy-pending { color: var(--gemi-muted); font-size: 12px; display: flex; align-items: center; gap: 8px; }
        .gs-video-card { border: 1px solid var(--gemi-line); border-radius: 10px; padding: 12px 14px; background: var(--gemi-surface); margin-bottom: 12px; }
        .gs-video-head { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; color: var(--gemi-text-head); margin-bottom: 10px; flex-wrap: wrap; }
        .gs-video-skills { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
        .gs-video-skill { flex: 1 1 130px; min-width: 0; border: 1px solid var(--gemi-line); border-radius: 10px; padding: 8px 10px; background: var(--gemi-surface-alt); display: flex; flex-direction: column; gap: 3px; transition: border-color .15s, background .15s; }
        .gs-video-skill.active { border-color: #176C39; background: #F0F7F1; }
        .gs-video-skill-name { font-size: 12.5px; font-weight: 600; color: var(--gemi-text-head); }
        .gs-video-skill-hint { font-size: 11px; color: var(--gemi-muted); line-height: 1.5; }
        .gs-video-results { display: flex; flex-direction: column; gap: 10px; }
        .gs-video-item { border: 1px solid var(--gemi-line); border-radius: 10px; overflow: hidden; background: #fff; }
        .gs-video-item-info { display: flex; align-items: center; gap: 10px; padding: 8px 10px; font-size: 12.5px; color: var(--gemi-text); flex-wrap: wrap; }
        .gs-video-pending { color: var(--gemi-muted); font-size: 12px; display: flex; align-items: center; gap: 8px; padding: 6px 2px; }
        .gs-video-card .gemi-btn:disabled { opacity: .55; cursor: not-allowed; }
        @media (max-width: 640px){ .gs-video-skill { flex: 1 1 100%; } }
        .gs-meta-line { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--gemi-sub); }
        .gs-meta-line2 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; font-size: 11.5px; color: var(--gemi-muted); }
        .gs-meta-acts { display: flex; gap: 8px; }
        .gs-meta-btn { padding: 4px 10px; font-size: 12px; }
        /* v20260905.13 作品网格重设计：大卡面、完整显示不裁切、悬停浮起+放大按钮 */
        .gs-imgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
        .gs-img { position: relative; border: 1px solid var(--gemi-line); border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
        .gs-img:hover { border-color: #176C39; box-shadow: 0 6px 22px rgba(23,108,57,.14); transform: translateY(-2px); }
        .gs-img img { width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: contain; display: block; background: repeating-conic-gradient(#F3F6F4 0% 25%, #FFFFFF 0% 50%) 50% / 16px 16px; padding: 8px; box-sizing: border-box; cursor: zoom-in; }
        .gs-img-empty { aspect-ratio: 1 / 1; background: var(--gemi-surface-alt); display: flex; align-items: center; justify-content: center; color: var(--gemi-muted); }
        .gs-img-zoom { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; border-radius: 8px; border: none; background: rgba(16,19,18,.62); color: #fff; font-size: 13px; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .15s ease; cursor: zoom-in; }
        .gs-img:hover .gs-img-zoom { opacity: 1; }
        .gs-img-lab { font-size: 12.5px; font-weight: 600; color: var(--gemi-text-head); padding: 8px 10px 9px; border-top: 1px solid #F0F3F1; }
        @media (max-width: 640px){ .gs-imgs { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; } }
        /* 历史任务图标网格 */
        .gs-hist-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin-top: 8px; }
        .gs-hist-card { position: relative; border: 1px solid var(--gemi-line); border-radius: 12px; overflow: hidden; background: #fff; cursor: pointer; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
        .gs-hist-card:hover { border-color: #176C39; box-shadow: 0 6px 20px rgba(23,108,57,.12); transform: translateY(-2px); }
        .gs-hist-thumb { position: relative; width: 100%; aspect-ratio: 1 / 1; background: var(--gemi-surface-alt); overflow: hidden; }
        .gs-hist-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .gs-hist-noimg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #B0BEC5; font-size: 32px; }
        .gs-hist-badge { position: absolute; top: 8px; left: 8px; padding: 3px 8px; border-radius: 6px; font-size: 10px; font-weight: 700; background: rgba(255,255,255,.92); backdrop-filter: blur(4px); }
        .gs-hist-badge.ok { color: #176C39; border: 1px solid #176C39; }
        .gs-hist-badge.run { color: #E8743C; border: 1px solid #E8743C; }
        .gs-hist-badge.todo { color: #6B7280; border: 1px solid #C4C9D2; }
        .gs-hist-info { padding: 10px 12px; }
        .gs-hist-name { font-size: 13px; font-weight: 600; color: var(--gemi-text-head); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; }
        .gs-hist-meta { font-size: 11px; color: var(--gemi-sub); display: flex; align-items: center; gap: 4px; }
        .gs-hist-btn { position: absolute; bottom: 8px; right: 8px; width: 28px; height: 28px; border-radius: 50%; border: none; background: #176C39; color: #fff; font-size: 11px; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .15s ease; cursor: pointer; }
        .gs-hist-card:hover .gs-hist-btn { opacity: 1; }
        @media (max-width: 640px){ .gs-hist-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; } }
        /* 出图/视频进度条 */
        .gs-progress-bar { margin-top: 10px; padding: 10px 12px; border: 1px solid #176C39; border-radius: 10px; background: linear-gradient(135deg, rgba(23,108,57,.04), rgba(23,108,57,.08)); }
        .gs-progress-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
        .gs-progress-title { font-size: 12px; font-weight: 600; color: #176C39; display: flex; align-items: center; gap: 5px; }
        .gs-progress-count { font-size: 11px; color: #6B7280; font-weight: 600; }
        .gs-progress-track { width: 100%; height: 6px; background: #E8F0EB; border-radius: 6px; overflow: hidden; margin-bottom: 8px; }
        .gs-progress-fill { height: 100%; background: linear-gradient(90deg, #176C39, #2E8B57); border-radius: 6px; transition: width .3s ease; }
        .gs-progress-actions { display: flex; gap: 6px; justify-content: flex-end; }
        .gs-hero { text-align: center; padding: 30px 16px; }
        .gs-hero b { font-size: 19px; color: var(--gemi-text-head); display: block; margin-bottom: 6px; }
        .gs-hero-sub { font-size: 12.5px; color: var(--gemi-sub); max-width: 560px; margin: 0 auto 14px; line-height: 1.6; }
        .gs-hero-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
        /* v20260902.27 待机 hero：AI商品套图 标题+副标题+5步工作流卡 */
        .gs-idle { text-align: center; padding: 36px 20px; }
        .gs-idle-title { font-size: 26px; font-weight: 800; color: #1F2937; letter-spacing: .5px; }
        .gs-idle-sub { font-size: 13px; color: #6B7280; margin-top: 10px; line-height: 1.6; }
        .gs-idle-card { margin: 26px auto 0; max-width: 860px; background: #F6F8F7; border: 1px solid #E7EDEA; border-radius: 16px; padding: 22px 26px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: center; }
        .gs-idle-demo { width: 220px; height: 220px; border-radius: 14px; background: linear-gradient(135deg,#fff,#F3F5F4); border: 1px solid #EAEFEC; display: flex; align-items: center; justify-content: center; color: #B7C2BD; font-size: 44px; }
        .gs-idle-demo-inner i { opacity: .8; }
        .gs-idle-arrow { color: #C4C9D2; font-size: 20px; }
        .gs-idle-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; flex: 1; min-width: 260px; }
        .gs-idle-step { position: relative; border: 1px solid #E6ECE8; background: #fff; border-radius: 14px; padding: 14px 16px; text-align: left; min-height: 100px; }
        .gs-idle-step.main { border-color: #D8DDE4; }
        .gs-idle-no { font-size: 12px; font-weight: 700; color: #9AA5A0; display: block; margin-bottom: 8px; }
        .gs-idle-lbl { font-size: 13.5px; font-weight: 600; color: #24313B; display: block; line-height: 1.4; }
        .gs-idle-tag { position: absolute; top: 12px; right: 12px; font-size: 9px; font-weight: 700; color: #fff; background: #E8743C; border-radius: 5px; padding: 1px 6px; }
        .gs-idle-hint { margin-top: 22px; font-size: 11.5px; color: var(--gemi-muted); }
        .gs-switch { display: flex; align-items: center; gap: 6px; font-size: 12px; }
        .gs-right-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
        .gs-right-bar .gemi-tabs { margin-bottom: 0; flex: 1; }
        .gs-hist-item { display: flex; align-items: center; gap: 12px; border: 1px solid var(--gemi-line); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; background: #fff; cursor: pointer; }
        .gs-hist-item:hover { border-color: var(--gemi-brand); background: #F4FAF6; }
        .gs-hist-name { flex: 1; min-width: 0; font-size: 13px; color: var(--gemi-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .gs-hist-st { font-size: 11px; color: var(--gemi-sub); white-space: nowrap; }
        .gs-queue { display: flex; flex-direction: column; gap: 6px; }
        .gs-queue-item { display: flex; align-items: center; gap: 8px; border: 1px solid var(--gemi-line); border-radius: 8px; padding: 8px 10px; background: #fff; }
        .gs-queue-item.done { opacity: .6; background: #F4FAF6; }
        .gs-queue-order { flex: 0 0 22px; text-align: center; font-weight: 700; font-size: 12px; color: #9AA5A0; }
        .gs-queue-name { flex: 1; min-width: 0; font-size: 12.5px; color: var(--gemi-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
        .gs-queue-name:hover { color: var(--gemi-brand); }
        .gs-queue-st { font-size: 11px; color: var(--gemi-sub); white-space: nowrap; }
        .gs-queue-acts { display: inline-flex; gap: 4px; }
        .gs-queue-btn { width: 20px; height: 20px; border: 1px solid var(--gemi-line); border-radius: 5px; background: #fff; cursor: pointer; font-size: 10px; color: var(--gemi-sub); line-height: 1; }
        .gs-queue-btn:hover { border-color: var(--gemi-brand); color: var(--gemi-brand); }
        .gs-queue-foot { margin-top: 10px; }
        .gs-queue-foot .gemi-btn { width: 100%; }
        .gs-batch-body { font-size: 12.5px; }
        .gs-batch-label { font-weight: 700; color: var(--gemi-text-head); margin: 12px 0 8px; }
        .gs-batch-types { display: flex; gap: 12px; flex-wrap: wrap; }
        .gs-batch-type { flex: 1; min-width: 240px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--gemi-line); border-radius: 12px; padding: 12px 14px; cursor: pointer; }
        .gs-batch-type.active { border-color: #2C6FC7; background: #F2F7FE; box-shadow: 0 0 0 1px #2C6FC7; }
        .gs-bt-ic { width: 34px; height: 34px; border-radius: 8px; background: #F0F4F1; display: flex; align-items: center; justify-content: center; color: var(--gemi-brand); font-size: 15px; }
        .gs-batch-type.active .gs-bt-ic { background: #2C6FC7; color: #fff; }
        .gs-batch-type b { font-size: 13.5px; color: var(--gemi-text-head); }
        .gs-bt-sub { font-size: 11.5px; color: var(--gemi-sub); margin-top: 3px; line-height: 1.5; }
        .gs-batch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
        .gs-batch-grid select { width: 100%; padding: 8px 10px; border: 1px solid var(--gemi-line); border-radius: 8px; font-size: 12.5px; color: var(--gemi-text); background: #fff; cursor: pointer; }
        .gs-batch-mods { display: flex; flex-wrap: wrap; gap: 8px; }
        .gs-tm { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--gemi-line); border-radius: 8px; padding: 7px 11px; font-size: 12px; color: #4A5160; cursor: pointer; background: #fff; }
        .gs-tm i { font-size: 11px; color: #C4C9D2; }
        .gs-tm.on { border-color: #2C6FC7; background: #EAF3FF; color: #2C6FC7; font-weight: 600; }
        .gs-tm.on i { color: #2C6FC7; }
        .gs-batch-head-act { font-size: 12px; color: #5B6B5F; cursor: pointer; margin-left: 14px; }
        .gs-batch-head-act:hover { color: #176C39; }
        .gs-batch-task { border: 1px solid var(--gemi-line); border-radius: 12px; padding: 12px 14px; margin-top: 12px; background: #fff; }
        .gs-batch-task-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
        .gs-batch-task-head b { font-size: 13.5px; color: var(--gemi-text-head); }
        .gs-batch-task-cols { display: flex; gap: 16px; flex-wrap: wrap; }
        .gs-batch-col { flex: 1; min-width: 260px; }
        .gs-batch-col-lab { font-size: 12.5px; color: var(--gemi-sub); margin-bottom: 6px; }
        .gs-batch-upload { border: 1px dashed #C9D4CE; border-radius: 10px; padding: 18px; text-align: center; cursor: pointer; background: #F8FAF9; }
        .gs-batch-upload:hover { border-color: #176C39; }
        .gs-batch-upload-inner { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; min-height: 70px; align-items: center; }
        .gs-batch-upload-inner img { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; border: 1px solid var(--gemi-line); }
        .gs-batch-upload-inner i { font-size: 28px; color: #B0BEC5; }
        .gs-batch-upload-tip { font-size: 11px; color: #7A8A94; margin-top: 8px; line-height: 1.6; }
        .gs-batch-more { font-size: 12px; color: #5B8DEF; margin-top: 8px; cursor: pointer; }
        .gs-batch-desc { width: 100%; box-sizing: border-box; min-height: 156px; border: 1px solid var(--gemi-line); border-radius: 10px; padding: 10px 12px; font-size: 12.5px; color: var(--gemi-text); resize: vertical; line-height: 1.7; }
        .gs-batch-task-head .gemi-btn { padding: 5px 14px; font-size: 12px; border-radius: 6px; cursor: pointer; }
        .gs-batch-task-head .gs-batch-del { border: 1px solid #E8743C; background: #fff; color: #E8743C; font-weight: 600; margin-right: 8px; }
        .gs-batch-task-head .gs-batch-del:hover { background: #FDF1EA; }
        .gs-batch-task-head .gs-batch-ok { background: var(--gemi-brand); border: none; color: #fff; font-weight: 600; padding: 6px 16px; border-radius: 6px; }
        .gs-batch-task-head .gs-batch-ok:hover { background: var(--gemi-brand-dark); }
        .gs-batch-addtask { width: 100%; box-sizing: border-box; padding: 10px 0; font-size: 13.5px; border: 1px solid #C4C9D2; background: #fff; color: #4A5160; cursor: pointer; }
        .gs-batch-addtask:hover { border-color: #176C39; color: #176C39; }
        .gs-batch-upload-inner { min-height: 70px; }
        .gs-batch-thumb { position: relative; display: inline-block; }
        .gs-batch-thumb img { width: 62px; height: 62px; object-fit: cover; border-radius: 6px; border: 1px solid var(--gemi-line); }
        .gs-batch-thumb-x { position: absolute; top: -6px; right: -6px; width: 17px; height: 17px; border-radius: 50%; background: rgba(30,38,34,.78); color: #fff; border: none; cursor: pointer; font-size: 10px; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0; }
        .gs-batch-thumb-x:hover { background: #C05555; }
        .gs-batch-add { display: inline-flex; width: 62px; height: 62px; border: 1px dashed #C9D4CE; border-radius: 6px; align-items: center; justify-content: center; color: #9AA5A0; cursor: pointer; font-size: 20px; }
        .gs-batch-add:hover { border-color: #176C39; color: #176C39; }
        .gs-hero-note { color: var(--gemi-muted); text-align: center; padding: 26px 12px; font-size: 12.5px; }
        /* v20260905.17 布局调整：≤1199px 不再把右栏堆叠到「一键生图」下面，改为左栏收窄、两栏始终并排（用户要求所有内容显示在左侧菜单栏右侧主区域内）；<900px 极窄屏（真手机）保留上下堆叠 */
        @media (max-width: 1199px){ .gs-left{width:206px;} .agent-hero-title{font-size:19px;} .agent-step{min-width:100px;} }
        @media (max-width: 899px){ .gs-left{width:100%; position:static; max-height:none; overflow:visible;} .gs-cols{display:block;} }
    

        /* 核价方案短标识：单 / 组 / AI，保持同高、同圆角、同视觉重量。 */
        .px-kind-chip {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            flex: 0 0 24px;
            width: 24px;
            height: 22px;
            padding: 0 !important;
            border-radius: 5px !important;
            color: #fff;
            font-size: 11px !important;
            line-height: 1;
            font-weight: 700 !important;
            box-sizing: border-box;
        }
        .px-kind-chip.single { background: #176c39; }
        .px-kind-chip.combo { background: #e8743c; }
        .px-kind-chip.ai { width: 28px; flex-basis: 28px; background: #7657d5; }
        /* 放在外部样式之后，避免各页面旧的局部规则再次覆盖统一标题。 */
        body #app .content .page-section .gemi-page-title {
            margin: 0 !important;
            font-family: inherit !important;
            font-size: 22px !important;
            line-height: 1.35 !important;
            font-weight: 600 !important;
            letter-spacing: -0.02em !important;
            color: #142D24 !important;
        }
        .gemi-material-table-title {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 2px 0 10px;
            color: #173F30;
            font-size: 17px;
            line-height: 1.3;
            font-weight: 700;
        }
        .gemi-material-table-title i { color: #177A45; font-size: 15px; }
        /* v20260825.106：信息/提示/出图/删除 四键等宽等高，总宽与「一键生成」一致 */
        #imgMgmtList .mat-action-row {
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            gap: 5px !important;
            width: 100% !important;
            align-items: stretch !important;
        }
        #imgMgmtList .mat-action-mini,
        #imgMgmtList .mat-action-mini.del {
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            height: 32px !important;
            padding: 0 4px !important;
            border-radius: 8px !important;
            gap: 3px !important;
            font-size: 11px !important;
            white-space: nowrap !important;
            overflow: hidden !important;
        }
        #imgMgmtList .mat-action-mini.del {
            color: #D23F3F !important;
            border: 1px solid #F3C2C2 !important;
            background: #FEF5F5 !important;
        }
        #imgMgmtList .mat-action-mini.del:hover { background: #FDE8E8 !important; border-color: #E8A5A5 !important; }
        @media (max-width: 768px) {
            body #app .content .page-section .gemi-page-title {
                font-size: 22px !important;
                line-height: 1.35 !important;
                font-weight: 600 !important;
            }
            .gemi-material-table-title { margin: 0 2px 9px; font-size: 16px; }
            #imgMgmtList .m-card > div:first-child > div:last-child {
                min-width: 0 !important;
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                gap: 5px !important;
                align-content: center !important;
            }
            #imgMgmtList .m-card .op-btn {
                width: 100% !important;
                min-width: 0 !important;
                height: 34px !important;
                padding: 0 5px !important;
                border-radius: 9px !important;
                font-size: 11px !important;
                line-height: 1 !important;
                white-space: nowrap !important;
            }
            #imgMgmtList .m-card .op-btn i { margin-right: 2px !important; }
            #imgMgmtList .m-card .mat-action-main { height: 36px !important; border-radius: 9px !important; }
        }
    

        @media (min-width: 769px) {
            #imgMgmtTableTitle { display: none !important; }
        }
        @media (max-width: 768px) {
            #imgMgmtTableTitle.gemi-material-table-title {
                display: grid;
                grid-template-columns: minmax(0, 1fr) 88px;
                align-items: center;
                gap: 10px;
                min-height: 43px;
                margin: 0 0 8px !important;
                padding: 0 14px;
                color: #FFFFFF;
                background: #176C39;
                border-radius: 11px 11px 7px 7px;
                font-size: 13px;
                line-height: 1;
                font-weight: 700;
                box-shadow: none;
            }
            #imgMgmtTableTitle .gemi-material-head-info { text-align: left; }
            #imgMgmtTableTitle .gemi-material-head-actions { text-align: center; }
            #imgMgmtList .m-card { margin-bottom: 10px !important; padding: 12px !important; }
            #imgMgmtList .m-card > div:first-child {
                display: grid !important;
                grid-template-columns: 60px minmax(0, 1fr) 88px !important;
                align-items: start !important;
                gap: 10px !important;
            }
            #imgMgmtList .m-card > div:first-child > .gemi-material-card-actions {
                display: flex !important;
                flex-direction: column !important;
                align-items: stretch !important;
                justify-content: flex-start !important;
                gap: 6px !important;
                width: 88px !important;
                min-width: 88px !important;
            }
            #imgMgmtList .gemi-material-card-actions > .op-btn {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 4px !important;
                width: 100% !important;
                height: 32px !important;
                min-width: 0 !important;
                padding: 0 5px !important;
                margin: 0 !important;
                border-radius: 8px !important;
                font-size: 11px !important;
                line-height: 1 !important;
                font-weight: 650 !important;
                white-space: nowrap !important;
            }
            #imgMgmtList .gemi-material-card-actions > .op-btn-orange {
                color: #D85C17 !important; background: #FFF7ED !important; border: 1px solid #FDBA74 !important;
            }
            #imgMgmtList .gemi-material-card-actions > .op-btn-purple {
                color: #6D3CEB !important; background: #F7F3FF !important; border: 1px solid #B69AF8 !important;
            }
            #imgMgmtList .gemi-material-card-actions > .op-btn-primary {
                color: #FFFFFF !important; background: #176C39 !important; border: 1px solid #176C39 !important;
            }
            #imgMgmtList .gemi-material-card-actions > .gemi-material-remove {
                color: #E53935 !important; background: #FFFFFF !important; border: 1px solid #EF4444 !important;
            }
        }
    

        @media (max-width: 768px) {
            html.gemi-mobile #selectionManageContent .shelf-card-actions {
                display: grid !important;
                grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1fr) !important;
                align-items: center !important;
                gap: 10px !important;
                width: 100% !important;
                margin-top: 12px !important;
                padding-top: 12px !important;
                border-top: 1px solid #E8ECE9 !important;
            }
            html.gemi-mobile #selectionManageContent .shelf-card-actions > label {
                display: flex !important;
                align-items: center !important;
                justify-content: flex-start !important;
                gap: 6px !important;
                width: 70px !important;
                min-width: 0 !important;
                min-height: 44px !important;
                padding: 0 2px !important;
                color: #555555 !important;
                background: transparent !important;
                border: 0 !important;
                border-radius: 0 !important;
                font-size: 13px !important;
                line-height: 1 !important;
                font-weight: 400 !important;
                white-space: nowrap !important;
            }
            html.gemi-mobile #selectionManageContent .shelf-card-actions > label input {
                width: 18px !important;
                height: 18px !important;
                flex: 0 0 18px !important;
                margin: 0 !important;
            }
            html.gemi-mobile #selectionManageContent .shelf-card-actions > button {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 6px !important;
                width: 100% !important;
                min-width: 0 !important;
                min-height: 44px !important;
                height: 44px !important;
                padding: 0 8px !important;
                margin: 0 !important;
                border-radius: 10px !important;
                font-size: 14px !important;
                line-height: 1 !important;
                font-weight: 600 !important;
                white-space: nowrap !important;
                box-shadow: none !important;
            }
            html.gemi-mobile #selectionManageContent .shelf-card-actions > button:first-of-type:not(:disabled) {
                color: #FFFFFF !important;
                background: #176C39 !important;
                border: 1px solid #176C39 !important;
            }
            html.gemi-mobile #selectionManageContent .shelf-card-actions > button:last-child {
                color: #E53935 !important;
                background: #FFFFFF !important;
                border: 1px solid #E53935 !important;
            }
        }
    

        @media (max-width: 768px) {
            #page-imagemgmt { overflow-x: hidden !important; }
            #page-imagemgmt #imgMgmtEmpty::before {
                left: 14px !important;
                right: 14px !important;
                width: auto !important;
                border-radius: 0 0 999px 999px !important;
            }
            #page-imagemgmt #imgMgmtEmpty {
                padding: 38px 18px 28px !important;
                border-radius: 10px !important;
            }
            #page-imagemgmt #imgMgmtEmpty .gemi-empty-actions {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 8px !important;
                width: 100% !important;
            }
            #page-imagemgmt #imgMgmtEmpty .gemi-empty-actions button {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 42px !important;
                padding: 0 8px !important;
                white-space: nowrap !important;
            }
            #imgMgmtList > .m-card { overflow: visible !important; }
            #imgMgmtList .m-card > div:first-child > div:nth-child(2) {
                min-width: 0 !important;
                overflow: hidden !important;
            }
            #imgMgmtList .m-card > div:first-child > div:nth-child(2) > div {
                max-width: 100% !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }
            #imgMgmtList .gemi-material-card-actions i {
                flex: 0 0 auto !important;
                width: 12px !important;
                margin: 0 !important;
                text-align: center !important;
            }
            #imgMgmtList .op-more-menu .op-divider:last-child { display: none !important; }
            #imgMgmtList .m-card > div:last-child {
                gap: 8px !important;
                margin-top: 10px !important;
            }
            #imgMgmtList .m-card > div:last-child .op-more-wrap > .op-btn {
                width: 38px !important;
                min-width: 38px !important;
                height: 36px !important;
                padding: 0 !important;
                border-radius: 9px !important;
            }
        }
        @media (max-width: 360px) {
            #imgMgmtTableTitle.gemi-material-table-title {
                grid-template-columns: minmax(0, 1fr) 80px !important;
                padding: 0 11px !important;
            }
            #imgMgmtList .m-card { padding: 10px !important; }
            #imgMgmtList .m-card > div:first-child {
                grid-template-columns: 54px minmax(0, 1fr) 80px !important;
                gap: 8px !important;
            }
            #imgMgmtList .m-card > div:first-child > div:first-child img,
            #imgMgmtList .m-card > div:first-child > div:first-child > div:first-child {
                width: 54px !important;
                height: 54px !important;
            }
            #imgMgmtList .m-card > div:first-child > .gemi-material-card-actions {
                width: 80px !important;
                min-width: 80px !important;
                gap: 5px !important;
            }
            #imgMgmtList .gemi-material-card-actions > .op-btn {
                height: 31px !important;
                font-size: 10.5px !important;
            }
        }
    

        @media (max-width: 768px) {
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtTableTitle {
                grid-template-columns: minmax(0, 1fr) 96px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child {
                grid-template-columns: 60px minmax(0, 1fr) 96px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child > .gemi-material-card-actions:last-child {
                display: flex !important;
                grid-template-columns: none !important;
                grid-auto-flow: row !important;
                flex-direction: column !important;
                align-items: stretch !important;
                justify-content: flex-start !important;
                gap: 6px !important;
                width: 96px !important;
                min-width: 96px !important;
                max-width: 96px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .gemi-material-card-actions:last-child > button.op-btn {
                display: flex !important;
                flex: 0 0 34px !important;
                grid-column: auto !important;
                width: 96px !important;
                min-width: 96px !important;
                max-width: 96px !important;
                height: 34px !important;
                min-height: 34px !important;
                padding: 0 7px !important;
                margin: 0 !important;
                overflow: hidden !important;
                text-overflow: clip !important;
                white-space: nowrap !important;
                writing-mode: horizontal-tb !important;
            }
        }
        @media (max-width: 360px) {
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtTableTitle {
                grid-template-columns: minmax(0, 1fr) 88px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child {
                grid-template-columns: 52px minmax(0, 1fr) 88px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child > .gemi-material-card-actions:last-child {
                width: 88px !important;
                min-width: 88px !important;
                max-width: 88px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .gemi-material-card-actions:last-child > button.op-btn {
                width: 88px !important;
                min-width: 88px !important;
                max-width: 88px !important;
                padding: 0 5px !important;
            }
        }
    

        .px-save-label-mobile { display: none; }
        #pxSaveAllPlansBtn { align-items: center; justify-content: center; gap: 5px; }
        @media (max-width: 768px) {
            html.gemi-mobile #page-pricing > div:first-child .gemi-responsive-more {
                display: none !important;
            }
            html.gemi-mobile #page-pricing > div:first-child .px-save-label-desktop {
                display: none !important;
            }
            html.gemi-mobile #page-pricing > div:first-child .px-save-label-mobile {
                display: inline !important;
            }
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn {
                display: inline-flex !important;
                flex: 0 0 auto !important;
                width: auto !important;
                min-width: 82px !important;
                height: 46px !important;
                padding: 0 16px !important;
                margin: 0 !important;
                border-radius: 10px !important;
                font-size: 14px !important;
                line-height: 1 !important;
                font-weight: 650 !important;
                white-space: nowrap !important;
            }
            html.gemi-mobile #page-pricing > div:first-child .gemi-responsive-actions {
                flex: 0 0 auto !important;
                gap: 0 !important;
            }
        }
    

        @media (max-width: 768px) {
            /* 商品卡片：图片下方信息整体居中，三个操作只显示图标。 */
            html.gemi-mobile #productList .gemi-product-grid-content {
                text-align: center !important;
            }
            html.gemi-mobile #productList .gemi-product-grid-content > div:not(.gemi-mobile-product-actions) {
                text-align: center !important;
                margin-left: auto !important;
                margin-right: auto !important;
            }
            html.gemi-mobile #productList .gemi-mobile-action-label {
                display: none !important;
            }
            html.gemi-mobile #productList .gemi-mobile-product-actions {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 8px !important;
            }
            html.gemi-mobile #productList .gemi-mobile-product-action {
                width: 100% !important;
                min-width: 0 !important;
                height: 42px !important;
                min-height: 42px !important;
                padding: 0 !important;
                border-radius: 10px !important;
            }
            html.gemi-mobile #productList .gemi-mobile-product-action i {
                margin: 0 !important;
                font-size: 15px !important;
            }

            /* 核价、素材页头：隐藏数量和省略号；核价保存只保留图标。 */
            html.gemi-mobile #page-pricing #pxQueueCount,
            html.gemi-mobile #page-imagemgmt #imgMgmtCount,
            html.gemi-mobile #page-imagemgmt > div:first-child .gemi-responsive-more {
                display: none !important;
            }
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn {
                width: 46px !important;
                min-width: 46px !important;
                height: 46px !important;
                padding: 0 !important;
                border-radius: 10px !important;
            }
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn .px-save-label-mobile,
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn .px-save-label-desktop {
                display: none !important;
            }
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn i {
                margin: 0 !important;
                font-size: 15px !important;
            }

            /* AI/聊天弹窗：右侧实际有两个按钮，按内容分配宽度，避免关闭键溢出。 */
            html.gemi-mobile #imPanel.im-panel {
                width: calc(100vw - 24px) !important;
                max-width: calc(100vw - 24px) !important;
                right: 12px !important;
                left: auto !important;
                box-sizing: border-box !important;
            }
            html.gemi-mobile #imPanel .im-panel-head {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) auto !important;
                gap: 8px !important;
                padding: 12px 14px !important;
                overflow: hidden !important;
            }
            html.gemi-mobile #imPanel .im-panel-brand {
                width: auto !important;
                min-width: 0 !important;
                overflow: hidden !important;
            }
            html.gemi-mobile #imPanel .im-panel-actions {
                display: flex !important;
                flex: 0 0 auto !important;
                align-items: center !important;
                justify-content: flex-end !important;
                gap: 6px !important;
                min-width: 0 !important;
            }
            html.gemi-mobile #imPanel .im-panel-actions > button {
                flex: 0 0 34px !important;
                width: 34px !important;
                min-width: 34px !important;
                height: 34px !important;
                margin: 0 !important;
            }
            html.gemi-mobile #imPanel .im-tabs,
            html.gemi-mobile #imPanel .im-subtabs {
                min-width: 0 !important;
                overflow: hidden !important;
            }
            html.gemi-mobile #imPanel .im-tabs > *,
            html.gemi-mobile #imPanel .im-subtabs > * {
                min-width: 0 !important;
            }
        }

        @media (min-width: 701px) {
            #imPanel.im-panel.im-chat-expanded {
                min-width: 380px !important;
                min-height: 420px !important;
                max-width: calc(100vw - 24px) !important;
                max-height: calc(100vh - 24px) !important;
                transition: none !important;
            }
            #imPanel.im-panel.im-chat-expanded .im-panel-head {
                cursor: move !important;
                user-select: none !important;
            }
            #imPanel .gemi-chat-resize-handle {
                display: none;
            }
            #imPanel.im-chat-expanded .gemi-chat-resize-handle {
                position: absolute;
                right: 2px;
                bottom: 2px;
                z-index: 30;
                display: block;
                width: 22px;
                height: 22px;
                cursor: nwse-resize;
                border-radius: 0 0 14px 0;
                background: linear-gradient(135deg, transparent 0 48%, #AAB8B0 49% 56%, transparent 57% 66%, #6E8277 67% 74%, transparent 75%);
                touch-action: none;
            }
        }
    

        @media (max-width: 768px) {
            html.gemi-mobile #page-products .product-header-row {
                flex-wrap: nowrap !important;
                gap: 8px !important;
            }
            html.gemi-mobile #page-products .product-header-row > h2 {
                flex: 1 1 auto !important;
                min-width: 0 !important;
            }
            html.gemi-mobile #page-products .product-actions-bar {
                display: flex !important;
                flex: 0 0 auto !important;
                flex-wrap: nowrap !important;
                gap: 8px !important;
            }
            html.gemi-mobile #page-products #addProductBtn,
            html.gemi-mobile #page-products #mMoreBtn,
            html.gemi-mobile #page-products #refreshProductsBtn {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                flex: 0 0 44px !important;
                order: 1;
                width: 44px !important;
                min-width: 44px !important;
                height: 44px !important;
                min-height: 44px !important;
                padding: 0 !important;
                margin: 0 !important;
                border-radius: 11px !important;
                font-size: 0 !important;
                line-height: 1 !important;
            }
            html.gemi-mobile #page-products #addProductBtn { order: 1 !important; }
            html.gemi-mobile #page-products #mMoreBtn { order: 2 !important; }
            html.gemi-mobile #page-products #refreshProductsBtn { order: 3 !important; }
            html.gemi-mobile #page-products .product-more-wrap {
                order: 2 !important;
                width: 44px !important;
                height: 44px !important;
            }
            html.gemi-mobile #page-products #addProductBtn .add-product-label {
                display: none !important;
            }
            html.gemi-mobile #page-products #addProductBtn i,
            html.gemi-mobile #page-products #mMoreBtn i,
            html.gemi-mobile #page-products #refreshProductsBtn i {
                margin: 0 !important;
                font-size: 16px !important;
            }
            html.gemi-mobile #page-products #addProductBtn i { font-size: 18px !important; }
        }
        @media (max-width: 380px) {
            html.gemi-mobile #page-products .product-actions-bar { gap: 6px !important; }
            html.gemi-mobile #page-products #addProductBtn,
            html.gemi-mobile #page-products #mMoreBtn,
            html.gemi-mobile #page-products #refreshProductsBtn,
            html.gemi-mobile #page-products .product-more-wrap {
                width: 40px !important;
                min-width: 40px !important;
                flex-basis: 40px !important;
                height: 40px !important;
                min-height: 40px !important;
            }
        }
    

        :root {
            --gemi-page-title-size: 22px;
            --gemi-table-head: #177A45;
            --gemi-table-head-text: #FFFFFF;
            --gemi-table-text: #263B31;
            --gemi-table-muted: #7B8B83;
            --gemi-table-line: #E4EBE6;
            --gemi-table-row-alt: #FAFCFB;
        }
        .page-section > h2,
        .page-section > div:first-child > h2,
        .page-section .gemi-page-title {
            margin: 0 !important;
            color: #102C21 !important;
            font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif !important;
            font-size: var(--gemi-page-title-size) !important;
            font-weight: 600 !important;
            line-height: 1.35 !important;
            letter-spacing: -0.02em !important;
            text-align: left !important;
        }
        .page-section > h2 span,
        .page-section > div:first-child > h2 span,
        .page-section .gemi-page-title span {
            letter-spacing: 0 !important;
        }
        .page-section .table-wrap {
            width: 100% !important;
            border: 1px solid var(--gemi-table-line) !important;
            border-radius: 10px !important;
            background: #fff !important;
            box-shadow: 0 5px 18px rgba(16, 44, 33, 0.045) !important;
        }
        .page-section table {
            width: 100% !important;
            border-collapse: separate !important;
            border-spacing: 0 !important;
            color: var(--gemi-table-text) !important;
            font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif !important;
            font-size: 13px !important;
        }
        .page-section table thead,
        .page-section table thead tr,
        .page-section table thead th {
            background: var(--gemi-table-head) !important;
            background-image: none !important;
            color: var(--gemi-table-head-text) !important;
        }
        .page-section table thead th {
            height: 44px !important;
            padding: 10px 12px !important;
            border: 0 !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            line-height: 1.35 !important;
            text-align: center !important;
            vertical-align: middle !important;
            white-space: normal !important;
        }
        .page-section table thead th:first-child { border-radius: 13px 0 0 0 !important; }
        .page-section table thead th:last-child { border-radius: 0 13px 0 0 !important; }
        .page-section table tbody td {
            padding: 12px !important;
            border: 0 !important;
            border-bottom: 1px solid var(--gemi-table-line) !important;
            color: var(--gemi-table-text) !important;
            font-size: 13px !important;
            line-height: 1.5 !important;
            vertical-align: middle !important;
        }
        .page-section table tbody tr:nth-child(even) td { background: var(--gemi-table-row-alt) !important; }
        .page-section table tbody tr:last-child td { border-bottom: 0 !important; }
        .page-section table tbody tr:hover td { background: #F1F8F4 !important; }
        .page-section h3,
        #imgMgmtTableTitle.gemi-material-table-title {
            color: #18372A !important;
            font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif !important;
            font-size: 18px !important;
            font-weight: 700 !important;
            line-height: 1.35 !important;
        }

        @media (max-width: 768px) {
            :root { --gemi-page-title-size: 22px; }
            html.gemi-mobile .page-section > h2,
            html.gemi-mobile .page-section > div:first-child > h2,
            html.gemi-mobile .page-section .gemi-page-title {
                min-width: 0 !important;
                white-space: nowrap !important;
            }
            html.gemi-mobile .page-section .table-wrap {
                overflow-x: visible !important;
                overflow-y: visible !important;
                border-radius: 12px !important;
            }
            html.gemi-mobile .page-section table {
                table-layout: fixed !important;
                font-size: 12px !important;
            }
            html.gemi-mobile .page-section table thead th {
                height: 46px !important;
                padding: 8px 6px !important;
                font-size: 12px !important;
                overflow-wrap: anywhere !important;
            }
            html.gemi-mobile .page-section table tbody td {
                padding: 10px 7px !important;
                font-size: 12px !important;
                overflow-wrap: anywhere !important;
            }
            html.gemi-mobile .page-section .m-card {
                border: 1px solid var(--gemi-table-line) !important;
                border-radius: 10px !important;
                background: #fff !important;
                box-shadow: 0 4px 14px rgba(16, 44, 33, 0.045) !important;
                color: var(--gemi-table-text) !important;
            }
            html.gemi-mobile .page-section .m-card-actions {
                border-top-color: var(--gemi-table-line) !important;
            }
            html.gemi-mobile .page-section h3,
            html.gemi-mobile #imgMgmtTableTitle.gemi-material-table-title {
                font-size: 16px !important;
            }
        }
    

        @media (max-width: 768px) {
            html.gemi-mobile .page-section > div:first-child .gemi-responsive-actions > button,
            html.gemi-mobile .page-section > div:first-child .gemi-responsive-more-toggle,
            html.gemi-mobile #page-products .product-actions-bar > button:not(.desktop-only),
            html.gemi-mobile #page-products .product-more-wrap > button,
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                flex: 0 0 44px !important;
                width: 44px !important;
                min-width: 44px !important;
                max-width: 44px !important;
                height: 44px !important;
                min-height: 44px !important;
                max-height: 44px !important;
                padding: 0 !important;
                margin: 0 !important;
                border: 1px solid #D9E2DC !important;
                border-radius: 11px !important;
                background: #FFFFFF !important;
                color: #65736C !important;
                box-shadow: 0 1px 2px rgba(16, 44, 33, 0.035) !important;
                font-size: 0 !important;
                line-height: 1 !important;
            }
            html.gemi-mobile .page-section > div:first-child .gemi-responsive-actions > button i,
            html.gemi-mobile .page-section > div:first-child .gemi-responsive-more-toggle i,
            html.gemi-mobile #page-products .product-actions-bar > button:not(.desktop-only) i,
            html.gemi-mobile #page-products .product-more-wrap > button i,
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn i {
                margin: 0 !important;
                color: inherit !important;
                font-size: 15px !important;
            }
            html.gemi-mobile #page-products #addProductBtn,
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn {
                color: #177A45 !important;
            }
            html.gemi-mobile #page-products #addProductBtn i { font-size: 18px !important; }
            html.gemi-mobile .page-section > div:first-child .gemi-responsive-actions,
            html.gemi-mobile #page-products .product-actions-bar {
                align-items: center !important;
                gap: 8px !important;
            }

            /* 商品卡片：图片角上的旧橙色加入键隐藏，加入选品迁到原编辑键位置。 */
            html.gemi-mobile #productList .gemi-product-overlay-add {
                display: none !important;
            }
            html.gemi-mobile #productList .gemi-mobile-product-action.is-mobile-add {
                border: 1px solid #177A45 !important;
                background: #FFFFFF !important;
                color: #177A45 !important;
            }

            /* 底部导航角标：固定正圆 18px，flex 消除数字基线偏移，大小不随位数变化。 */
            html.gemi-mobile .mobile-bottom-nav .nav-item .nav-badge {
                display: none !important;
                align-items: center !important;
                justify-content: center !important;
                min-width: 18px !important;
                width: 18px !important;
                max-width: 18px !important;
                height: 18px !important;
                min-height: 18px !important;
                max-height: 18px !important;
                padding: 0 !important;
                border: 2px solid #FAFDFB !important;
                border-radius: 50% !important;
                box-sizing: content-box !important;
                font-family: Arial, sans-serif !important;
                font-size: 10px !important;
                font-weight: 700 !important;
                line-height: 1 !important;
                text-align: center !important;
                font-variant-numeric: tabular-nums !important;
                white-space: nowrap !important;
                overflow: hidden !important;
            }
            html.gemi-mobile .mobile-bottom-nav .nav-item .nav-badge.show {
                display: inline-flex !important;
            }
        }
        @media (max-width: 380px) {
            html.gemi-mobile .page-section > div:first-child .gemi-responsive-actions > button,
            html.gemi-mobile .page-section > div:first-child .gemi-responsive-more-toggle,
            html.gemi-mobile #page-products .product-actions-bar > button:not(.desktop-only),
            html.gemi-mobile #page-products .product-more-wrap > button,
            html.gemi-mobile #page-pricing #pxSaveAllPlansBtn {
                flex-basis: 40px !important;
                width: 40px !important;
                min-width: 40px !important;
                max-width: 40px !important;
                height: 40px !important;
                min-height: 40px !important;
                max-height: 40px !important;
            }
        }
    

        @media (max-width: 768px) {
            html.gemi-mobile #page-imagemgmt #imgMgmtTableTitle.gemi-material-table-title,
            html.gemi-mobile #page-imagemgmt #imgMgmtTableTitle.gemi-material-table-title > div,
            html.gemi-mobile #page-imagemgmt #imgMgmtTableTitle.gemi-material-table-title i {
                color: #FFFFFF !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtTableTitle {
                grid-template-columns: minmax(0, 1fr) 52px !important;
                min-height: 54px !important;
                padding: 0 14px !important;
                align-items: center !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child {
                grid-template-columns: 60px minmax(0, 1fr) 52px !important;
                gap: 9px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child > .gemi-material-card-actions:last-child {
                display: flex !important;
                flex-direction: column !important;
                align-items: center !important;
                gap: 7px !important;
                width: 52px !important;
                min-width: 52px !important;
                max-width: 52px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .gemi-material-card-actions:last-child > button.op-btn {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                flex: 0 0 42px !important;
                width: 42px !important;
                min-width: 42px !important;
                max-width: 42px !important;
                height: 42px !important;
                min-height: 42px !important;
                max-height: 42px !important;
                padding: 0 !important;
                margin: 0 !important;
                border-radius: 10px !important;
                font-size: 0 !important;
                line-height: 1 !important;
                overflow: hidden !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .gemi-material-card-actions:last-child > button.op-btn i {
                margin: 0 !important;
                font-size: 14px !important;
                line-height: 1 !important;
            }
        }
        @media (max-width: 360px) {
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtTableTitle {
                grid-template-columns: minmax(0, 1fr) 46px !important;
                padding: 0 11px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child {
                grid-template-columns: 52px minmax(0, 1fr) 46px !important;
                gap: 7px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .m-card > div:first-child > .gemi-material-card-actions:last-child {
                width: 46px !important;
                min-width: 46px !important;
                max-width: 46px !important;
            }
            html.gemi-mobile body #app #page-imagemgmt #imgMgmtList .gemi-material-card-actions:last-child > button.op-btn {
                flex-basis: 40px !important;
                width: 40px !important;
                min-width: 40px !important;
                max-width: 40px !important;
                height: 40px !important;
                min-height: 40px !important;
                max-height: 40px !important;
            }
        }
    

        /* ===== v20260824.94 核价管理·商品信息表格布局自适应修复 ===== */
        /* ① 表格容器：窄屏内部横向滚动（el-table 风格），不撑破页面布局 */
        #pxDesktopQueue {
            width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        /* ② 表格：width:100% 继承父容器 + min-width 保底；宽屏铺满、窄屏容器内滚动 */
        #page-pricing #pxPricingTable {
            width: 100% !important;
            min-width: 960px;
            margin-bottom: 16px;
        }
        /* ③ 表头背景兜底：任何窗口宽度下 9 列表头完整铺满表格可视宽度（深绿原色） */
        #page-pricing #pxPricingTable thead,
        #page-pricing #pxPricingTable thead tr,
        #page-pricing #pxPricingTable thead th {
            background: #176C39 !important;
            background-color: #176C39 !important;
            background-image: none !important;
            color: #fff !important;
            box-shadow: none !important;
            filter: none !important;
        }
        /* ④ 操作列：固定最小宽度保底 + 内部按钮自适应排布（不写死 px 宽度） */
        #page-pricing #pxPricingTable thead th:last-child { min-width: 96px; }
        #page-pricing #pxPricingTable tbody tr > td:last-child {
            min-width: 96px;
            white-space: nowrap;
            vertical-align: middle;
        }
        #page-pricing #pxPricingTable tbody tr > td:last-child button {
            display: inline-block;
            margin: 2px auto;
        }
        /* ⑤ 顶部全局参数条：100% 自适应父容器 */
        #page-pricing .px-params-bar { width: 100%; box-sizing: border-box; }

        #page-pricing .px-activity-discount {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0;
            margin: 0 auto 6px;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            color: #B85B16;
            white-space: nowrap;
            box-sizing: border-box;
            overflow: visible;
        }
        #page-pricing .px-activity-discount input {
            width: 70px;
            height: 26px;
            padding: 0 4px;
            border: 1.5px solid #FF6F00;
            border-radius: 4px;
            outline: 0;
            background: #FFFFFF;
            color: #FF6F00;
            font-size: 12px;
            font-weight: 600;
            line-height: 26px;
            text-align: center;
            appearance: auto;
            -moz-appearance: auto;
            box-sizing: border-box;
        }
        #page-pricing .px-activity-discount input:focus {
            border-color: #FF6F00;
            box-shadow: 0 0 0 2px rgba(255,111,0,.10);
        }
        #page-pricing .px-activity-discount .px-fold-unit {
            margin: 0 0 0 3px;
            color: #FF6F00;
            font-size: 11px;
            font-weight: 700;
        }
        @media (max-width: 768px) {
            html.gemi-mobile #page-pricing .px-activity-row {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) auto !important;
                gap: 5px 10px !important;
                align-items: center !important;
            }
            html.gemi-mobile #page-pricing .px-activity-row .px-activity-discount {
                grid-column: 1 / -1 !important;
                width: auto !important;
                max-width: none !important;
                margin: 0 auto 3px !important;
                padding: 0 !important;
            }
            html.gemi-mobile #page-pricing .px-activity-discount input {
                width: 70px !important;
                height: 26px !important;
                font-size: 12px !important;
            }
            html.gemi-mobile #page-pricing .px-activity-discount .px-fold-unit {
                font-size: 11px !important;
            }
        }
    

        /* ===== v20260825.120：成果审核页重构，对齐 AI 商品图生成复核设计 ===== */
        #page-matconfirm {
            --arv-gap: 14px;
            --arv-radius: 12px;
            --arv-bg: #fff;
            --arv-muted: #98a3ad;
            --arv-green: #1B4332;
            --arv-green-light: #176C39;
            --arv-orange: #E8743C;
            --arv-red: #e53935;
            --arv-border: #e8ecf1;
            --arv-shadow: 0 2px 8px rgba(0,0,0,0.04);
        }

        /* 顶部：返回 + 标题/步骤条 + 按钮组 */
        #page-matconfirm .arv-top {
            display: flex; align-items: center; justify-content: space-between;
            gap: 16px; margin-bottom: 14px; flex-wrap: nowrap;
        }
        #page-matconfirm .arv-top-center {
            display: flex; align-items: center; gap: 20px; flex: 1; min-width: 0;
        }
        #page-matconfirm .arv-top-center h2 {
            font-size: 20px; font-weight: 700; color: var(--arv-green); margin: 0;
            display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
        }
        #page-matconfirm .arv-top-badge {
            font-size: 11px; font-weight: 500; color: var(--arv-green-light);
            background: #e8f5e9; border-radius: 999px; padding: 2px 10px;
        }
        #page-matconfirm .arv-top-actions {
            display: flex; gap: 8px; align-items: center; flex-shrink: 0;
        }
        #page-matconfirm .arv-top-btn {
            display: inline-flex; align-items: center; gap: 6px;
            padding: 8px 16px; border: 1px solid var(--arv-border); border-radius: 8px;
            background: #fff; color: #444; cursor: pointer; font-size: 13px;
            white-space: nowrap; font-weight: 500;
        }
        #page-matconfirm .arv-top-btn:hover { border-color: var(--arv-green-light); color: var(--arv-green-light); }
        #page-matconfirm .arv-more-wrap { position: relative; }
        #page-matconfirm .arv-more-menu {
            position: absolute; top: calc(100% + 4px); right: 0; background: #fff;
            border: 1px solid var(--arv-border); border-radius: 10px;
            box-shadow: 0 8px 24px rgba(0,0,0,.12); min-width: 170px; padding: 6px; z-index: 30;
        }
        #page-matconfirm .arv-more-item {
            padding: 8px 12px; font-size: 13px; color: #333; cursor: pointer;
            border-radius: 6px; display: flex; align-items: center; gap: 8px;
        }
        #page-matconfirm .arv-more-item:hover { background: #f0f7f2; color: var(--arv-green-light); }
        #page-matconfirm .arv-more-item.danger { color: var(--arv-red); }
        #page-matconfirm .arv-more-item.danger:hover { background: #ffebee; }

        /* v20260825.138：统计条模块（统计卡片 + 任务列表按钮，替代原任务切换 chips） */
        /* v20260825.142：统计卡宽度与下方商品头部卡同宽（grid 对齐 workspace），内容居中 */
        #page-matconfirm .arv-statsbar {
            display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--arv-gap);
            margin-bottom: 14px;
        }
        #page-matconfirm .arv-statsbar-cards { display: flex; gap: 12px; flex: 1; min-width: 0; }
        #page-matconfirm .arv-sb-card {
            flex: 1; min-width: 0; max-width: 220px;
            background: #fff; border: 1px solid var(--arv-border); border-radius: 10px;
            padding: 12px 16px; box-shadow: var(--arv-shadow);
            text-align: center; transition: border-color .15s, box-shadow .15s;
        }
        #page-matconfirm .arv-sb-card:hover { border-color: var(--arv-green-light); }
        #page-matconfirm .arv-sb-num { font-size: 22px; font-weight: 700; color: var(--arv-green); line-height: 1.2; }
        #page-matconfirm .arv-sb-num.orange { color: var(--arv-orange); }
        #page-matconfirm .arv-sb-num.green { color: var(--arv-green-light); }
        #page-matconfirm .arv-sb-num.red { color: var(--arv-red); }
        #page-matconfirm .arv-sb-label { font-size: 12px; color: var(--arv-muted); margin-top: 4px; }
        #page-matconfirm .arv-statsbar-actions { display: flex; align-items: center; }

        /* v20260825.138：任务列表弹窗（两层交互，深绿主题） */
        #page-matconfirm .arv-tm-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(27, 67, 50, .45); z-index: 9000;
            display: flex; justify-content: center; align-items: flex-start;
            padding: 48px 16px; overflow-y: auto;
        }
        #page-matconfirm .arv-tm-dialog {
            background: #fff; border-radius: 14px; width: 100%; max-width: 880px;
            box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
            display: flex; flex-direction: column; max-height: calc(100vh - 96px);
        }
        #page-matconfirm .arv-tm-head {
            display: flex; align-items: center; justify-content: space-between;
            padding: 16px 20px; border-bottom: 1px solid var(--arv-border);
        }
        #page-matconfirm .arv-tm-title {
            font-size: 16px; font-weight: 700; color: var(--arv-green);
            display: flex; align-items: center; gap: 8px;
        }
        #page-matconfirm .arv-tm-close {
            background: none; border: none; font-size: 18px; color: #999;
            cursor: pointer; padding: 4px 8px; border-radius: 6px; line-height: 1;
        }
        #page-matconfirm .arv-tm-close:hover { color: var(--arv-red); background: #ffebee; }
        #page-matconfirm .arv-tm-tools {
            display: flex; gap: 10px; padding: 12px 20px 0; align-items: center; flex-wrap: wrap;
        }
        #page-matconfirm .arv-tm-search {
            flex: 1; min-width: 200px; padding: 8px 12px;
            border: 1.5px solid var(--arv-border); border-radius: 8px;
            font-size: 13px; font-family: inherit; outline: none;
        }
        #page-matconfirm .arv-tm-search:focus { border-color: var(--arv-green-light); }
        #page-matconfirm .arv-tm-select {
            padding: 8px 12px; border: 1.5px solid var(--arv-border); border-radius: 8px;
            font-size: 13px; font-family: inherit; background: #fff; cursor: pointer;
        }
        #page-matconfirm .arv-tm-body { padding: 12px 20px 8px; overflow: auto; }
        #page-matconfirm .arv-tm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
        #page-matconfirm .arv-tm-table th {
            text-align: left; padding: 10px 12px; background: #f0f7f2;
            color: var(--arv-green); font-size: 12px; font-weight: 600; white-space: nowrap;
        }
        #page-matconfirm .arv-tm-table td {
            padding: 10px 12px; border-bottom: 1px solid #f0f3f5; color: #444; vertical-align: middle;
        }
        #page-matconfirm .arv-tm-table tbody tr:hover td { background: #fafcfb; }
        #page-matconfirm .arv-tm-foot {
            display: flex; align-items: center; justify-content: space-between;
            padding: 10px 20px 16px; flex-wrap: wrap; gap: 10px;
        }
        #page-matconfirm .arv-tm-pager { display: flex; gap: 6px; align-items: center; }
        #page-matconfirm .arv-tm-pagebtn {
            min-width: 30px; height: 30px; border: 1px solid var(--arv-border);
            background: #fff; border-radius: 6px; cursor: pointer; font-size: 12.5px;
            color: #444; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px;
        }
        #page-matconfirm .arv-tm-pagebtn:hover:not(:disabled) { border-color: var(--arv-green-light); color: var(--arv-green-light); }
        #page-matconfirm .arv-tm-pagebtn.active { background: var(--arv-green); border-color: var(--arv-green); color: #fff; }
        #page-matconfirm .arv-tm-pagebtn:disabled { opacity: .45; cursor: not-allowed; }
        #page-matconfirm .arv-tm-tag {
            display: inline-flex; align-items: center; gap: 5px; padding: 2px 10px;
            border-radius: 999px; font-size: 11.5px; font-weight: 500; white-space: nowrap;
        }
        #page-matconfirm .arv-tm-tag.pending { background: #fff3e0; color: #e65100; }
        #page-matconfirm .arv-tm-tag.approved { background: #e8f5e9; color: var(--arv-green-light); }
        #page-matconfirm .arv-tm-tag.failed { background: #ffebee; color: var(--arv-red); }
        #page-matconfirm .arv-tm-btn {
            display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px;
            border-radius: 8px; border: 1px solid var(--arv-green-light);
            background: #fff; color: var(--arv-green-light); font-size: 12.5px;
            cursor: pointer; white-space: nowrap; font-family: inherit;
        }
        #page-matconfirm .arv-tm-btn:hover { background: #f0f7f2; }
        #page-matconfirm .arv-tm-btn.primary { background: var(--arv-green); border-color: var(--arv-green); color: #fff; }
        #page-matconfirm .arv-tm-btn.primary:hover { background: var(--arv-green-light); border-color: var(--arv-green-light); }
        #page-matconfirm .arv-tm-sub-back {
            display: inline-flex; align-items: center; gap: 6px; color: var(--arv-green-light);
            font-size: 13px; cursor: pointer; padding: 4px 8px; border-radius: 6px;
        }
        #page-matconfirm .arv-tm-sub-back:hover { background: #f0f7f2; }
        #page-matconfirm .arv-tm-crumb { font-size: 12px; color: var(--arv-muted); }

        /* 空状态 */
        #page-matconfirm .arv-empty-state { background: #fff; border-radius: 14px; padding: 52px 20px; text-align: center; box-shadow: var(--arv-shadow); }
        #page-matconfirm .arv-empty-state > i { font-size: 46px; color: #c3ccd4; margin-bottom: 16px; }
        #page-matconfirm .arv-es-title { font-size: 16px; font-weight: 700; color: var(--arv-green); margin-bottom: 8px; }
        #page-matconfirm .arv-es-desc { font-size: 13px; color: #8b9990; margin-bottom: 20px; }
        #page-matconfirm .arv-es-actions .arv-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border: none; border-radius: 8px; background: var(--arv-green); color: #fff; font-size: 13px; cursor: pointer; }

        /* 工作区：主内容 + 右侧面板 */
        #page-matconfirm .arv-workspace {
            display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--arv-gap);
            align-items: start;
        }
        #page-matconfirm .arv-main { min-width: 0; display: flex; flex-direction: column; gap: var(--arv-gap); }
        #page-matconfirm .arv-side-panel {
            background: var(--arv-bg); border-radius: var(--arv-radius);
            box-shadow: var(--arv-shadow); min-width: 0;
            position: sticky; top: 12px;
        }

        /* 头部商品信息卡（v20260825.136：尺寸规范——缩略图 160×160 / 统计卡 100×75 / 评分卡 120×160，文字区自适应剩余空间） */
        #page-matconfirm .arv-header-card {
            background: var(--arv-bg); border-radius: var(--arv-radius);
            box-shadow: var(--arv-shadow); padding: 14px;
            display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; gap: 16px;
            align-items: start;
        }
        #page-matconfirm .arv-product-media {
            width: 160px; height: 160px; border-radius: 10px; overflow: hidden;
            background: #f5f5f5; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
        }
        #page-matconfirm .arv-product-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
        #page-matconfirm .arv-product-media .placeholder { color: #ccc; font-size: 20px; }
        #page-matconfirm .arv-product-info { min-width: 0; }
        #page-matconfirm .arv-product-name {
            font-size: 15px; font-weight: 700; color: var(--arv-green); margin-bottom: 6px;
            display: flex; align-items: center; gap: 8px; line-height: 1.35;
        }
        #page-matconfirm .arv-product-meta { display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: #555; line-height: 1.5; }
        #page-matconfirm .arv-product-meta .row { display: flex; gap: 6px; }
        #page-matconfirm .arv-product-meta .k { color: var(--arv-muted); flex-shrink: 0; }
        #page-matconfirm .arv-product-meta .v { color: #333; word-break: break-word; }
        #page-matconfirm .arv-product-meta .cat { color: var(--arv-muted); }
        #page-matconfirm .arv-header-stats {
            display: flex; gap: 8px; align-items: flex-start;
        }
        /* v20260825.136：st-grid 固定格子 100×75（2 行 2 列），容器按内容收缩 */
        #page-matconfirm .arv-header-stats .st-grid {
            flex: 0 0 auto; display: grid;
            grid-template-columns: repeat(2, 100px); grid-template-rows: repeat(2, 75px); gap: 8px; min-width: 0;
        }
        #page-matconfirm .arv-header-stats .st-score-wrap {
            flex: 0 0 auto; display: flex; min-width: 0;
        }
        #page-matconfirm .arv-header-stats .st-card {
            background: #f7faf8; border-radius: 8px; padding: 4px 6px;
            display: flex; flex-direction: column; gap: 2px; min-width: 0;
        }
        /* v20260825.136：四张指标卡固定 100×75，文字水平居中 + 三行垂直均分 */
        #page-matconfirm .arv-header-stats .st-grid .st-card {
            width: 100px; height: 75px;
            display: grid; grid-template-rows: repeat(3, 1fr); gap: 0;
            align-items: center; text-align: center; justify-items: center;
        }
        #page-matconfirm .arv-header-stats .st-grid .st-card .st-sub { margin-top: 0; }
        #page-matconfirm .arv-header-stats .st-score-wrap .st-card.score { flex: none; background: #f0f7f2; }
        /* v20260825.136：评分卡固定 120×160，与统计卡区域顶部垂直对齐，文字水平居中 + 三段垂直均分 */
        #page-matconfirm .arv-header-stats .st-card.score {
            width: 120px; height: 160px;
            display: grid; grid-template-rows: repeat(3, 1fr); gap: 0;
            align-items: center; justify-items: center; text-align: center;
        }
        #page-matconfirm .arv-header-stats .st-card.score .score-mid {
            display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
        }
        /* v20260825.122：评分卡内部版式——标题 / 大分数 / 状态行 / 底部提示（v20260825.134 缩小字号） */
        #page-matconfirm .arv-header-stats .st-card.score .score-big { font-size: 22px; font-weight: 800; line-height: 1.1; letter-spacing: -0.5px; }
        #page-matconfirm .arv-header-stats .st-card.score .score-big.ok { color: var(--arv-green); }
        #page-matconfirm .arv-header-stats .st-card.score .score-big.bad { color: var(--arv-red); }
        #page-matconfirm .arv-header-stats .st-card.score .score-big.idle { color: var(--arv-muted); }
        #page-matconfirm .arv-header-stats .st-card.score .score-unit { font-size: 11px; font-weight: 600; margin-left: 2px; }
        #page-matconfirm .arv-header-stats .st-card.score .score-status {
            display: flex; align-items: center; justify-content: center; gap: 4px;
            font-size: 11px; font-weight: 600; margin-top: 0;
        }
        #page-matconfirm .arv-header-stats .st-card.score .score-status.pass { color: var(--arv-green-light); }
        #page-matconfirm .arv-header-stats .st-card.score .score-status.fail { color: var(--arv-red); }
        #page-matconfirm .arv-header-stats .st-card.score .score-status.idle { color: var(--arv-muted); }
        #page-matconfirm .arv-header-stats .st-card.score .score-hint { margin-top: 0; padding-top: 0; font-size: 10px; color: var(--arv-muted); }
        #page-matconfirm .arv-header-stats .st-label { font-size: 10px; color: var(--arv-muted); }
        #page-matconfirm .arv-header-stats .st-value { font-size: 15px; font-weight: 700; color: var(--arv-green); line-height: 1.15; }
        #page-matconfirm .arv-header-stats .st-value.ok { color: var(--arv-green-light); }
        #page-matconfirm .arv-header-stats .st-value.pending { color: var(--arv-orange); }
        #page-matconfirm .arv-header-stats .st-value.bad { color: var(--arv-red); }
        #page-matconfirm .arv-header-stats .st-sub { font-size: 10px; color: var(--arv-muted); margin-top: 0; }
        #page-matconfirm .arv-header-stats .st-pass {
            display: inline-flex; align-items: center; gap: 4px;
            font-size: 12px; font-weight: 600; color: var(--arv-green-light); margin-top: 4px;
        }

        /* 区块卡片 */
        #page-matconfirm .arv-section {
            background: var(--arv-bg); border-radius: var(--arv-radius);
            box-shadow: var(--arv-shadow); padding: 16px;
        }
        #page-matconfirm .arv-section-head {
            display: flex; align-items: center; justify-content: space-between; gap: 12px;
            margin-bottom: 14px;
        }
        #page-matconfirm .arv-section-tools { display: flex; gap: 8px; align-items: center; }

        /* 图片分类 tabs */
        #page-matconfirm .arv-img-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
        #page-matconfirm .arv-img-tab {
            padding: 6px 14px; border-radius: 999px; background: #f5f6f7;
            font-size: 13px; color: #555; cursor: pointer; border: 1px solid transparent;
            display: inline-flex; align-items: center; gap: 6px;
        }
        #page-matconfirm .arv-img-tab:hover { background: #eceff1; }
        #page-matconfirm .arv-img-tab.active { background: var(--arv-green); color: #fff; }
        #page-matconfirm .arv-img-tab .count { font-size: 11px; opacity: .85; }
        #page-matconfirm .arv-img-tab .badge { width: 7px; height: 7px; border-radius: 50%; background: var(--arv-red); }

        /* 下拉、按钮 */
        #page-matconfirm .arv-select {
            padding: 7px 12px; border: 1px solid var(--arv-border); border-radius: 8px;
            background: #fff; color: #444; font-size: 13px; font-family: inherit; cursor: pointer;
        }
        #page-matconfirm .arv-btn {
            display: inline-flex; align-items: center; gap: 6px;
            padding: 8px 16px; border-radius: 8px; border: 1px solid var(--arv-border);
            background: #fff; color: #444; cursor: pointer; font-size: 13px; font-weight: 500;
        }
        #page-matconfirm .arv-btn:hover { border-color: var(--arv-green-light); color: var(--arv-green-light); }
        #page-matconfirm .arv-btn.primary { background: var(--arv-green); color: #fff; border-color: var(--arv-green); }
        #page-matconfirm .arv-btn.primary:hover { background: #2d5f48; border-color: #2d5f48; }
        #page-matconfirm .arv-btn.danger { background: #fff; color: var(--arv-red); border-color: #f0c4c4; }
        #page-matconfirm .arv-btn.danger:hover { background: #ffebee; }
        #page-matconfirm .arv-btn:disabled { opacity: .6; cursor: not-allowed; }

        /* v20260825.138：预览区三栏——左竖缩略 110px / 中大图 400×400 / 右复核文案卡（≥1200px） */
        #page-matconfirm .arv-feature-image {
            display: grid; grid-template-columns: 110px 400px minmax(0, 1fr);
            gap: 16px; margin-bottom: 18px; align-items: start;
        }
        /* v20260825.140：取消 solo 变体——竖缩略列常驻，三栏布局恒定（图≤1 也显示左列） */
        /* 左侧竖向缩略列表：固定宽 110px，图片垂直排布，过多时容器内上下滚动 */
        #page-matconfirm .arv-vthumbs {
            display: flex; flex-direction: column; gap: 8px;
            width: 110px; max-height: 400px; overflow-y: auto;
            padding: 2px; scrollbar-width: thin; min-width: 0;
        }
        #page-matconfirm .arv-vthumbs::-webkit-scrollbar { width: 5px; }
        #page-matconfirm .arv-vthumbs::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; }
        #page-matconfirm .arv-vthumbs .arv-thumb-item { flex: 0 0 auto; width: 94px; height: 94px; }
        #page-matconfirm .arv-big-image {
            border-radius: 10px; overflow: hidden; background: #fafafa;
            border: 1px solid #f0f0f0; position: relative;
            width: 100%; aspect-ratio: 1 / 1; height: auto;
            display: flex; align-items: center; justify-content: center;
        }
        #page-matconfirm .arv-big-image img { width: 100%; height: 100%; object-fit: contain; display: block; }
        #page-matconfirm .arv-big-image .img-tag {
            position: absolute; top: 10px; left: 10px;
            background: rgba(27,67,50,0.85); color: #fff; font-size: 11px;
            padding: 3px 10px; border-radius: 4px;
        }
        #page-matconfirm .arv-check-result {
            display: flex; flex-direction: column; gap: 14px; min-width: 0;
        }
        #page-matconfirm .arv-check-block {
            background: #f7faf8; border-radius: 10px; padding: 14px;
        }
        #page-matconfirm .arv-check-block h4 {
            font-size: 13px; font-weight: 700; color: var(--arv-green); margin: 0 0 10px;
            display: flex; align-items: center; gap: 6px;
        }
        #page-matconfirm .arv-check-block h4 .pass { color: var(--arv-green-light); }
        #page-matconfirm .arv-check-row {
            display: flex; align-items: center; justify-content: space-between; gap: 8px;
            padding: 6px 0; font-size: 12px; color: #444;
            border-bottom: 1px dashed #e8ecf1;
        }
        #page-matconfirm .arv-check-row:last-child { border-bottom: none; }
        #page-matconfirm .arv-check-row .left { display: flex; align-items: center; gap: 6px; }
        #page-matconfirm .arv-check-row .left i { color: var(--arv-green-light); font-size: 11px; }
        #page-matconfirm .arv-check-row .right { color: var(--arv-green-light); font-weight: 500; white-space: nowrap; }
        #page-matconfirm .arv-check-row .right.fail { color: var(--arv-red); }
        #page-matconfirm .arv-check-row .right.warn { color: var(--arv-orange); }

        /* v20260825.134：状态文字可点击链接样式（颜色继承原值，仅加下划线+手型） */
        #page-matconfirm .arv-issue-link {
            text-decoration: underline; text-underline-offset: 2px; cursor: pointer;
        }
        #page-matconfirm .arv-issue-link:hover { text-decoration-thickness: 2px; opacity: .85; }
        #page-matconfirm .arv-issue-link:active { opacity: .7; }
        /* v20260825.134：问题定位时大图区高亮脉冲 */
        #page-matconfirm .arv-big-wrap.arv-flash .arv-big-image { animation: arvFlashRing 1.8s ease; }
        @keyframes arvFlashRing {
            0%, 100% { box-shadow: 0 0 0 0 rgba(23, 108, 57, 0); }
            20%, 60% { box-shadow: 0 0 0 4px rgba(23, 108, 57, .38); }
        }
        /* v20260825.134：文案补全编辑模态（复用 gemi-dialog 组件样式，多行 textarea） */
        #arvCopyEditDialog .gemi-dialog-prompt { display: block; margin-top: 14px; }
        #arvCopyEditTextarea {
            width: 100%; min-height: 150px; max-height: 46vh; resize: vertical;
            border: 1.5px solid #DCE4DF; border-radius: 10px; padding: 10px 12px;
            font: inherit; font-size: 13px; line-height: 1.6; color: #25332B; outline: none;
            background: #fff; transition: border-color .18s, box-shadow .18s; box-sizing: border-box;
            display: block;
        }
        #arvCopyEditTextarea:focus { border-color: #176C39; box-shadow: 0 0 0 3px rgba(23, 108, 57, .1); }
        #arvCopyEditCount { margin-top: 6px; font-size: 11px; color: #98a3ad; text-align: right; }

        /* v20260825.135：预览卡固定宽 400px = 大图区 400×400 等比缩放居中 + 下方缩略条 400×80（v137：横条仅 <1200px 降级流式时显示，大屏由左竖缩略列接手） */
        #page-matconfirm .arv-preview-card {
            display: flex; flex-direction: column; gap: 10px; min-width: 0;
            width: 400px; max-width: 100%;
        }
        /* v20260825.140：桌面端隐藏底部横向缩略条——缩略图职责完全交给左侧竖列（<1200px 由媒体查询恢复横条降级） */
        #page-matconfirm .arv-thumb-strip { display: none; }
        #page-matconfirm .arv-big-wrap { position: relative; min-width: 0; }
        #page-matconfirm .arv-big-arrow {
            position: absolute; top: 50%; transform: translateY(-50%);
            width: 32px; height: 32px; border-radius: 50%;
            border: 1px solid rgba(255,255,255,0.7); background: rgba(255,255,255,0.92);
            color: #444; cursor: pointer; display: flex; align-items: center; justify-content: center;
            font-size: 13px; box-shadow: 0 2px 8px rgba(0,0,0,0.12); z-index: 2;
        }
        #page-matconfirm .arv-big-arrow.left { left: 10px; }
        #page-matconfirm .arv-big-arrow.right { right: 10px; }
        #page-matconfirm .arv-big-arrow:hover { background: #fff; color: var(--arv-green); border-color: var(--arv-green-light); }
        #page-matconfirm .arv-big-arrow:disabled { opacity: .35; cursor: not-allowed; }
        /* v20260825.140：display 交由上方 none / <1200px 媒体查询 flex 控制（原此处 flex 覆盖 none，致横条在桌面端误显示） */
        #page-matconfirm .arv-thumb-strip {
            align-items: center; gap: 8px;
            width: 100%; height: 80px;
        }
        #page-matconfirm .arv-thumb-list {
            flex: 1; display: flex; gap: 8px; overflow-x: auto; scroll-behavior: smooth;
            padding: 2px; scrollbar-width: thin; min-width: 0;
        }
        #page-matconfirm .arv-thumb-list::-webkit-scrollbar { height: 5px; }
        #page-matconfirm .arv-thumb-list::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; }
        #page-matconfirm .arv-thumb-item {
            flex: 0 0 72px; width: 72px; height: 72px; border-radius: 8px; overflow: hidden;
            border: 2px solid #e8ecf1; background: #f5f5f5; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: border-color .15s, box-shadow .15s;
        }
        #page-matconfirm .arv-thumb-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
        #page-matconfirm .arv-thumb-item:hover { border-color: var(--arv-green-light); }
        #page-matconfirm .arv-thumb-item.active {
            border-color: var(--arv-green); box-shadow: 0 0 0 2px rgba(23,108,57,0.18);
        }
        #page-matconfirm .arv-roll-arrow {
            width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--arv-border);
            background: #fff; color: #555; cursor: pointer; display: flex; align-items: center; justify-content: center;
            flex-shrink: 0; font-size: 12px;
        }
        #page-matconfirm .arv-roll-arrow:hover { border-color: var(--arv-green-light); color: var(--arv-green-light); }
        #page-matconfirm .arv-roll-arrow:disabled { opacity: .4; cursor: not-allowed; }

        /* 右侧面板三 Tab */
        #page-matconfirm .arv-side-tabs {
            display: flex; border-bottom: 1px solid var(--arv-border);
        }
        #page-matconfirm .arv-side-tab {
            flex: 1; text-align: center; padding: 12px 4px; font-size: 13px; color: #555;
            cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px;
            font-weight: 500;
        }
        #page-matconfirm .arv-side-tab:hover { color: var(--arv-green); }
        #page-matconfirm .arv-side-tab.active { color: var(--arv-green); border-bottom-color: var(--arv-green); }
        #page-matconfirm .arv-side-body { padding: 16px; }
        #page-matconfirm .arv-side-section { margin-bottom: 16px; }
        #page-matconfirm .arv-side-section:last-child { margin-bottom: 0; }
        #page-matconfirm .arv-side-section h4 {
            font-size: 12px; font-weight: 700; color: var(--arv-green); margin: 0 0 10px;
            display: flex; align-items: center; gap: 6px;
        }
        #page-matconfirm .arv-side-product {
            display: flex; gap: 10px; align-items: flex-start; margin-bottom: 14px;
        }
        #page-matconfirm .arv-side-product img { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; flex-shrink: 0; background: #f5f5f5; }
        #page-matconfirm .arv-side-product .name { font-size: 13px; font-weight: 700; color: #333; line-height: 1.4; }
        #page-matconfirm .arv-side-product .sku { font-size: 11px; color: var(--arv-muted); margin-top: 2px; }
        #page-matconfirm .arv-side-kv { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border-bottom: 1px dashed #f0f2f4; font-size: 12px; }
        #page-matconfirm .arv-side-kv:last-child { border-bottom: none; }
        #page-matconfirm .arv-side-kv .k { color: var(--arv-muted); }
        #page-matconfirm .arv-side-kv .v { color: #333; text-align: right; word-break: break-all; }
        #page-matconfirm .arv-combo-table { width: 100%; border-collapse: collapse; font-size: 12px; }
        #page-matconfirm .arv-combo-table th,
        #page-matconfirm .arv-combo-table td { padding: 10px 8px !important; text-align: left !important; border-bottom: 1px solid #f0f2f4 !important; color: #555 !important; background: #fff !important; }
        /* v20260825.146：组件表格表头取消绿色圆角——浅灰背景+深色文字+无圆角，覆盖全站 table th 绿色规则 */
        #page-matconfirm .arv-combo-table th,
        #page-matconfirm .arv-combo-table thead th,
        #page-matconfirm .arv-combo-table thead tr th {
            background: #f7f9fa !important;
            background-color: #f7f9fa !important;
            background-image: none !important;
            color: #333 !important;
            font-weight: 600 !important;
            font-size: 12px !important;
            border-radius: 0 !important;
            border-color: #e8ecef !important;
            box-shadow: none !important;
        }
        #page-matconfirm .arv-combo-table th *,
        #page-matconfirm .arv-combo-table thead th *,
        #page-matconfirm .arv-combo-table thead tr th * {
            color: #333 !important;
            background-image: none !important;
        }
        #page-matconfirm .arv-combo-table th.idx,
        #page-matconfirm .arv-combo-table td.idx,
        #page-matconfirm .arv-combo-table th.qty,
        #page-matconfirm .arv-combo-table td.qty,
        #page-matconfirm .arv-combo-table th.status,
        #page-matconfirm .arv-combo-table td.status { text-align: center !important; }
        #page-matconfirm .arv-combo-table td.product .name { color: #333; font-weight: 500; }
        #page-matconfirm .arv-combo-table td.product .sku { color: #999; font-size: 11px; margin-top: 2px; }
        /* v20260825.143：组件商品列复用头部信息卡片内容——商品名称+类型+货号+尺寸/重量+库存 */
        #page-matconfirm .arv-combo-table td.product .ci-meta { font-size: 11px; color: #999; margin-top: 2px; line-height: 1.5; }
        #page-matconfirm .arv-combo-table td.product .ci-meta b { color: #666; font-weight: 500; }
        #page-matconfirm .arv-combo-table .arv-status-icon { font-size: 16px; }
        #page-matconfirm .arv-combo-table .arv-status-icon.ok { color: var(--arv-green); }
        #page-matconfirm .arv-combo-table .arv-status-icon.warn { color: var(--arv-red); }
        #page-matconfirm .arv-combo-title { color: #333; font-size: 11px !important; }
        #page-matconfirm .arv-combo-summary { display: flex; align-items: center; gap: 6px; font-size: 12px; margin-top: 10px; }
        #page-matconfirm .arv-combo-summary.ok { color: var(--arv-green); }
        #page-matconfirm .arv-combo-summary.warn { color: var(--arv-red); }
        #page-matconfirm .arv-record-item { display: flex; gap: 8px; padding: 8px 0; border-bottom: 1px dashed #f0f2f4; font-size: 12px; color: #555; }
        #page-matconfirm .arv-record-item:last-child { border-bottom: none; }
        #page-matconfirm .arv-record-item .dot { width: 7px; height: 7px; border-radius: 50%; background: #cfd8d3; flex-shrink: 0; margin-top: 5px; }
        #page-matconfirm .arv-record-item.ok .dot { background: var(--arv-green-light); }
        #page-matconfirm .arv-record-item.fail .dot { background: var(--arv-red); }
        #page-matconfirm .arv-copy-preview {
            background: #f8f9fa; border-radius: 8px; padding: 10px; font-size: 12px; line-height: 1.7;
            color: #333; white-space: pre-wrap; word-break: break-word; margin-bottom: 10px;
        }
        #page-matconfirm .arv-advice-box {
            background: #fffbe8; border: 1px solid #f5e6a8; border-radius: 8px;
            padding: 10px 12px; font-size: 12px; color: #6b5d2e; line-height: 1.7;
        }

        /* v20260825.134：右侧面板底部复核操作区（三 Tab 下方，返回重做 / 通过并上架） */
        #page-matconfirm .arv-side-footer {
            border-top: 1px solid var(--arv-border); padding: 14px 16px; background: #fff;
        }
        #page-matconfirm .arv-footer-btns { display: flex; gap: 10px; }
        #page-matconfirm .arv-footer-btns .arv-btn { flex: 1; justify-content: center; }

        /* 状态标签 */
        #page-matconfirm .arv-status-tag {
            display: inline-flex; align-items: center; gap: 4px;
            font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px;
        }
        #page-matconfirm .arv-status-tag.pass { background: #e8f5e9; color: var(--arv-green-light); }
        #page-matconfirm .arv-status-tag.fail { background: #ffebee; color: var(--arv-red); }
        #page-matconfirm .arv-status-tag.pending { background: #fff3e0; color: var(--arv-orange); }

        /* 响应式 */
        @media (max-width: 1200px) {
            #page-matconfirm .arv-workspace { grid-template-columns: 1fr; }
            #page-matconfirm .arv-side-panel { position: static; }
            #page-matconfirm .arv-header-card { grid-template-columns: 160px minmax(0, 1fr); }
            #page-matconfirm .arv-header-stats { grid-column: 1 / -1; }
            /* v20260825.142：窄屏统计条也降级单列 */
            #page-matconfirm .arv-statsbar { grid-template-columns: 1fr; }
            /* v20260825.138：<1200px 流式降级——取消三栏；大图最上（含底部横向缩略条），复核文案卡放图片下方 */
            #page-matconfirm .arv-feature-image { grid-template-columns: 1fr; }
            #page-matconfirm .arv-vthumbs { display: none; }
            #page-matconfirm .arv-thumb-strip { display: flex; }
            #page-matconfirm .arv-preview-card { width: 100%; }
        }
        @media (max-width: 900px) {
            #page-matconfirm .arv-top { flex-wrap: wrap; }
            #page-matconfirm .arv-top-center { min-width: 100%; }
            #page-matconfirm .arv-header-card { grid-template-columns: 1fr; }
            #page-matconfirm .arv-product-media { width: 160px; height: 160px; }
            #page-matconfirm .arv-header-stats { flex-direction: column; }
            #page-matconfirm .arv-header-stats .st-grid,
            #page-matconfirm .arv-header-stats .st-score-wrap { flex: none; }
            #page-matconfirm .arv-section-head { flex-direction: column; align-items: flex-start; }
        }
        /* v20260825.135：窄屏卡片与大图随容器等比缩放（宽度 100%、正方形比例保持） */
        @media (max-width: 760px) {
            #page-matconfirm .arv-preview-card { width: 100%; }
        }

        /* ===== v20260825.146：合并页（商品管理/图片管理）页头 + 子tab切换条 ===== */
        .pm-page-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
        .pm-subtabs { display: flex; gap: 4px; background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 4px; box-shadow: 0 1px 3px rgba(27,67,50,.06); }
        .pm-subtab { display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border: none; border-radius: 8px; background: transparent; color: #5f6f66; font-size: 13px; font-weight: 500; cursor: pointer; transition: all .15s ease; white-space: nowrap; }
        .pm-subtab:hover { color: #1B4332; background: #F3F6F4; }
        .pm-subtab.active { background: #176C39; color: #fff; font-weight: 600; box-shadow: 0 2px 6px rgba(23,108,57,.22); }
        .pm-subtab .pm-subtab-badge { display: none; min-width: 16px; height: 16px; line-height: 16px; padding: 0 4px; margin-left: 2px; border-radius: 8px; background: #e53935; color: #fff; font-size: 11px; font-weight: 600; text-align: center; }
        .pm-subtab .pm-subtab-badge.show { display: inline-block; }
        @media (max-width: 768px) {
            .pm-page-header { flex-direction: column; align-items: stretch; }
            .pm-subtabs { width: 100%; }
            .pm-subtab { flex: 1; justify-content: center; padding: 8px 6px; font-size: 12px; }
        }
        /* ===== v20260826.154：内容生产总控（阶段3.1）——工具栏/筛选/表格/抽屉 ===== */
        #page-prodctrl .prod-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
        .prod-chips { display: flex; gap: 6px; background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 4px; box-shadow: 0 1px 3px rgba(27,67,50,.06); flex-wrap: wrap; }
        .prod-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border: none; border-radius: 8px; background: transparent; color: #5f6f66; font-size: 13px; font-weight: 500; cursor: pointer; transition: all .15s ease; white-space: nowrap; }
        .prod-chip:hover { color: #1B4332; background: #F3F6F4; }
        .prod-chip.active { background: #176C39; color: #fff; font-weight: 600; box-shadow: 0 2px 6px rgba(23,108,57,.22); }
        .prod-chip-count { display: inline-block; min-width: 18px; padding: 0 5px; border-radius: 9px; background: rgba(0,0,0,.08); color: inherit; font-size: 11px; font-weight: 600; text-align: center; line-height: 16px; }
        .prod-chip.active .prod-chip-count { background: rgba(255,255,255,.25); }
        /* 「需要处理」计数：克制异常样式（橙色文字，不加红色角标） */
        .prod-chip-count-needs { background: rgba(232,116,60,.14) !important; color: #E8743C !important; }
        .prod-chip.active .prod-chip-count-needs { background: rgba(255,255,255,.25) !important; color: #fff !important; }
        .prod-search-wrap { position: relative; flex: 1; min-width: 200px; max-width: 320px; }
        .prod-search-wrap i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #9ba8a0; font-size: 13px; pointer-events: none; }
        .prod-search { width: 100%; padding: 8px 12px 8px 34px; border: 1px solid #E4EBE6; border-radius: 8px; background: #fff; font-size: 13px; color: #333; outline: none; box-shadow: 0 1px 3px rgba(27,67,50,.05); }
        .prod-search:focus { border-color: #176C39; }
        /* 桌面表格（v20260826.155：th/td 共享同一套列宽与 padding 规则，严格列对齐）
           注意：必须用 #page-prodctrl ID 前缀 + !important 压制 v147 全局表格规则
           （.content .page-section table th{padding:0 12px!important} / table thead th{text-align:center!important} /
            table:not(...)td{border:none!important} 等），否则 padding/对齐会被全局规则覆盖 */
        .prod-table-wrap { background: #fff; border: 1px solid #E4EBE6; border-radius: 12px; overflow: auto; box-shadow: 0 1px 3px rgba(27,67,50,.05); }
        .prod-table { width: 100%; min-width: 740px; border-collapse: collapse; table-layout: fixed; }
        #page-prodctrl .prod-table th { padding: 0 14px !important; height: 44px !important; text-align: left !important; vertical-align: middle !important; font-size: 13px !important; font-weight: 600 !important; background: var(--gemi-table-head, #177A45) !important; background-image: none !important; color: var(--gemi-table-head-text, #FFFFFF) !important; border-bottom: 1px solid #E4EBE6 !important; white-space: nowrap; }
        #page-prodctrl .prod-table td { padding: 14px 14px !important; border-top: none !important; border-left: none !important; border-right: none !important; border-bottom: 1px solid #EEF2EF !important; vertical-align: middle !important; font-size: 13px !important; text-align: left !important; }
        /* 商品列左对齐，其余六列（素材准备/AI生产策划/内容生成/AI质检/状态/操作）统一居中 */
        #page-prodctrl .prod-table th:nth-child(n+2), #page-prodctrl .prod-table td:nth-child(n+2) { text-align: center !important; }
        #page-prodctrl .prod-table tbody tr:hover { background: #FAFCFB; }
        #page-prodctrl .prod-table tbody tr:last-child td { border-bottom: none !important; }
        /* 商品列：缩略图+商品文字作为一个整体左对齐 */
        .prod-prod-cell { display: flex; gap: 10px; align-items: center; min-width: 0; text-align: left; }
        .prod-thumb { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; border: 1px solid #E4EBE6; flex-shrink: 0; background: #fff; }
        .prod-thumb-empty { display: flex; align-items: center; justify-content: center; background: #F3F6F4; color: #b0bdb5; font-size: 16px; }
        .prod-prod-info { min-width: 0; flex: 1; text-align: left; }
        .prod-prod-name { font-weight: 600; color: #1F2937; font-size: 13px; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .prod-qty { color: #E8743C; font-weight: 600; }
        .prod-prod-sku { font-size: 11px; color: #8b9990; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .prod-combo-tag { display: inline-block; font-size: 10px; background: #ff6f00; color: #fff; padding: 1px 6px; border-radius: 3px; margin-right: 4px; vertical-align: 1px; }
        .prod-combo-detail { margin-top: 4px; font-size: 11px; color: #888; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-align: left; }
        .prod-combo-item { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        /* 四阶段状态：主行与副文字沿同一中心轴（列内垂直居中） */
        .prod-stage { font-size: 12px; line-height: 1.5; white-space: nowrap; display: flex; flex-direction: column; align-items: center; justify-content: center; }
        .prod-stage .prod-stage-sub { font-size: 10.5px; color: #98A2B3; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
        .st-waiting { color: #98A2B3; }
        .st-running { color: #1565c0; font-weight: 600; }
        .st-done { color: #176C39; font-weight: 600; }
        .st-needs { color: #E8743C; font-weight: 600; }
        /* 主状态 chip：胶囊中心与表头中心一致 */
        .prod-status-chip { display: inline-flex; align-items: center; justify-content: center; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 600; white-space: nowrap; }
        .ms-wait { background: #F2F4F3; color: #667085; }
        .ms-run { background: #E3EDFB; color: #1565c0; }
        .ms-needs { background: #FDEEE3; color: #E8743C; }
        .ms-done { background: #E4F2E9; color: #176C39; }
        /* 操作列（v20260826.157）：按钮组 .action-buttons 容器统一排列；td 用 flex 居中——9% 列内容区(约79px)小于按钮组(约108px)，text-align 的 inline 溢出只向右会致中心偏移，flex 居中溢出对称，保证 表头中心=按钮组中心=每行中心 */
        .prod-op-cell { display: flex; align-items: center; justify-content: center; }
        .action-buttons { display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; }
        .prod-btn-main { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; border: 1px solid #176C39; border-radius: 6px; background: #fff; color: #176C39; cursor: pointer; font-size: 12px; font-weight: 500; }
        .prod-btn-main:hover { background: #176C39; color: #fff; }
        .prod-btn-more { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #E4EBE6; border-radius: 6px; background: #fff; color: #98A2B3; cursor: pointer; font-size: 12px; }
        /* 桌面表格内压制 min.css「table td button{height:30px!important;padding:4px 10px!important}」：ID 前缀同为 !important 下特异性更高 */
        #page-prodctrl .prod-table td .prod-btn-main { height: 32px !important; min-height: 32px !important; padding: 0 10px !important; flex-shrink: 0; }
        #page-prodctrl .prod-table td .prod-btn-more { width: 32px !important; min-width: 32px !important; height: 32px !important; min-height: 32px !important; padding: 0 !important; flex-shrink: 0; }
        .prod-menu-item { display: flex; align-items: center; gap: 8px; padding: 7px 12px; font-size: 12.5px; color: #e53935; cursor: pointer; border-radius: 6px; white-space: nowrap; }
        .prod-menu-item:hover { background: #ffebee; }
        /* 详情抽屉（z-index 8500：低于 gemiDialog 15000 与任务弹窗 9000，弹窗可叠于抽屉之上） */
        /* v20260826.155：抽屉在主内容区内左对齐——左边界=侧栏右边界（JS 打开时按实测宽度设置 overlay left），宽度约主内容区 78%；遮罩只盖主内容区不盖侧栏 */
        .prod-drawer-overlay { position: fixed; top: 0; bottom: 0; left: 200px; right: 0; background: rgba(15,32,24,.42); z-index: 8500; display: flex; }
        /* F-1.2.4：toast 提到抽屉之上（61000 > 抽屉 8500 / 刷新 60000 / 登录 50000）——修复抽屉内报错 toast 被遮挡导致「按钮点击无反应」的假象 */
        #toastMsg { z-index: 61000 !important; }
        .prod-drawer { flex: 0 0 80%; max-width: 1400px; height: 100%; background: #F6F8F7; box-shadow: 8px 0 32px rgba(0,0,0,.18); display: flex; flex-direction: column; animation: prodDrawerIn .22s ease; }
        @keyframes prodDrawerIn { from { transform: translateX(-20px); opacity: 0; } to { transform: none; opacity: 1; } }
        .prod-drawer-body { flex: 1; overflow-y: auto; padding: 0 0 40px; }
        .prod-drawer-head { position: sticky; top: 0; background: #fff; padding: 18px 24px 16px; border-bottom: 1px solid #E4EBE6; z-index: 5; }
        .prod-dh-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
        .prod-dh-name { font-size: 18px; font-weight: 700; color: #1B4332; line-height: 1.35; }
        .prod-drawer-close { border: none; background: #F2F4F3; color: #667085; width: 32px; height: 32px; border-radius: 8px; cursor: pointer; font-size: 14px; flex-shrink: 0; }
        .prod-drawer-close:hover { background: #E4EBE6; color: #1B4332; }
        .prod-dh-meta { display: flex; align-items: center; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
        .prod-dh-pct { font-size: 13px; font-weight: 700; color: #176C39; }
        .prod-dh-sku { font-size: 12px; color: #8b9990; }
        .prod-dh-stages { display: flex; gap: 6px; margin-top: 12px; }
        .prod-dh-stage { flex: 1; display: flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 6px; background: #F2F4F3; font-size: 11.5px; color: #667085; min-width: 0; }
        .prod-dh-stage-dot { flex-shrink: 0; }
        .prod-dh-stage span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .prod-dh-stage.st-running { background: #E3EDFB; color: #1565c0; }
        .prod-dh-stage.st-done { background: #E4F2E9; color: #176C39; }
        .prod-dh-stage.st-needs { background: #FDEEE3; color: #E8743C; }
        .prod-dh-bar { height: 6px; background: #E4EBE6; border-radius: 3px; margin-top: 12px; overflow: hidden; }
        .prod-dh-bar-fill { height: 100%; background: linear-gradient(90deg, #176C39, #2C8A50); border-radius: 3px; transition: width .3s ease; }
        /* 抽屉区块 */
        .prod-sec { background: #fff; border: 1px solid #E4EBE6; border-radius: 12px; margin: 14px 24px 0; padding: 14px 18px 16px; }
        .prod-sec-head { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px dashed #E4EBE6; margin-bottom: 10px; }
        .prod-sec-no { font-size: 15px; font-weight: 700; color: #176C39; }
        .prod-sec-title { font-size: 14.5px; font-weight: 700; color: #1F2937; flex: 1; }
        .prod-sec-st { font-size: 12px; white-space: nowrap; }
        .prod-check { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 13px; }
        .prod-check-ic { width: 20px; text-align: center; flex-shrink: 0; }
        .prod-check-label { color: #344054; min-width: 110px; flex-shrink: 0; }
        .prod-check-note { color: #8b9990; font-size: 12px; word-break: break-all; }
        .pc-done .prod-check-ic { color: #176C39; }
        .pc-run .prod-check-ic { color: #1565c0; }
        .pc-todo .prod-check-ic { color: #E8743C; }
        .pc-wait .prod-check-ic { color: #b0bdb5; }
        .prod-sec-acts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; padding-top: 10px; border-top: 1px dashed #E4EBE6; }
        .prod-act { padding: 7px 14px; border: 1px solid #176C39; border-radius: 8px; background: #fff; color: #176C39; cursor: pointer; font-size: 12.5px; font-weight: 500; }
        .prod-act:hover { background: #176C39; color: #fff; }
        .prod-act.primary { background: #176C39; color: #fff; }
        .prod-act.primary:hover { background: #124F2B; }
        .prod-act.ghost { border-color: #E4EBE6; color: #667085; }
        .prod-act.ghost:hover { border-color: #176C39; color: #176C39; background: #fff; }
        .prod-hint { font-size: 12px; color: #98A2B3; align-self: center; }
        .prod-info-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-bottom: 4px; }
        .prod-info-item { background: #F8FAF9; border-radius: 8px; padding: 8px 12px; min-width: 0; }
        .prod-info-item span { display: block; font-size: 11px; color: #8b9990; margin-bottom: 3px; }
        .prod-info-item b { font-size: 13px; color: #1F2937; font-weight: 600; word-break: break-all; }
        .prod-ci-card { display: flex; gap: 10px; padding: 10px; margin-top: 8px; background: #F8FAF9; border-radius: 10px; }
        .prod-ci-info { min-width: 0; }
        .prod-ci-name { font-size: 13px; font-weight: 600; color: #1F2937; }
        .prod-ci-rows { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 4px; font-size: 11.5px; color: #667085; }
        .prod-qc-summary { margin-top: 8px; padding: 8px 12px; background: #F8FAF9; border-radius: 8px; font-size: 12px; color: #667085; line-height: 1.6; }
        .prod-rv-item { display: flex; gap: 8px; padding: 8px 0; border-bottom: 1px dashed #EEF2EF; font-size: 12.5px; }
        .prod-rv-item:last-child { border-bottom: none; }
        .prod-rv-item i { margin-top: 2px; flex-shrink: 0; }
        .prod-rv-item b { display: block; color: #344054; margin-bottom: 2px; }
        .prod-rv-item span { color: #8b9990; line-height: 1.5; word-break: break-all; }
        .rv-pass i { color: #176C39; }
        .rv-warn i { color: #E8743C; }
        .rv-fail i { color: #e53935; }
        /* ===== v20260827.176 阶段3.2D-2：最终 AI 总复核 ===== */
        .fr-check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px; margin: 8px 0; }
        .fr-check-item { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 8px; font-size: 12px; background: #F8FAF9; border: 1px solid #E4EDE6; color: #475467; }
        .fr-check-item.ok { background: #E7F3EB; border-color: #C7E3CF; color: #176C39; }
        .fr-check-item.bad { background: #FDECEA; border-color: #F3C6C2; color: #B42318; }
        .fr-check-item i { flex-shrink: 0; }
        .fr-src { display: block; margin-top: 2px; padding: 2px 8px; background: #F2F6F3; border-radius: 6px; font-size: 11.5px; color: #667085; }
        .mr-hint.bad { color: #B42318; background: #FDECEA; padding: 6px 10px; border-radius: 8px; }
        .mr-hint.warn { color: #C2571A; background: #FDF0E7; padding: 6px 10px; border-radius: 8px; }
        /* ===== v20260827.181 阶段3.2E-1：人工终审与上架放行 ===== */
        .hr-tag { display: inline-block; background: #E7F3EB; color: #176C39; border-radius: 999px; padding: 1px 9px; font-size: 11px; margin: 2px 4px 2px 0; }
        .hr-tag-warn { background: #FDF0E7; color: #C2571A; }
        .hr-modal-mask { position: fixed; inset: 0; background: rgba(15,40,30,.3); z-index: 20000; }
        .hr-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 560px; max-width: 92vw; max-height: 84vh; overflow-y: auto; background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.22); z-index: 20001; padding: 20px 22px; box-sizing: border-box; }
        .hr-modal h3 { margin: 0 0 6px; font-size: 16px; color: #1B4332; display: flex; align-items: center; gap: 8px; }
        .hr-modal-sub { font-size: 12px; color: #8b9990; margin-bottom: 14px; line-height: 1.6; }
        .hr-field { margin-bottom: 14px; }
        .hr-field > label { display: block; font-size: 12px; font-weight: 600; color: #475467; margin-bottom: 6px; }
        .hr-ck-grid { display: flex; flex-wrap: wrap; gap: 8px; }
        .hr-ck { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: #344054; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 8px; padding: 5px 10px; cursor: pointer; }
        .hr-ck input { accent-color: #176C39; }
        .hr-field textarea { width: 100%; box-sizing: border-box; border: 1px solid #CFE0D4; border-radius: 8px; padding: 8px 10px; font-size: 12.5px; font-family: inherit; resize: vertical; }
        .hr-field textarea:focus { outline: none; border-color: #176C39; }
        .hr-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 6px; }
        .hr-btn { padding: 8px 18px; border-radius: 8px; font-size: 13px; cursor: pointer; border: 1px solid #ddd; }
        .hr-btn.ghost { background: #fff; color: #555; }
        .hr-btn.primary { background: #176C39; border-color: #176C39; color: #fff; }
        /* 上架管理：人工终审准入徽标 */
        .mat-shelf-hr { display: flex; align-items: center; gap: 6px; }
        .ms-hr-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
        .ms-hr-badge.ok { background: #E7F3EB; color: #176C39; }
        .ms-hr-badge.bad { background: #FDECEA; color: #B42318; }
        .ms-hr-badge.wait { background: #F2F4F3; color: #667085; }
        .ms-hr-sub { font-size: 10.5px; color: #8b9990; }
        /* ===== v20260826.158 阶段3.2A：AI商品识别结果面板 ===== */
        .prod-recog-panel { border: 1px solid #DCE8DF; }
        .prod-recog-st { font-size: 12px; padding: 2px 10px; border-radius: 999px; white-space: nowrap; }
        .prod-recog-st.ok { background: #E7F3EB; color: #176C39; }
        .prod-recog-st.warn { background: #FDF0E7; color: #C2571A; }
        .prod-recog-time { margin-left: auto; font-size: 11.5px; color: #8b9990; white-space: nowrap; }
        .prod-rc-card { background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
        .prod-rc-head { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px dashed #E4EBE6; margin-bottom: 10px; }
        .prod-rc-tt { min-width: 0; }
        .prod-rc-title { font-size: 13.5px; font-weight: 700; color: #1F2937; }
        .prod-rc-manual { display: inline-block; margin-left: 6px; font-size: 11px; font-weight: 600; color: #176C39; background: #E7F3EB; padding: 1px 8px; border-radius: 999px; vertical-align: 1px; }
        .prod-rc-sku { font-size: 11.5px; color: #5c6b62; margin-top: 2px; }
        .prod-rc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px 14px; margin-bottom: 6px; }
        .prod-rc-item { font-size: 12.5px; line-height: 1.6; min-width: 0; }
        .prod-rc-k { display: inline-block; color: #8b9990; margin-right: 8px; white-space: nowrap; }
        .prod-rc-v { color: #344054; word-break: break-all; }
        .prod-rc-desc { display: block; margin: 4px 0; }
        .prod-rc-fn { margin: 8px 0; }
        .prod-rc-fnrow { font-size: 12.5px; color: #344054; padding: 3px 0; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
        .prod-rc-c { font-size: 11px; color: #176C39; background: #E7F3EB; padding: 0 7px; border-radius: 999px; white-space: nowrap; }
        .prod-rc-ev { font-size: 11.5px; color: #8b9990; }
        .prod-rc-kw { margin: 6px 0; }
        .prod-rc-kws { margin-top: 3px; }
        .prod-rc-chip { display: inline-block; background: #fff; border: 1px solid #CFE0D4; color: #1F5B38; font-size: 12px; padding: 2px 10px; border-radius: 999px; margin: 2px 4px 2px 0; }
        .prod-rc-none { font-size: 12px; color: #b0bdb5; }
        .prod-rc-warn { background: #FDF0E7; color: #C2571A; border: 1px solid #F3D9C4; border-radius: 8px; padding: 6px 10px; font-size: 12px; margin: 8px 0 2px; }
        .prod-rc-combo { background: #F0F6F2; border: 1px solid #DCE8DF; border-radius: 10px; padding: 10px 12px; font-size: 12.5px; color: #344054; margin-bottom: 10px; line-height: 1.7; }
        .prod-rc-grid-edit { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 14px; }
        .prod-rc-fi { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
        .prod-rc-fi label { font-size: 11.5px; color: #5c6b62; }
        .prod-rc-in { width: 100%; box-sizing: border-box; border: 1px solid #CFE0D4; border-radius: 8px; padding: 6px 10px; font-size: 12.5px; background: #fff; color: #1F2937; }
        .prod-rc-in:focus { outline: none; border-color: #176C39; }
        @media (max-width: 768px) { .prod-rc-grid-edit { grid-template-columns: 1fr; } }
        /* ===== v20260826.159 阶段3.2B：高清素材池 / 网络同款寻源 ===== */
        .prod-pool-panel { border: 1px solid #DCE8DF; }
        .prod-pool-banner { background: #FDF6EC; border: 1px solid #F3D9C4; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
        .prod-pool-banner.warn { background: #FDF0E7; }
        .prod-pool-banner-title { font-size: 13px; font-weight: 700; color: #C2571A; margin-bottom: 4px; }
        .prod-pool-banner-text { font-size: 12px; color: #7A5A3A; line-height: 1.6; word-break: break-all; }
        .prod-pool-banner-acts { margin-top: 8px; display: flex; gap: 8px; flex-wrap: wrap; }
        .prod-pool-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px; }
        .prod-pool-stat { background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 10px; text-align: center; padding: 8px 4px; }
        .prod-pool-stat b { display: block; font-size: 18px; font-weight: 700; color: #1F5B38; line-height: 1.2; }
        .prod-pool-stat span { font-size: 11px; color: #8b9990; }
        .prod-pool-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
        .prod-pool-tab { border: 1px solid #CFE0D4; background: #fff; color: #1F5B38; border-radius: 999px; padding: 4px 14px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
        .prod-pool-tab.active { background: #1B4332; color: #fff; border-color: #1B4332; }
        .prod-pool-block { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
        .prod-pool-block-title { font-size: 12.5px; font-weight: 700; color: #1F2937; padding: 9px 12px; border-bottom: 1px solid #EEF3EF; background: #F8FAF9; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
        .prod-pool-block-body { padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
        .prod-pool-infer { font-size: 10.5px; font-weight: 600; color: #C2571A; background: #FDF0E7; border-radius: 999px; padding: 1px 8px; }
        .prod-pool-infer.gray { color: #667085; background: #F2F4F3; }
        .prod-pool-task { display: flex; align-items: center; gap: 8px; font-size: 12px; flex-wrap: wrap; }
        .prod-pool-task-route { background: #E7F3EB; color: #176C39; font-weight: 700; border-radius: 6px; padding: 1px 7px; font-size: 11px; }
        .prod-pool-task-label { color: #344054; font-weight: 600; font-size: 11.5px; }
        .prod-pool-route-tag { background: #EAF0FB; color: #3538CD; border-radius: 5px; padding: 1px 6px; font-size: 10.5px; font-weight: 600; }
        .prod-pool-task code { background: #F2F4F3; padding: 2px 8px; border-radius: 6px; color: #344054; font-size: 11.5px; word-break: break-all; }
        .prod-pool-task-n { color: #8b9990; }
        .prod-pool-src { display: flex; gap: 10px; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 10px; padding: 10px; }
        .prod-pool-src.is-rejected { opacity: .5; }
        .prod-pool-img { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; background: #EEF3EF; flex: 0 0 64px; }
        .prod-pool-img.img-broken { border: 1px dashed #D5DFD8; }
        .prod-pool-img-empty { display: flex; align-items: center; justify-content: center; color: #b0bdb5; }
        .prod-pool-src-main { flex: 1; min-width: 0; }
        .prod-pool-src-title { font-size: 12.5px; font-weight: 600; color: #1F2937; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
        .prod-pool-src-meta { display: flex; gap: 8px; flex-wrap: wrap; font-size: 11px; color: #8b9990; margin-top: 3px; }
        .prod-pool-src-type { background: #F2F4F3; border-radius: 4px; padding: 0 5px; }
        .prod-pool-conf { margin-top: 5px; font-size: 11.5px; color: #5c6b62; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
        .prod-pool-conf b { color: #1F5B38; font-size: 14px; }
        .prod-pool-ev { display: inline-flex; gap: 4px; flex-wrap: wrap; }
        .prod-pool-ev i { font-style: normal; font-size: 10.5px; background: #E7F3EB; color: #176C39; border-radius: 999px; padding: 1px 7px; }
        .prod-pool-ev i.bad { background: #FDF0E7; color: #C2571A; }
        .prod-pool-src-side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: 0 0 auto; }
        .prod-pool-tier { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
        .prod-pool-tier.tier-high { background: #E7F3EB; color: #176C39; }
        .prod-pool-tier.tier-suspect { background: #FDF0E7; color: #C2571A; }
        .prod-pool-tier.tier-research { background: #F2F4F3; color: #667085; }
        .prod-pool-tier.tier-excluded { background: #F2F4F3; color: #ADB5BD; }
        .prod-pool-src-acts { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
        .prod-pool-mini { border: 1px solid #CFE0D4; background: #fff; color: #1F5B38; border-radius: 6px; padding: 3px 9px; font-size: 11.5px; cursor: pointer; white-space: nowrap; }
        .prod-pool-mini:hover { background: #F1F8F2; }
        .prod-pool-mini.ok { border-color: #176C39; background: #E7F3EB; color: #176C39; font-weight: 600; }
        .prod-pool-mini.bad { border-color: #E5B8A0; background: #FFF6F2; color: #C2571A; }
        .prod-pool-decide { display: flex; gap: 6px; flex-wrap: wrap; }
        .prod-pool-asset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; padding: 10px 12px; }
        .prod-pool-asset { background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 10px; padding: 8px; }
        .prod-pool-asset.is-approved { border-color: #176C39; box-shadow: 0 0 0 1px #176C39 inset; }
        .prod-pool-asset .asset-img { width: 100%; height: 110px; flex: none; }
        /* v20260826.164 素材卡片：来源身份 + 用途双徽章 + 可点击来源页 */
        .prod-pool-asset-badges { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 7px; }
        .prod-pool-usage { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
        .prod-pool-usage.u-evidence { background: #E7F3EB; color: #176C39; }
        .prod-pool-usage.u-gen { background: #EAF2FB; color: #1D5D9E; }
        .prod-pool-usage.u-market { background: #F2F4F3; color: #667085; }
        .prod-pool-usage.u-rejected { background: #F2F4F3; color: #ADB5BD; }
        .prod-pool-asset-meta { display: flex; gap: 5px; flex-wrap: wrap; font-size: 10.5px; color: #8b9990; margin-top: 6px; }
        .prod-pool-q { color: #1F5B38; font-weight: 700; }
        .prod-pool-asset-src { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; font-size: 10.5px; color: #1D5D9E; text-decoration: none; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .prod-pool-asset-src:hover { text-decoration: underline; }
        /* v20260826.165 状态联动：待确认来源卡片标记 + 同款确认行直达定位高亮 */
        .prod-pool-src.is-suspect { border-color: #E8A13D; background: #FFFDF6; }
        .prod-pool-src.is-focus { outline: 2px solid #E8743C; outline-offset: 2px; box-shadow: 0 0 0 6px rgba(232,116,60,.14); }
        .prod-pool-asset-acts { display: flex; gap: 6px; margin-top: 7px; flex-wrap: wrap; align-items: center; }
        .prod-pool-ok-tag { font-size: 11px; font-weight: 600; color: #176C39; }
        .prod-pool-nok-tag { font-size: 11px; color: #ADB5BD; }
        .prod-pool-fc { display: flex; gap: 8px; align-items: center; justify-content: space-between; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 8px; padding: 8px 10px; flex-wrap: wrap; }
        .prod-pool-fc-main { flex: 1; min-width: 220px; font-size: 12.5px; color: #344054; }
        .prod-pool-fc-meta { display: block; font-size: 11px; color: #8b9990; margin-top: 2px; }
        .prod-pool-ri { display: flex; gap: 8px; align-items: center; justify-content: space-between; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 8px; padding: 8px 10px; flex-wrap: wrap; }
        .prod-pool-ri.is-rejected { opacity: .55; }
        .prod-pool-ri-main { flex: 1; min-width: 220px; }
        .prod-pool-ri-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; color: #1F2937; }
        .prod-pool-ri-top b { font-size: 12.5px; }
        .prod-pool-ri-sum { font-size: 12px; color: #5c6b62; line-height: 1.55; margin-top: 3px; }
        .prod-pool-sent { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 8px; background: #F2F4F3; color: #667085; }
        .prod-pool-sent.neg { background: #FDECEC; color: #C0392B; }
        .prod-pool-sent.pos { background: #E7F3EB; color: #176C39; }
        .prod-pool-sent.mix { background: #FDF0E7; color: #C2571A; }
        .prod-pool-tier.pain-a { background: #FDECEC; color: #C0392B; }
        .prod-pool-tier.pain-b { background: #FDF0E7; color: #C2571A; }
        .prod-pool-tier.pain-c { background: #FDF7E3; color: #9A7D0A; }
        .prod-pool-tier.pain-d { background: #F2F4F3; color: #667085; }
        .prod-pool-tier.pain-e { background: #F0EAFD; color: #7C4DFF; }
        .prod-pool-kv { font-size: 12.5px; color: #344054; line-height: 1.7; }
        .prod-pool-kv span { color: #8b9990; margin-right: 8px; }
        .prod-pool-note { font-size: 12.5px; color: #344054; line-height: 1.7; margin-top: 4px; }
        .prod-pool-hint { font-size: 11px; color: #8b9990; line-height: 1.6; }
        .prod-pool-empty { font-size: 12px; color: #b0bdb5; padding: 6px 0; }
        .prod-pool-warnrow { font-size: 11.5px; color: #C2571A; line-height: 1.6; }
        @media (max-width: 768px) {
            .prod-pool-stats { grid-template-columns: repeat(2, 1fr); }
            .prod-pool-asset-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
            .prod-pool-src { flex-wrap: wrap; }
            .prod-pool-src-side { flex-direction: row; align-items: center; width: 100%; justify-content: flex-start; flex-wrap: wrap; }
        }
        /* ===== v20260826.166 阶段3.2C-1：市场研究面板（洞察/评价/痛点/卖点候选） ===== */
        .mr-stats { display: flex; gap: 8px 18px; flex-wrap: wrap; margin-bottom: 10px; font-size: 11.5px; color: #5c6b62; }
        .mr-stats b { color: #1F5B38; font-size: 14px; font-weight: 700; margin: 0 2px; }
        .mr-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
        .mr-tab { border: 1px solid #CFE0D4; background: #fff; color: #1F5B38; border-radius: 999px; padding: 3px 13px; font-size: 12px; font-weight: 600; cursor: pointer; }
        .mr-tab.active { background: #1B4332; color: #fff; border-color: #1B4332; }
        .mr-body { display: flex; flex-direction: column; gap: 8px; }
        .mr-card { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 10px 12px; }
        .mr-card-noise { opacity: .62; background: #FAFBFA; }
        .mr-card-rej { opacity: .62; }
        .mr-combo { background: #F0F6F2; border-color: #DCE8DF; }
        .mr-card-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
        .mr-comp-h { font-size: 12.5px; font-weight: 700; color: #1F5B38; margin-top: 4px; display: flex; align-items: center; gap: 6px; }
        .mr-comp-tag { display: inline-block; font-size: 10.5px; font-weight: 600; color: #1D5D9E; background: #EAF2FB; border-radius: 999px; padding: 1px 8px; }
        .mr-topic-chip { display: inline-block; background: #F1F8F2; border: 1px solid #CFE0D4; color: #1F5B38; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 999px; white-space: nowrap; }
        .mr-tier { display: inline-block; font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 8px; white-space: nowrap; }
        .mr-tier-a { background: #E7F3EB; color: #176C39; }
        .mr-tier-b { background: #EAF2FB; color: #1D5D9E; }
        .mr-tier-c { background: #F2F4F3; color: #667085; }
        .mr-tier-d { background: #F0EAFD; color: #7C4DFF; }
        .mr-tier-line { display: inline-flex; align-items: center; gap: 3px; flex-wrap: wrap; font-weight: 400; }
        .mr-tier-n { font-size: 10.5px; color: #8b9990; }
        .mr-src-type { font-size: 11px; color: #8b9990; }
        .mr-noise-chip { display: inline-block; font-size: 10.5px; font-weight: 600; color: #667085; background: #F2F4F3; border-radius: 999px; padding: 1px 8px; }
        .mr-pain-st { display: inline-block; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
        .mr-pain-a { background: #FDECEC; color: #C0392B; }
        .mr-pain-b { background: #FDF0E7; color: #C2571A; }
        .mr-pain-c { background: #FDF7E3; color: #9A7D0A; }
        .mr-pain-noise { background: #F2F4F3; color: #667085; }
        .mr-rel { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; border-radius: 8px; padding: 6px 10px; background: #F8FAF9; border: 1px solid #E4EBE6; color: #344054; line-height: 1.5; margin-top: 6px; }
        .mr-rel-ic { font-weight: 700; }
        .mr-rel-ev { font-size: 11px; color: #5c6b62; }
        .mr-rel-good { background: #F1F8F2; border-color: #CFE0D4; color: #176C39; }
        .mr-rel-warn { background: #FDF0E7; border-color: #F3D9C4; color: #C2571A; }
        .mr-rel-unk, .mr-rel-none { color: #667085; }
        .mr-sp-st { display: inline-block; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
        .mr-sp-ok { background: #E7F3EB; color: #176C39; }
        .mr-sp-pot { background: #EAF2FB; color: #1D5D9E; }
        .mr-sp-mkt { background: #FDF7E3; color: #9A7D0A; }
        .mr-sp-rej { background: #FDECEC; color: #C0392B; }
        .mr-sent { display: inline-block; font-size: 10.5px; font-weight: 600; border-radius: 999px; padding: 1px 8px; background: #F2F4F3; color: #667085; }
        .mr-sent.pos { background: #E7F3EB; color: #176C39; }
        .mr-sent.neg { background: #FDECEC; color: #C0392B; }
        .mr-sent-badge { display: inline-block; font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 8px; flex: 0 0 auto; }
        .sb-pos { background: #E7F3EB; color: #176C39; }
        .sb-neg { background: #FDECEC; color: #C0392B; }
        .sb-mix { background: #FDF0E7; color: #C2571A; }
        .mr-meters { display: flex; gap: 10px 18px; flex-wrap: wrap; margin: 6px 0; }
        .mr-meter { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 200px; }
        .mr-meter-l { font-size: 11.5px; color: #5c6b62; white-space: nowrap; }
        .mr-meter-bar { flex: 1; height: 8px; border-radius: 999px; background: #EEF3EF; overflow: hidden; }
        .mr-meter-bar i { display: block; height: 100%; background: #1D5D9E; border-radius: 999px; }
        .mr-meter-bar.prod-ev i { background: #176C39; }
        .mr-meter b { font-size: 12px; font-weight: 700; color: #344054; min-width: 34px; text-align: right; }
        .mr-ev-block { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; padding-top: 8px; border-top: 1px dashed #E4EBE6; }
        .mr-ev-sec { font-size: 11.5px; font-weight: 700; color: #5c6b62; margin-top: 4px; }
        .mr-ev-row { display: flex; gap: 8px; align-items: flex-start; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 8px; padding: 8px 10px; }
        .mr-ev-row .mr-tier { margin-top: 1px; }
        .mr-ev-main { flex: 1; min-width: 0; }
        .mr-ev-link { display: inline-block; font-size: 12px; color: #1D5D9E; text-decoration: none; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
        .mr-ev-link:hover { text-decoration: underline; }
        .mr-ev-link i { font-size: 10px; }
        .mr-ev-snippet { font-size: 11.5px; color: #5c6b62; line-height: 1.55; margin-top: 3px; word-break: break-word; }
        .mr-ev-toggle { margin: 2px 0; }
        .mr-quote-row { display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 8px; padding: 8px 10px; }
        .mr-quote-row .mr-sent-badge, .mr-quote-row .mr-tier, .mr-quote-row .mr-noise-chip { margin-top: 1px; }
        .mr-quote-main { flex: 1; min-width: 200px; }
        .mr-quote { font-size: 12.5px; color: #344054; line-height: 1.6; }
        .mr-kvs { display: flex; flex-direction: column; gap: 3px; margin: 6px 0; }
        .mr-kv { font-size: 12px; color: #344054; line-height: 1.6; }
        .mr-kv span { color: #8b9990; margin-right: 8px; }
        .mr-note { font-size: 12.5px; color: #344054; line-height: 1.6; margin: 2px 0; }
        .mr-warn { background: #FDF0E7; color: #C2571A; border: 1px solid #F3D9C4; border-radius: 8px; padding: 6px 10px; font-size: 12px; margin: 6px 0 2px; line-height: 1.5; }
        .mr-hint { font-size: 11.5px; color: #8b9990; line-height: 1.6; margin-top: 4px; }
        .mr-empty { font-size: 12px; color: #b0bdb5; padding: 4px 0; line-height: 1.6; }
        .mr-fact { font-size: 12px; color: #176C39; line-height: 1.6; }
        .mr-fact.none { color: #8b9990; }
        .mr-inference { display: inline-block; font-size: 10.5px; font-weight: 600; color: #C2571A; background: #FDF0E7; border-radius: 999px; padding: 1px 8px; }
        .mr-inference.ok { color: #176C39; background: #E7F3EB; }
        .mr-queries { display: flex; gap: 4px; flex-wrap: wrap; align-items: baseline; font-size: 11px; margin-bottom: 6px; }
        .mr-queries-t { color: #8b9990; }
        .mr-q { display: inline-block; background: #F2F4F3; border-radius: 5px; padding: 1px 7px; color: #344054; word-break: break-all; }
        .mr-q-fail { background: #FDECEC; color: #C0392B; }
        @media (max-width: 768px) {
            .mr-meter { min-width: 100%; }
            .mr-stats { gap: 6px 12px; }
        }
        /* ===== v20260826.169 阶段3.2C-2：内容策略 + 图片生产方案 ===== */
        .cs-pos { background: #F1F8F2; border: 1px solid #CFE0D4; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
        .cs-pos-l { font-size: 11.5px; font-weight: 700; color: #1F5B38; margin-bottom: 3px; }
        .cs-pos-l i { margin-right: 4px; }
        .cs-pos-t { font-size: 13.5px; font-weight: 600; color: #1F2937; line-height: 1.6; }
        .cs-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
        .cs-mini { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 10px 12px; }
        .cs-mini-h { font-size: 12px; font-weight: 700; color: #1F2937; margin-bottom: 6px; }
        .cs-mini-h i { color: #1F5B38; margin-right: 4px; }
        .cs-mini.bad { border-color: #F3D9C4; background: #FFFBF8; }
        .cs-mini.warn { border-color: #F3E3B8; background: #FFFCF5; }
        .cs-chip { display: inline-block; font-size: 11.5px; border-radius: 999px; padding: 2px 10px; margin: 2px 4px 2px 0; background: #F2F4F3; color: #344054; }
        .cs-chip.scene { background: #EAF2FB; color: #1D5D9E; }
        .cs-chip.need { background: #FDF7E3; color: #9A7D0A; }
        .cs-chip.sp { background: #E7F3EB; color: #176C39; }
        .cs-chip.pain { background: #FDECEC; color: #C0392B; }
        .cs-chip.req { background: #F0EAFD; color: #7C4DFF; }
        .cs-sec-h { font-size: 12.5px; font-weight: 700; color: #1F2937; margin: 12px 0 6px; padding-left: 8px; border-left: 3px solid #1B4332; }
        .cs-sp-st { display: inline-block; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
        .cs-sp-st i { margin-right: 3px; }
        .cs-pri { background: #1B4332; color: #fff; }
        .cs-sec { background: #E7F3EB; color: #176C39; }
        .cs-txt { background: #EAF2FB; color: #1D5D9E; }
        .cs-unk { background: #FDF7E3; color: #9A7D0A; }
        .cs-rej { background: #FDECEC; color: #C0392B; }
        .cs-pri-score { font-size: 11px; font-weight: 700; color: #1F5B38; margin-left: auto; }
        .cs-5m .mr-meter { min-width: 150px; }
        .mr-meter-bar.cs-vis i { background: #7C4DFF; }
        .mr-meter-bar.cs-inf i { background: #E8743C; }
        .mr-meter-bar.cs-risk i { background: #C0392B; }
        .cs-pain { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
        .cs-pain.ok { border-left: 3px solid #176C39; }
        .cs-pain.keep { border-left: 3px solid #E8743C; background: #FFFCF9; }
        .cs-pain-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; font-weight: 700; color: #1F2937; }
        .cs-pain-h i { color: #1F5B38; }
        .cs-pain.keep .cs-pain-h i { color: #E8743C; }
        .cs-pain-tag { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
        .cs-pain-tag.ok { background: #E7F3EB; color: #176C39; }
        .cs-pain-tag.keep { background: #FDF0E7; color: #C2571A; }
        .cs-claim { font-size: 12px; line-height: 1.6; padding: 3px 0; border-bottom: 1px dashed #EEF3EF; }
        .cs-claim.bad { color: #C0392B; }
        .cs-claim.warn { color: #9A7D0A; }
        .cs-claim:last-child { border-bottom: none; }
        .cs-foot { font-size: 11.5px; color: #8b9990; margin-top: 10px; line-height: 1.7; }
        .cs-foot b { color: #1F5B38; }
        .cs-ok-tag { display: inline-block; font-size: 11px; font-weight: 700; color: #176C39; background: #E7F3EB; border-radius: 999px; padding: 1px 8px; }
        .cs-plan-sum { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 12.5px; color: #344054; background: #F1F8F2; border: 1px solid #CFE0D4; border-radius: 10px; padding: 8px 12px; margin-bottom: 8px; }
        .cs-plan-sum b { color: #1F5B38; font-size: 14px; }
        .cs-cov { font-size: 11.5px; color: #5c6b62; }
        .cs-cov b { color: #1F5B38; font-size: 12.5px; }
        .cs-dup { font-size: 11px; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
        .cs-dup.ok { background: #E7F3EB; color: #176C39; }
        .cs-dup.warn { background: #FDF0E7; color: #C2571A; }
        .cs-plan-st { font-size: 11px; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
        .cs-plan-st.ok { background: #1B4332; color: #fff; }
        .cs-plan-st.warn { background: #FDF7E3; color: #9A7D0A; }
        .cs-dup-warn { background: #FDF0E7; border: 1px solid #F3D9C4; color: #C2571A; border-radius: 8px; padding: 6px 10px; font-size: 12px; margin-bottom: 6px; line-height: 1.5; }
        .cs-cov-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
        .cs-cov-item { font-size: 11px; border-radius: 5px; padding: 1px 7px; }
        .cs-cov-item.ok { background: #E7F3EB; color: #176C39; }
        .cs-cov-item.miss { background: #FDECEC; color: #C0392B; }
        .cs-task { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; position: relative; }
        .cs-task.req { border-left: 3px solid #1B4332; }
        .cs-task.editing { border-color: #1B4332; box-shadow: 0 0 0 1px #1B4332 inset; }
        .cs-task-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
        .cs-task-no { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 24px; border-radius: 6px; background: #1B4332; color: #fff; font-size: 12px; font-weight: 700; }
        .cs-task-type { font-size: 13px; font-weight: 700; color: #1F2937; }
        .cs-task-req { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
        .cs-task-req.req { background: #1B4332; color: #fff; }
        .cs-task-req.opt { background: #F2F4F3; color: #667085; }
        .cs-task-temu { font-size: 10.5px; color: #7C4DFF; background: #F0EAFD; border-radius: 999px; padding: 1px 8px; }
        .cs-task-lock { font-size: 10.5px; color: #5c6b62; background: #F2F4F3; border-radius: 4px; padding: 1px 6px; }
        .cs-task-p { font-size: 12.5px; color: #344054; line-height: 1.6; margin: 2px 0; }
        .cs-task-reason { color: #8b9990; }
        .cs-task-meta { display: flex; gap: 5px; flex-wrap: wrap; margin: 5px 0; }
        .cs-task-ev { display: flex; gap: 6px; flex-wrap: wrap; margin: 5px 0; }
        .cs-ev-tag { font-size: 10.5px; color: #5c6b62; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 4px; padding: 1px 6px; }
        .cs-ev-tag.text { color: #8b9990; }
        .cs-task-acts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; padding-top: 6px; border-top: 1px dashed #EEF3EF; }
        .cs-removed { font-size: 11.5px; color: #8b9990; background: #F8FAF9; border: 1px dashed #E4EBE6; border-radius: 8px; padding: 6px 10px; margin-bottom: 10px; line-height: 1.6; }
        .cs-plan-acts { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
        .cs-edit { background: #F8FAF9; border: 1px dashed #CFE0D4; border-radius: 8px; padding: 10px; margin: 6px 0; }
        .cs-edit-row { margin-bottom: 8px; }
        .cs-edit-row > label { display: block; font-size: 11.5px; font-weight: 700; color: #5c6b62; margin-bottom: 4px; }
        .cs-edit-row select, .cs-edit-row input { width: 100%; border: 1px solid #CFE0D4; border-radius: 6px; padding: 6px 8px; font-size: 12.5px; background: #fff; color: #344054; box-sizing: border-box; }
        .cs-edit-checks { display: flex; gap: 6px 12px; flex-wrap: wrap; max-height: 150px; overflow-y: auto; background: #fff; border: 1px solid #E4EBE6; border-radius: 6px; padding: 8px; }
        .cs-edit-ck { font-size: 12px; color: #344054; display: inline-flex; gap: 5px; align-items: center; }
        .cs-edit-acts { display: flex; gap: 8px; }
        .mr-empty-inline { font-size: 12px; color: #b0bdb5; }
        @media (max-width: 768px) {
            .cs-grid2 { grid-template-columns: 1fr; }
            .cs-5m .mr-meter { min-width: 100%; }
        }
        /* ===== v20260827.170 阶段3.2C-3A：豆包 Prompt 引擎面板 ===== */
        .dp-card { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
        .dp-card.open { border-color: #1B4332; }
        .dp-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
        .dp-st { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 8px; white-space: nowrap; }
        .dp-st.ok { background: #E7F3EB; color: #176C39; }
        .dp-st.warn { background: #FDF7E3; color: #9A7D0A; }
        .dp-st.bad { background: #FDECEC; color: #C0392B; }
        .dp-st.wait { background: #F2F4F3; color: #667085; }
        .dp-st.stale { background: #FDF0E7; color: #C2571A; }
        .dp-st.edited { background: #F0EAFD; color: #7C4DFF; }
        .dp-sec { font-size: 11.5px; font-weight: 700; color: #5c6b62; margin: 8px 0 4px; }
        .dp-prompt { background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 8px; padding: 10px 12px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11.5px; line-height: 1.7; color: #344054; white-space: pre-wrap; word-break: break-word; max-height: 300px; overflow-y: auto; }
        .dp-prompt.neg { font-size: 10.5px; color: #8b9990; max-height: 140px; }
        .dp-params { font-size: 11px; color: #5c6b62; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 6px; padding: 6px 10px; line-height: 1.7; }
        .dp-dims { display: flex; gap: 5px; flex-wrap: wrap; margin: 4px 0; }
        .dp-dim { font-size: 10.5px; border-radius: 5px; padding: 1px 7px; }
        .dp-dim.pass { background: #E7F3EB; color: #176C39; }
        .dp-dim.issue { background: #FDECEC; color: #C0392B; }
        .dp-issue { font-size: 11.5px; color: #C0392B; background: #FDF2F2; border: 1px solid #F5D5D5; border-radius: 6px; padding: 4px 8px; margin: 3px 0; line-height: 1.5; }
        .dp-edit-ta { width: 100%; min-height: 220px; border: 1px solid #CFE0D4; border-radius: 6px; padding: 8px 10px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11.5px; line-height: 1.6; background: #fff; color: #344054; box-sizing: border-box; resize: vertical; }
        /* ===== v20260827.171 阶段3.2C-3B-1：出图区 / 版本历史 / AI 检查 ===== */
        .dp-img { border-top: 1px dashed #E4EBE6; margin-top: 8px; padding-top: 8px; }
        .dp-img-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
        .dp-img-hint { font-size: 11.5px; color: #667085; }
        .dp-img-hint.warn { color: #C2571A; }
        .dp-img-hint.bad { color: #C0392B; }
        .dp-img-cur { display: flex; gap: 12px; margin-top: 8px; align-items: flex-start; }
        .dp-img-thumb { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; border: 1px solid #E4EBE6; cursor: pointer; background: #F8FAF9; }
        /* v20260903.21 桌面端成果大图：大图优先展示 */
        .dp-img-thumb-lg { width: 220px; height: 220px; }
        .dp-img-thumb.ph { display: flex; align-items: center; justify-content: center; font-size: 11px; color: #98A2B3; }
        .dp-img-info { flex: 1; min-width: 0; font-size: 11.5px; color: #344054; line-height: 1.7; }
        .dp-img-ops { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
        .dp-ev { background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 8px; padding: 8px 10px; margin-top: 8px; }
        .dp-vh { background: #FAFCFB; border: 1px solid #E4EBE6; border-radius: 8px; padding: 8px 10px; margin-top: 8px; }
        .dp-vh-row { display: flex; align-items: center; gap: 10px; padding: 6px 4px; border-bottom: 1px dashed #EDF2EE; }
        .dp-vh-row:last-child { border-bottom: none; }
        .dp-vh-row.cur { background: #F1F8F2; border-radius: 6px; }
        .dp-vh-thumb { width: 52px; height: 52px; object-fit: cover; border-radius: 6px; border: 1px solid #E4EBE6; cursor: pointer; background: #fff; }
        .dp-vh-thumb.ph { background: #F2F4F3; }
        .dp-vh-info { flex: 1; min-width: 0; font-size: 11px; color: #5c6b62; line-height: 1.6; }
        .dp-dim b { font-weight: 700; }
        /* ===== v20260826.160 流程纠偏：高清素材寻源行入口 + 商品基准图面板 ===== */
        .prod-src-link { border: 1px solid #CFE0D4; background: #F1F8F2; color: #1F5B38; border-radius: 6px; padding: 2px 8px; font-size: 11px; cursor: pointer; white-space: nowrap; flex: 0 0 auto; }
        .prod-src-link:hover { background: #E2F0E6; }
        .prod-check { flex-wrap: wrap; }
        .prod-bl-panel { border: 1px solid #DCE8DF; }
        .prod-bl-warn { background: #FDF6EC; border: 1px solid #F3D9C4; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
        .prod-bl-warn-title { font-size: 13px; font-weight: 700; color: #C2571A; }
        .prod-bl-warn-text { font-size: 12px; color: #7A5A3A; line-height: 1.6; margin-top: 3px; }
        .prod-bl-warn-acts { margin-top: 8px; display: flex; gap: 8px; flex-wrap: wrap; }
        .prod-bl-comp { background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
        .prod-bl-comp-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
        .prod-bl-comp-head b { font-size: 13px; color: #1F2937; }
        .prod-bl-sku { font-size: 11px; color: #8b9990; background: #F2F4F3; border-radius: 4px; padding: 1px 6px; }
        .prod-bl-cur { display: flex; gap: 10px; align-items: center; background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 10px; padding: 8px 10px; margin-bottom: 10px; }
        .prod-bl-cur-img { width: 56px; height: 56px; flex: 0 0 56px; }
        .prod-bl-cur-info { flex: 1; min-width: 0; font-size: 12px; color: #344054; display: flex; flex-direction: column; gap: 2px; }
        .prod-bl-cur-info span { font-size: 11px; color: #8b9990; }
        .prod-bl-cur-info b { font-size: 12.5px; color: #1F5B38; }
        .prod-bl-cands { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
        .prod-bl-cand { background: #F8FAF9; border: 1px solid #E4EBE6; border-radius: 10px; padding: 6px; cursor: pointer; position: relative; transition: box-shadow .15s; }
        .prod-bl-cand:hover { border-color: #A9C6B2; }
        .prod-bl-cand.sel { border-color: #1B4332; box-shadow: 0 0 0 2px #1B4332 inset; }
        .prod-bl-cand.rec .prod-bl-rec { display: inline-flex; }
        .prod-bl-cand-img { width: 100%; height: 96px; border-radius: 8px; }
        .prod-bl-cand-meta { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; margin-top: 5px; }
        .prod-bl-rec { display: none; font-size: 10px; font-weight: 700; color: #C2571A; background: #FDF0E7; border-radius: 999px; padding: 1px 7px; }
        .prod-bl-tag { font-size: 10.5px; color: #5c6b62; background: #F2F4F3; border-radius: 4px; padding: 1px 5px; }
        .prod-bl-score { font-size: 11px; font-weight: 700; color: #1F5B38; margin-left: auto; }
        .prod-bl-cand-reasons { font-size: 10.5px; color: #8b9990; line-height: 1.5; margin-top: 4px; }
        .prod-bl-empty { font-size: 12px; color: #b0bdb5; padding: 6px 0; }
        .prod-bl-acts { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 8px; }
        .prod-bl-profile { background: #F8FAF9; border: 1px dashed #CFE0D4; border-radius: 10px; padding: 10px 12px; margin-top: 4px; }
        .prod-bl-profile-title { font-size: 12.5px; font-weight: 700; color: #1F5B38; margin-bottom: 5px; }
        .prod-bl-profile-text { font-size: 12px; color: #5c6b62; line-height: 1.7; white-space: pre-wrap; }
        /* F-233 商品长期基准图资产层 */
        .prod-bl-asset-layer { background: #F3F8F4; border: 1px solid #CFE0D4; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
        .prod-bl-asset-head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 13px; font-weight: 700; color: #1F5B38; margin-bottom: 8px; }
        .prod-bl-asset-hint { font-size: 11px; font-weight: 400; color: #8b9990; }
        .prod-bl-asset-row { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid #E4EBE6; border-radius: 10px; padding: 8px 10px; margin-bottom: 8px; }
        .prod-bl-asset-row.risk { border-color: #F3D9C4; background: #FDF9F3; }
        .prod-bl-asset-img { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 8px; }
        .prod-bl-asset-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
        .prod-bl-asset-info b { font-size: 12.5px; color: #1F5B38; }
        .prod-bl-asset-row.risk .prod-bl-asset-info b { color: #C2571A; }
        .prod-bl-asset-info span { font-size: 11px; color: #8b9990; line-height: 1.5; }
        .prod-bl-asset-id { font-size: 10px; color: #b0bdb5; }
        .prod-bl-asset-acts { display: flex; gap: 6px; flex-wrap: wrap; }
        .prod-bl-asset-sync { font-size: 12px; color: #8b9990; padding: 4px 0; }
        @media (max-width: 768px) {
            .prod-bl-asset-row { flex-wrap: wrap; }
            .prod-bl-asset-acts .prod-act { flex: 1 1 auto; }
        }
        @media (max-width: 768px) {
            .prod-bl-cands { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
            .prod-bl-cur { flex-wrap: wrap; }
            .prod-bl-warn-acts .prod-act { flex: 1 1 100%; }
        }
        /* 移动端卡片 */
        .prod-mobile-list { flex-direction: column; gap: 10px; }
        .prod-mcard { background: #fff; border: 1px solid #E4EBE6; border-radius: 12px; padding: 12px; cursor: pointer; }
        .prod-mcard-top { display: flex; gap: 10px; align-items: center; }
        .prod-mcard-info { flex: 1; min-width: 0; }
        .prod-mcard-name { font-size: 14px; font-weight: 600; color: #1F2937; line-height: 1.35; word-break: break-all; }
        .prod-mcard-sku { font-size: 11px; color: #8b9990; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .prod-mstages { display: flex; gap: 4px; margin-top: 10px; }
        .prod-mstage { flex: 1; text-align: center; padding: 5px 2px; border-radius: 6px; background: #F2F4F3; font-size: 10px; color: #667085; min-width: 0; }
        .prod-mstage span { display: block; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .prod-mcard-ops { margin-top: 10px; text-align: right; }
        @media (max-width: 768px) {
            #page-prodctrl .prod-toolbar { flex-direction: column; align-items: stretch; }
            .prod-chips { width: 100%; }
            .prod-chip { flex: 1; justify-content: center; padding: 7px 4px; font-size: 12px; }
            .prod-search-wrap { max-width: none; }
            .prod-drawer-overlay { left: 0; }
            /* F-1.2.4 §十：移动端/平板 CTA 可点性——抽屉操作按钮最小触控高度 44px，防误触与不可点 */
            .prod-sec-acts .prod-act { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
            .prod-drawer { flex: 0 0 100%; width: 100%; max-width: none; }
            .prod-sec { margin: 12px 12px 0; }
            .prod-drawer-head { padding: 14px 14px 12px; }
            .prod-dh-stage span:last-child { font-size: 10px; }
            .prod-dh-stages { gap: 4px; }
        }
        /* ===== v20260825.149：侧栏导航分组标题（弱化显示） ===== */
        .gemi-nav-section { padding: 10px 20px 2px; font-size: 10px; font-weight: 700; color: #9ba8a0; letter-spacing: 1px; text-transform: uppercase; }
        .gemi-nav-group { padding: 8px 20px 4px; font-size: 11px; font-weight: 600; color: #8b9990; letter-spacing: .3px; }
        .gemi-nav-group:first-of-type { padding-top: 4px; }
        /* 分组间距 */
        .sidebar .gemi-nav-group + .menu-item { margin-top: 2px; }
        .sidebar .menu-item + .gemi-nav-group { margin-top: 8px; }
        /* ===== v20260825.150：待确认选品操作按钮 + ⋯ 更多菜单（#page-selection 作用域） ===== */
        #page-selection .sel-pending-act { display: inline-flex; align-items: center; padding: 4px 6px; margin-left: 4px; border: none; border-radius: 6px; background: transparent; color: #666; cursor: pointer; font-size: 12px; vertical-align: middle; }
        #page-selection .sel-pending-act:hover { color: #176C39; background: #f1f8f2; }
        #pendingMoreMenu { position: fixed; display: none; min-width: 116px; background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,.14); padding: 4px; z-index: 1200; }
        #pendingMoreMenu .sel-pending-menu-item { display: flex; align-items: center; gap: 8px; padding: 7px 12px; font-size: 12.5px; color: #555; cursor: pointer; border-radius: 6px; white-space: nowrap; }
        #pendingMoreMenu .sel-pending-menu-item:hover { background: #f1f8f2; color: #176C39; }
        #pendingMoreMenu .sel-pending-menu-danger { color: #e53935; }
        #pendingMoreMenu .sel-pending-menu-danger:hover { background: #ffebee; color: #e53935; }
        /* ===== v20260825.151：待确认选品「移出」辅助按钮（红色 hover） ===== */
        #page-selection .sel-pending-act-remove:hover { color: #e53935; background: #ffebee; }
        /* ===== v20260825.151：移动端选品篮卡片操作仅剩「移除」单按钮——覆盖 v48 双按钮 grid 布局 ===== */
        @media (max-width: 768px) {
            html.gemi-mobile #selectionManageContent .shelf-card-actions { grid-template-columns: minmax(0, 1fr) !important; }
            html.gemi-mobile #selectionManageContent .shelf-card-actions > button:first-of-type:not(:disabled) { color: #E53935 !important; background: #FFFFFF !important; border: 1px solid #E53935 !important; }
        }
    

        /* ===== v20260824.94 全局右上角按钮组右对齐加固 ===== */
        /* 页面头部按钮容器在 flex 换行/空间不足时仍贴紧父容器右缘 */
        .gemi-responsive-actions,
        #page-products .product-actions-bar,
        #page-pricing .px-action-bar,
        #page-materialmgmt .mat-header-actions,
        #page-matshelf .mat-shelf-actions {
            margin-left: auto !important;
        }
        /* 素材管理「商品信息/操作」标题条桌面端右对齐，与表格操作列对齐 */
        .gemi-material-table-title {
            justify-content: space-between !important;
            width: 100% !important;
        }
    

        /* v20260825.107：所有数字提醒角标统一为橙色正圆 18px，数字使用 flex 双轴居中，大小不随位数变化。 */
        .sidebar .menu-item .menu-badge,
        .sidebar .menu-item.active .menu-badge,
        .mobile-bottom-nav .nav-item .nav-badge,
        .im-unread-badge,
        .im-tab-badge {
            width:18px !important;
            min-width:18px !important;
            max-width:18px !important;
            height:18px !important;
            min-height:18px !important;
            padding:0 !important;
            border-radius:50% !important;
            background:#ff6f00 !important;
            background-image:none !important;
            color:#fff !important;
            border:0 !important;
            box-sizing:border-box !important;
            align-items:center !important;
            justify-content:center !important;
            text-align:center !important;
            font-family:Arial,sans-serif !important;
            font-size:10px !important;
            font-weight:700 !important;
            line-height:1 !important;
            font-variant-numeric:tabular-nums !important;
        }
        .sidebar .menu-item .menu-badge.show:not(.gemi-badge-hidden),
        .mobile-bottom-nav .nav-item .nav-badge.show,
        .im-unread-badge[style*="flex"],
        .im-tab-badge[style*="flex"] { display:inline-flex !important; }
        /* 角标放在图标右上方的外侧，不覆盖底部菜单图标。 */
        html.gemi-mobile .mobile-bottom-nav .nav-item .nav-badge {
            left:calc(50% + 14px) !important;
            right:auto !important;
            top:0 !important;
            transform:none !important;
            border:2px solid #fafdfb !important;
            box-sizing:content-box !important;
        }
        /* 移动端商品卡：图片、标题和商品信息共用同一中心线。 */
        html.gemi-mobile #productList .gemi-product-grid-card,
        html.gemi-mobile #productList .gemi-product-grid-content,
        html.gemi-mobile #productList .gemi-product-grid-content > div:not(.gemi-mobile-product-actions) {
            text-align:center !important;
        }
        html.gemi-mobile #productList .gemi-product-grid-content > div {
            margin-left:auto !important;
            margin-right:auto !important;
        }
        /* 移动端取消商品图片右上角的橙色加入按钮。 */
        html.gemi-mobile #productList .gemi-grid-overlay-add,
        html.gemi-mobile #productList .gemi-product-overlay-add {
            display:none !important;
            visibility:hidden !important;
            pointer-events:none !important;
        }
        /* 会话 / 通讯录固定在聊天内容上方，消息列表只滚动自身。 */
        #imChatPane > .im-persistent-sub-tabs {
            display:flex !important;
            flex:0 0 38px !important;
            width:100% !important;
            position:relative !important;
            z-index:8 !important;
            background:#fff !important;
            border-bottom:1px solid #e8eee9 !important;
        }
        #imChatPane > .im-persistent-sub-tabs + #imListView,
        #imChatPane > .im-persistent-sub-tabs ~ #imMsgView {
            min-height:0 !important;
        }
        /* 选品货架：移动端判定统一跟随 gemi-mobile，宽屏手机/Pad 自动增加列数。 */
        html.gemi-mobile #selectionManageContent.has-selection-shelf-grid {
            display:grid !important;
            grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)) !important;
            align-items:stretch !important;
            gap:12px !important;
            width:100% !important;
        }
        html.gemi-mobile #selectionManageContent > .selection-shelf-heading,
        html.gemi-mobile #selectionManageContent > .selection-shelf-summary,
        html.gemi-mobile #selectionManageContent > .selection-mobile-shelf-ops { grid-column:1/-1 !important; }
        html.gemi-mobile #selectionManageContent > .selection-shelf-heading {
            display:grid !important;
            grid-template-columns:auto minmax(0,1fr) !important;
            align-items:center !important;
            gap:8px 16px !important;
            margin:0 !important;
            padding:2px 2px 4px !important;
            background:transparent !important;
            border:0 !important;
            border-radius:0 !important;
            box-shadow:none !important;
        }
        html.gemi-mobile #selectionManageContent > .selection-shelf-heading > div:last-child {
            justify-self:end !important;
            justify-content:flex-end !important;
            min-width:0 !important;
            text-align:right !important;
        }
        html.gemi-mobile #selectionManageContent > .selection-shelf-card {
            display:flex !important;
            flex-direction:column !important;
            width:100% !important;
            height:100% !important;
            min-width:0 !important;
            margin:0 !important;
            padding:14px !important;
            background:#fff !important;
            border:1px solid #e1e9e4 !important;
            border-radius:10px !important;
            box-shadow:0 4px 14px rgba(16,44,33,.05) !important;
        }
        html.gemi-mobile #selectionManageContent > .selection-shelf-card > .m-card-row {
            display:flex !important;
            align-items:flex-start !important;
            gap:10px !important;
            min-width:0 !important;
            margin:0 !important;
        }
        html.gemi-mobile #selectionManageContent > .selection-shelf-card > .shelf-card-actions {
            display:grid !important;
            grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) !important;
            align-items:center !important;
            gap:8px !important;
            width:100% !important;
            margin:auto 0 0 !important;
            padding:12px 0 0 !important;
            border-top:1px solid #e8ece9 !important;
        }
        html.gemi-mobile #selectionManageContent .shelf-card-actions > label,
        html.gemi-mobile #selectionManageContent .shelf-card-actions > button {
            display:inline-flex !important;
            align-items:center !important;
            justify-content:center !important;
            width:100% !important;
            min-width:0 !important;
            height:42px !important;
            min-height:42px !important;
            margin:0 !important;
            padding:0 8px !important;
            border-radius:10px !important;
            white-space:nowrap !important;
            font-size:13px !important;
            line-height:1 !important;
            box-sizing:border-box !important;
        }
        @media (max-width:420px) {
            html.gemi-mobile #selectionManageContent > .selection-shelf-heading { grid-template-columns:1fr !important; }
            html.gemi-mobile #selectionManageContent > .selection-shelf-heading > div:last-child {
                justify-self:start !important;
                justify-content:flex-start !important;
                text-align:left !important;
            }
        }
    

        /* 覆盖旧版 #page-materialmgmt>div:first-child 对 AI 工作台布局的强制 row */
        #page-materialmgmt > .mat-workbench-layout.gemi-responsive-header {
            display: flex !important;
            align-items: flex-start !important;
            justify-content: flex-start !important;
            flex-wrap: nowrap !important;
            gap: 18px !important;
        }
        @media (max-width: 1200px) {
            #page-materialmgmt > .mat-workbench-layout.gemi-responsive-header { flex-direction: column !important; }
        }
        @media (max-width: 768px) {
            #page-materialmgmt > .mat-workbench-layout.gemi-responsive-header { gap: 14px !important; }
        }
        /* v20260825.119：标题上移对齐其他菜单页。
           旧版 gemi.css 的 #page-materialmgmt>div:first-child 会强制显示占位 div（42px 高），
           #page-materialmgmt>*+* 又给 layout 加 14px 上边距 → 标题整体下移约 52px。
           此处压制占位 div（display:none）并把 layout margin-top 压到对齐值。
           注意：旧规则特异性为 ID+type+pseudo (1,1,1)，覆盖选择器必须 ≥ (1,2,1) 才能赢。 */
        #page-materialmgmt > div:first-child.mat-workbench-header-placeholder { display: none !important; }
        #page-materialmgmt > .mat-workbench-layout { margin-top: 4px !important; }
    

        /* 浮球吉祥物：静态图标，无动画，hover 放大 */
        /* v20260824.84: 图标铺满 56px 按钮；白底已透明化并裁剪至内容顶满 */
        .im-float-btn .im-ring { display: none !important; }
        .im-float-btn .im-float-icon {
            position: absolute;
            top: -2px;
            left: -2px;
            width: 60px;
            height: 60px;
            object-fit: cover;
            display: block;
            opacity: 1;
            border-radius: 50%;
            overflow: hidden;
            transition: opacity .2s ease, transform .3s ease;
            pointer-events: none;
        }
        /* running / done 在图标外加一层发光环 */
        .im-float-btn.running .im-float-icon { box-shadow: 0 0 0 3px rgba(46,158,91,.55); }
        .im-float-btn.done .im-float-icon { box-shadow: 0 0 0 3px rgba(232,116,60,.55); }
    

        /* v20260827.195：唯一浮球拖动支持（鼠标/触摸 pointer 事件统一） */
        .im-float-btn { touch-action: none; -webkit-user-select: none; user-select: none; }
        .im-float-btn:hover { cursor: grab; }                      /* 可拖动状态 */
        .im-float-btn.im-dragging {                                  /* 按住拖动中 */
            cursor: grabbing !important;
            transform: none !important;
            transition: none !important;
            user-select: none !important;
            -webkit-user-select: none !important;
        }
        /* 生产进度角标（如 3/15）：在浮球容器内部，随浮球整体移动 */
        .im-float-btn .im-prod-badge {
            position: absolute;
            left: -6px;
            bottom: -6px;
            min-width: 20px;
            height: 20px;
            padding: 0 5px;
            border-radius: 10px;
            background: #E8743C;
            color: #fff;
            font-size: 10.5px;
            font-weight: 700;
            display: none;
            align-items: center;
            justify-content: center;
            border: 2px solid #fff;
            line-height: 1;
            z-index: 3;
            box-sizing: content-box;
            pointer-events: none;
        }
    
/* ===== v20260903.4 移动端适配优化（需求2）=====
 * 1) 修复内容中心生成栏（gs-gen-bar fixed bottom）与底部 Dock 重叠
 * 2) 内容中心配置按钮移动端 touch 友好（更大触控区、换行）
 * 3) 待确认区操作按钮 / 生产抽屉头部移动端紧凑
 */
/* 1) 生成栏上移避开 Dock（Dock 高约70px + 间距） */
html.gemi-mobile #gemiMainAgent .gs-gen-bar, html.gemi-mobile #page-prodctrl .gs-gen-bar{
    bottom: 86px !important;
    left: 0 !important; right: 0 !important;
    padding: 8px 12px 10px !important;
    border-radius: 14px 14px 0 0 !important;
}
/* 生成栏吸底时给内容区留出高度，避免遮挡最后卡片 */
html.gemi-mobile #gemiMainAgent .gs-cols, html.gemi-mobile #page-prodctrl .gs-cols{ padding-bottom: 170px !important; }

/* 2) 配置区按钮 touch 友好 */
html.gemi-mobile .gs-step-b,
html.gemi-mobile .gs-model-fine-btn{
    min-height: 42px !important;
    font-size: 12.5px !important;
    padding: 6px 10px !important;
    -webkit-tap-highlight-color: transparent !important;
}
html.gemi-mobile .gs-step{ gap: 7px !important; }
html.gemi-mobile .gs-ratio{ gap: 7px !important; }
html.gemi-mobile .gs-ratio-b{ min-height: 40px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
/* 视频技能卡移动端全宽（640px 已覆盖） */

/* 3) 生产抽屉移动端：头部紧凑、关闭按钮更大触控区 */
html.gemi-mobile .prod-drawer-close{ width: 40px !important; height: 40px !important; font-size: 16px !important; }
html.gemi-mobile .prod-dh-name{ font-size: 15px !important; }
html.gemi-mobile .prod-dh-meta{ flex-wrap: wrap !important; gap: 4px !important; }
html.gemi-mobile .prod-dh-stages{ gap: 4px !important; }
html.gemi-mobile .prod-dh-stage{ font-size: 11px !important; padding: 3px 6px !important; }
html.gemi-mobile .prod-act{ min-height: 40px !important; }
/* 抽屉「更多操作」折叠菜单在移动端贴右对齐、不超宽 */
html.gemi-mobile .prod-more-menu{ min-width: 200px !important; max-width: calc(100vw - 48px) !important; }
/* 4) 待确认区操作列按钮移动端不换行、间距均匀 */
html.gemi-mobile .sel-pending-act{ padding: 5px 8px !important; font-size: 11px !important; }
html.gemi-mobile .pending-clean-toolbar{ flex-wrap: wrap !important; gap: 6px !important; }
html.gemi-mobile .pending-clean-actions{ flex-wrap: wrap !important; }
/* 5) 商品中心移动端列表行距与触控 */
html.gemi-mobile #productList table td{ padding: 10px 8px !important; }
html.gemi-mobile .p-op-btn{ width: 38px !important; height: 38px !important; }
/* 6) 内容中心生产卡片移动端：标题/状态一行，查看详情按钮更大 */
html.gemi-mobile .prod-mcard-name{ font-size: 13.5px !important; }
html.gemi-mobile .prod-mcard-ops .prod-btn-main{ min-height: 40px !important; padding: 0 14px !important; }
/* 7) 底部 Dock：加大图标与触控（≥44px 标准），选中态更清晰 */
html.gemi-mobile .mobile-bottom-nav .nav-item{ min-height: 58px !important; }
html.gemi-mobile .mobile-bottom-nav .nav-item > i{ font-size: 19px !important; }

/* v20260903.4b 单行修复：gs-gen-bar 避开 Dock（多行版本部分浏览器解析异常，此单行覆盖） */
html.gemi-mobile #gemiMainAgent .gs-gen-bar, html.gemi-mobile #page-prodctrl .gs-gen-bar, html.gemi-mobile .gs-gen-bar { bottom: 86px !important; left: 0 !important; right: 0 !important; padding: 8px 12px 10px !important; border-radius: 14px 14px 0 0 !important; }
html.gemi-mobile #gemiMainAgent .gs-cols, html.gemi-mobile #page-prodctrl .gs-cols { padding-bottom: 170px !important; }

/* ===== v20260903.5：修复「.content 全局黑字 !important 压过深绿表头白字」=====
   根因链：.page-section table thead th 用 color: var(--gemi-table-head-text) 但该变量在 th 上解析为空
   （var() 无效声明失效）→ 落到 .content { color: var(--gemi-text)!important }（黑色）继承，表头标题变黑，
   且内联白色也被 important 压过。修复：不依赖变量、直接写死 #FFFFFF，specificity(0,2,3) > .content(0,1,0)。
   浅色表头（.arv-combo-table #f7f9fa+#333 等）已由更高 specificity 的专属规则保留，不受影响。 */
.content table thead th,
.content table thead tr th,
.page-section table thead th {
    color: #FFFFFF !important;
}

/* ===== v20260903.10 商品中心移动端优化 ===== */
/* ZLY于2026-09-05修改：统计卡片恢复6张，桌面端放一排显示，固定布局 */
#page-products .product-kpi-grid { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 10px; }
#page-products .product-kpi-card { min-width: 0; overflow: hidden; }
/* 搜索栏内放刷新按钮；桌面搜索栏占整行（标题行 + 搜索行）
   覆盖 min.css .product-search-bar{display:grid!important} → flex，保证按钮同行 */
#page-products .product-header-row { flex-wrap: wrap; }
#page-products .product-search-bar { display: flex !important; flex-wrap: wrap !important; align-items: center !important; flex: 1 1 100%; margin-bottom: 0; }
#page-products .product-search-bar #refreshProductsBtn { padding: 8px 12px; border: 1px solid #ddd; border-radius: 8px; background: #fff; color: #666; cursor: pointer; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }

@media (max-width: 768px) {
    /* 顶部：隐藏操作栏（刷新已移到搜索栏末尾；更多/新增取消），只保留搜索栏一行 */
    #page-products .product-actions-bar,
    #page-products .m-more-btn,
    #page-products #addProductBtn,
    #page-products .product-more-wrap { display: none !important; }
    #page-products .gemi-page-title { display: none !important; }
    #page-products .product-header-row { align-items: center; gap: 6px; margin-bottom: 10px; }
    #page-products .product-search-bar { display: flex !important; flex-wrap: nowrap !important; flex: 1 1 100% !important; gap: 6px; margin-bottom: 0 !important; min-width: 0 !important; }
    #page-products .product-search-btn-text,
    #page-products .view-text,
    #page-products .m-filter-text { display: none !important; }
    #page-products .view-toggle-wrap { display: none !important; }
    /* 商品卡：图片+信息 + 右侧 ➕(上)/核价(下) */
    #page-products .m-card-side { display: flex !important; flex-direction: column !important; gap: 6px; margin-left: 8px; align-items: stretch; }
    #page-products .m-card-side .m-side-btn { min-width: 40px; padding: 8px 10px; border-radius: 8px; border: none; font-size: 12px; display: flex; align-items: center; justify-content: center; gap: 3px; cursor: pointer; white-space: nowrap; }
    #page-products .m-side-add { background: #ff6f00; color: #fff; }
    #page-products .m-side-price { background: #176C39; color: #fff; }
}

/* ===== v20260903.22 移动端精简 ===== */
/* 清单3：商品中心"更多"菜单——手机端隐藏低频「重新分类/清空商品」 */
html.gemi-mobile .m-more-hide-mobile { display: none !important; }
/* 清单8：视图切换浮球——移动端隐藏（侧栏版本号旁仍可切换） */
html.gemi-mobile .gemi-view-switch-float { display: none !important; }

/* ===== v20260903.22 手机端 AI 助手 App 化 ===== */
/* AI 浮球：底部导航上方居中大按钮（防误触、拇指可达） */
html.gemi-mobile .ai-float-btn {
    position: fixed !important;
    bottom: 78px !important;
    right: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 58px !important;
    height: 58px !important;
    font-size: 24px !important;
    border-radius: 50% !important;
    box-shadow: 0 6px 22px rgba(233, 69, 96, .45) !important;
    z-index: 1190 !important;
}
/* AI 弹层：全屏底部抽屉 */
html.gemi-mobile .ai-tool-overlay {
    align-items: flex-end !important;
    padding: 0 !important;
}
html.gemi-mobile .ai-tool-modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92vh !important;
    border-radius: 20px 20px 0 0 !important;
    animation: aiSheetIn .3s cubic-bezier(.22, 1, .36, 1) !important;
}
@keyframes aiSheetIn { from { transform: translateY(40px); opacity: .4; } to { transform: translateY(0); opacity: 1; } }
/* 首页 3 卡：网格横排（移动端紧凑） */
html.gemi-mobile .ai-tool-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
}
html.gemi-mobile .ai-tool-grid .ai-tool-card {
    margin-bottom: 0 !important;
    padding: 12px 10px !important;
    text-align: center !important;
}
html.gemi-mobile .ai-tool-grid .ai-tool-card .c-title {
    justify-content: center !important;
    font-size: 13px !important;
    display: block !important;
}
html.gemi-mobile .ai-tool-grid .ai-tool-card .c-title i {
    display: block !important;
    font-size: 22px !important;
    margin-bottom: 6px !important;
}
html.gemi-mobile .ai-tool-grid .ai-tool-card .c-desc {
    font-size: 11px !important;
    margin-top: 6px !important;
}
html.gemi-mobile .ai-tool-grid .ai-tool-card .c-go {
    font-size: 11px !important;
    justify-content: center !important;
}

/* ===== v20260903.22 移动端工作台首页（千牛式 App）===== */
html.gemi-mobile .gd-header,
html.gemi-mobile .gd-section { display: none !important; }
html.gemi-mobile .gd-mobile-home { display: block !important; padding-bottom: 8px; }
html.gemi-mobile .gd-container { padding: 0 !important; }
/* 顶部问候 */
html.gemi-mobile .mh-head {
    background: linear-gradient(135deg, #176C39 0%, #0f4f2a 100%);
    color: #fff; border-radius: 16px; padding: 18px 16px; margin-bottom: 12px;
}
html.gemi-mobile .mh-greet { font-size: 18px; font-weight: 700; }
html.gemi-mobile .mh-greet i { margin-right: 6px; }
html.gemi-mobile .mh-date { font-size: 12px; opacity: .85; margin-top: 4px; }
html.gemi-mobile .mh-date b { color: #FFC107; }
/* KPI 大数字卡 2 列 */
html.gemi-mobile .mh-kpi-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 10px; }
html.gemi-mobile .mh-kpi {
    display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 14px;
    padding: 14px 12px; box-shadow: 0 2px 10px rgba(16,44,33,.05); cursor: pointer;
}
html.gemi-mobile .mh-kpi-ic { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff; flex-shrink: 0; }
html.gemi-mobile .mh-kpi-g .mh-kpi-ic { background: linear-gradient(135deg,#176C39,#2d8a55); }
html.gemi-mobile .mh-kpi-o .mh-kpi-ic { background: linear-gradient(135deg,#E8743C,#f0924f); }
html.gemi-mobile .mh-kpi-b .mh-kpi-ic { background: linear-gradient(135deg,#1565C0,#3a86e0); }
html.gemi-mobile .mh-kpi-p .mh-kpi-ic { background: linear-gradient(135deg,#7B2FF7,#9b5cff); }
html.gemi-mobile .mh-kpi-v b { font-size: 22px; font-weight: 800; color: #243142; line-height: 1; display: block; }
html.gemi-mobile .mh-kpi-v span { font-size: 11.5px; color: #8a94a3; margin-top: 3px; display: block; }
/* 今日 AI 消耗条 */
html.gemi-mobile .mh-ai-bar {
    display: flex; align-items: center; gap: 10px; background: #fff7f0; border: 1px solid #fde3d0;
    border-radius: 14px; padding: 12px 14px; margin-bottom: 10px;
}
html.gemi-mobile .mh-ai-ic { color: #E8743C; font-size: 20px; }
html.gemi-mobile .mh-ai-t { flex: 1; min-width: 0; }
html.gemi-mobile .mh-ai-t b { font-size: 13px; color: #333; display: block; }
html.gemi-mobile .mh-ai-t span { font-size: 11.5px; color: #8a94a3; }
html.gemi-mobile .mh-ai-v { text-align: right; }
html.gemi-mobile .mh-ai-v b { font-size: 20px; font-weight: 800; color: #E8743C; display: block; line-height: 1; }
html.gemi-mobile .mh-ai-v span { font-size: 10px; color: #b08968; }
/* 区块 */
html.gemi-mobile .mh-section { background: #fff; border-radius: 14px; padding: 12px; margin-bottom: 10px; box-shadow: 0 2px 10px rgba(16,44,33,.04); }
html.gemi-mobile .mh-sec-title { display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 700; color: #243142; margin-bottom: 10px; }
html.gemi-mobile .mh-sec-more { font-size: 12px; color: #176C39; font-weight: 600; cursor: pointer; }
/* 待办任务流 */
html.gemi-mobile .mh-task { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #f2f5f3; cursor: pointer; }
html.gemi-mobile .mh-task:last-child { border-bottom: none; }
html.gemi-mobile .mh-task-ic { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; }
html.gemi-mobile .mh-task-ic.bad { background: #fdeaea; color: #e53935; }
html.gemi-mobile .mh-task-ic.wait { background: #fff4e6; color: #E8743C; }
html.gemi-mobile .mh-task-ic.ok { background: #e8f6ee; color: #176C39; }
html.gemi-mobile .mh-task-ic.done { background: #eef2f0; color: #8a94a3; }
html.gemi-mobile .mh-task-bd { flex: 1; min-width: 0; }
html.gemi-mobile .mh-task-name { font-size: 13.5px; font-weight: 600; color: #243142; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.gemi-mobile .mh-task-sub { font-size: 11.5px; color: #8a94a3; margin-top: 3px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
html.gemi-mobile .mh-task-go { color: #c3cdc6; font-size: 13px; }
html.gemi-mobile .mh-tasks-empty { text-align: center; color: #8a94a3; font-size: 13px; padding: 16px 0; }
html.gemi-mobile .mh-tasks-empty i { color: #22c55e; margin-right: 4px; }
/* 快捷入口宫格 */
html.gemi-mobile .mh-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
html.gemi-mobile .mh-quick {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    background: #f7faf8; border-radius: 12px; padding: 14px 4px; cursor: pointer;
}
html.gemi-mobile .mh-quick i { font-size: 20px; color: #176C39; }
html.gemi-mobile .mh-quick span { font-size: 12px; color: #3b4a43; font-weight: 600; }
html.gemi-mobile .mh-quick:nth-child(2) i { color: #E8743C; }
html.gemi-mobile .mh-quick:nth-child(3) i { color: #1565C0; }
html.gemi-mobile .mh-quick:nth-child(4) i { color: #7B2FF7; }
html.gemi-mobile .mh-quick:nth-child(5) i { color: #0d9f6e; }
html.gemi-mobile .mh-quick:nth-child(6) i { color: #e94560; }
html.gemi-mobile .mh-task-ic.act { background: #fff4e6; color: #E8743C; }

/* ===== v20260903.22 移动端精简：上架中心（商品包卡片）===== */
html.gemi-mobile #page-matshelf .mat-shelf-table { display: none !important; }
html.gemi-mobile #page-matshelf .mat-shelf-mobile-list { display: block !important; }
html.gemi-mobile #page-matshelf .mat-shelf-header { flex-direction: column; align-items: stretch; gap: 8px; }
html.gemi-mobile #page-matshelf .mat-shelf-subtitle { font-size: 12px; }
html.gemi-mobile #page-matshelf .mat-shelf-actions { flex-wrap: wrap; gap: 8px; }
html.gemi-mobile #page-matshelf .mat-shelf-batch,
html.gemi-mobile #page-matshelf button[onclick*="ttplCenterOpen"],
html.gemi-mobile #page-matshelf .mat-shelf-platform,
html.gemi-mobile #page-matshelf .mat-shelf-filter-btn,
html.gemi-mobile #page-matshelf .mat-shelf-toolbar { display: none !important; }
html.gemi-mobile #page-matshelf .mat-shelf-header .mat-shelf-refresh { display: inline-flex; }
html.gemi-mobile #page-matshelf .mat-shelf-actions .mat-shelf-create { flex: 1; justify-content: center; }
/* 上架 KPI 精简为 2 列 */
html.gemi-mobile #page-matshelf .mat-shelf-kpis { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
/* 商品包卡片 */
html.gemi-mobile #page-matshelf .ms-m-card {
    background: #fff; border-radius: 14px; padding: 12px; margin-bottom: 10px;
    box-shadow: 0 2px 10px rgba(16,44,33,.05); cursor: pointer;
}
html.gemi-mobile #page-matshelf .ms-m-top { display: flex; gap: 12px; }
html.gemi-mobile #page-matshelf .ms-m-top img { width: 72px; height: 72px; border-radius: 10px; object-fit: cover; flex-shrink: 0; background: #f5f6f7; }
html.gemi-mobile #page-matshelf .ms-m-img-ph { width: 72px; height: 72px; border-radius: 10px; background: #f5f6f7; display: flex; align-items: center; justify-content: center; color: #ccc; font-size: 20px; flex-shrink: 0; }
html.gemi-mobile #page-matshelf .ms-m-info { flex: 1; min-width: 0; }
html.gemi-mobile #page-matshelf .ms-m-name { font-size: 14px; font-weight: 700; color: #243142; display: flex; align-items: center; gap: 6px; }
html.gemi-mobile #page-matshelf .ms-m-sub { font-size: 11.5px; color: #8a94a3; margin-top: 3px; }
html.gemi-mobile #page-matshelf .ms-m-status { margin-top: 6px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
html.gemi-mobile #page-matshelf .ms-m-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11.5px; color: #8a94a3; margin-top: 10px; padding-top: 10px; border-top: 1px solid #f2f5f3; }
html.gemi-mobile #page-matshelf .ms-m-meta span { display: inline-flex; align-items: center; gap: 4px; }
html.gemi-mobile #page-matshelf .ms-m-meta i { color: #176C39; }
html.gemi-mobile #page-matshelf .ms-m-ops { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
html.gemi-mobile #page-matshelf .ms-m-ops .mat-shelf-ops { display: flex; flex-wrap: wrap; gap: 8px; }
html.gemi-mobile #page-matshelf .ms-m-ops .ms-btn { padding: 8px 12px; font-size: 12px; border-radius: 8px; }
html.gemi-mobile #page-matshelf .ms-m-ops .ms-more { width: 36px; height: 34px; }
html.gemi-mobile #page-matshelf .ms-pagination, html.gemi-mobile #page-matshelf .mat-shelf-pagination { display: none !important; }

/* ===== v20260903.22 移动端精简：审核中心（大图优先 + 底部操作）===== */
html.gemi-mobile #page-matconfirm .arv-statsbar-cards { gap: 8px; }
html.gemi-mobile #page-matconfirm .arv-sb-card { padding: 10px 4px; border-radius: 10px; }
html.gemi-mobile #page-matconfirm .arv-sb-num { font-size: 18px; }
html.gemi-mobile #page-matconfirm .arv-sb-label { font-size: 10px; }
html.gemi-mobile #page-matconfirm .arv-header-card { grid-template-columns: 90px minmax(0,1fr); gap: 10px; padding: 10px; }
html.gemi-mobile #page-matconfirm .arv-product-media { width: 90px; height: 90px; border-radius: 8px; }
html.gemi-mobile #page-matconfirm .arv-header-stats { display: none !important; }
html.gemi-mobile #page-matconfirm .arv-product-name { font-size: 13px; }
html.gemi-mobile #page-matconfirm .arv-section-head { flex-wrap: wrap; gap: 6px; }
html.gemi-mobile #page-matconfirm .arv-img-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
html.gemi-mobile #page-matconfirm .arv-img-tab { flex-shrink: 0; }
html.gemi-mobile #page-matconfirm .arv-section-tools .arv-btn { display: none !important; } /* 批量操作收进任务列表 */
html.gemi-mobile #page-matconfirm .arv-section-tools .arv-select { font-size: 12px; padding: 6px 8px; }
html.gemi-mobile #page-matconfirm .arv-big-image { height: 52vh; min-height: 300px; }
html.gemi-mobile #page-matconfirm .arv-side-panel { box-shadow: none; border-top: 1px solid #eef2f0; border-radius: 0; }
/* 复核操作固定底部（底部导航上方） */
html.gemi-mobile #page-matconfirm .arv-side-footer {
    position: fixed !important; left: 0; right: 0; bottom: 56px; z-index: 99;
    background: #fff; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 -2px 12px rgba(16,44,33,.08); border-radius: 12px 12px 0 0;
}
html.gemi-mobile #page-matconfirm .arv-footer-btns { display: flex; gap: 10px; }
html.gemi-mobile #page-matconfirm .arv-footer-btns .arv-btn { flex: 1; justify-content: center; padding: 12px 8px; font-size: 13px; }

/* ===== v20260903.22 移动端精简：选品中心（数据源→采集→选品 核心流）===== */
html.gemi-mobile #page-smartselect .model-trust-flow { display: none !important; }
html.gemi-mobile #page-smartselect .module-card { padding: 12px; border-radius: 12px; margin-bottom: 10px; }
html.gemi-mobile #page-smartselect #ssSourceList { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 8px 10px; }
html.gemi-mobile #page-smartselect #ssSourceList label { font-size: 12px; gap: 5px; }
html.gemi-mobile #page-smartselect .smartselect-card { box-shadow: 0 2px 10px rgba(16,44,33,.04); }
html.gemi-mobile #page-smartselect [style*="text-align:center"] button,
html.gemi-mobile #page-smartselect #smartSelectBtn { width: 100%; padding: 13px 20px; font-size: 15px; border-radius: 12px; }
html.gemi-mobile #page-smartselect .ss-cloud-stat { font-size: 13px; }
html.gemi-mobile #page-smartselect .ss-option-label { font-size: 12px; }
html.gemi-mobile #page-smartselect #smartSelectProgress .ss-model-step { width: 100% !important; }

/* ===== v20260903.22 移动端精简：内容中心·作图工作台（默认折叠配置面板，只留任务流）===== */
html.gemi-mobile #page-materialmgmt .mat-batch-dropdown,
html.gemi-mobile #page-materialmgmt .mat-batch-menu { display: none !important; }
html.gemi-mobile #page-materialmgmt .mat-workbench-header { flex-direction: column; align-items: flex-start; gap: 8px; }
html.gemi-mobile #page-materialmgmt .mat-workbench-header p { font-size: 12px; }
html.gemi-mobile #page-materialmgmt .mat-header-actions { flex-wrap: wrap; gap: 6px; }
html.gemi-mobile #page-materialmgmt .mat-workbench-layout { display: block !important; }
html.gemi-mobile #page-materialmgmt .mat-config-panel { display: none !important; }
html.gemi-mobile #page-materialmgmt .mat-workbench-main { width: 100% !important; min-width: 0 !important; }

/* ===== v20260903.22 移动端独立 App 壳（打破桌面设计：App 顶栏 + 卡片化内容 + 底部 Tab）===== */
/* 隐藏桌面顶栏（品牌条） */
html.gemi-mobile .topbar { display: none !important; }
/* App 顶栏 */
html.gemi-mobile .ma-topbar {
    display: flex !important; align-items: center; justify-content: space-between;
    position: sticky; top: 0; z-index: 900;
    background: linear-gradient(135deg, #176C39 0%, #0f4f2a 100%); color: #fff;
    padding: 10px 14px; min-height: 48px; box-sizing: border-box;
    box-shadow: 0 2px 10px rgba(16,44,33,.18);
}
html.gemi-mobile .ma-topbar-title { font-size: 17px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
html.gemi-mobile .ma-topbar-title i { font-size: 15px; opacity: .9; }
html.gemi-mobile .ma-topbar-actions { display: flex; gap: 8px; }
html.gemi-mobile .ma-topbar-actions button {
    background: rgba(255,255,255,.14); color: #fff; border: none; width: 34px; height: 34px;
    border-radius: 10px; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
html.gemi-mobile .ma-topbar-actions button:active { background: rgba(255,255,255,.28); }
/* 内容区 App 化：浅灰底 + 白卡片 */
html.gemi-mobile .content { background: #f4f7f5; padding: 0 0 110px !important; }
html.gemi-mobile .content > .page-section { padding: 10px 12px; }
/* 隐藏各页桌面式标题行（App 顶栏已接管） */
html.gemi-mobile .content .gemi-page-title,
html.gemi-mobile #page-smartselect > div:first-child > h2,
html.gemi-mobile #page-products .product-header-row h2 { display: none !important; }
/* 主内容区可滚动，App 顶栏吸顶 */
html.gemi-mobile .main-body { height: calc(100vh - 48px) !important; overflow-y: auto !important; }

/* ===== v20260903.22 移动端 App 化统一（商品中心 + 通用模块卡）===== */
/* 商品统计卡：白底圆角大数字 */
/* ZLY于2026-09-05修改：移动端统计卡片2列布局，避免6列挤压 */
html.gemi-mobile #page-products .product-kpi-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; margin-bottom: 12px; }
html.gemi-mobile #page-products .product-kpi-card {
    background: #fff !important; border-radius: 14px !important; padding: 14px 12px !important;
    box-shadow: 0 2px 10px rgba(16,44,33,.05); border: none !important;
}
html.gemi-mobile #page-products .product-kpi-card .k-value { font-size: 26px !important; }
html.gemi-mobile #page-products .product-kpi-card .k-label { font-size: 13px !important; }
html.gemi-mobile #page-products .product-kpi-card .k-sub { font-size: 10px !important; }
html.gemi-mobile #page-products .product-kpi-card .k-icon { transform: scale(.85) !important; }
/* 商品搜索栏：白底圆角卡 */
html.gemi-mobile #page-products .product-search-bar {
    background: #fff !important; border-radius: 14px !important;
    box-shadow: 0 2px 10px rgba(16,44,33,.05) !important;
}
html.gemi-mobile #page-products #productSearch { background: #f4f7f5 !important; border-radius: 10px !important; border: none !important; }
html.gemi-mobile #page-products #productSearchBtn { border-radius: 10px !important; }
html.gemi-mobile #page-products #mFilterBtn,
html.gemi-mobile #page-products #refreshProductsBtn { border-radius: 10px !important; background: #f4f7f5 !important; border: none !important; }
/* 新增商品按钮 */
html.gemi-mobile #page-products #addProductBtn { border-radius: 12px !important; }
/* 通用模块卡 App 化（选品/内容等） */
html.gemi-mobile .content .module-card,
html.gemi-mobile .content .mat-shelf-header,
html.gemi-mobile .content .mat-shelf-kpis,
html.gemi-mobile .content .smartselect-card {
    border-radius: 14px !important; box-shadow: 0 2px 10px rgba(16,44,33,.05) !important;
}
/* 移动端列表容器留白统一 */
html.gemi-mobile .content .page-section { padding-bottom: 16px; }

/* ===== v20260903.22 商品中心移动端 App 化美化 ===== */
/* 卡片：无边框圆角白卡，大图 */
html.gemi-mobile #productList .m-card {
    border: none !important;
    border-radius: 16px !important;
    padding: 12px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(16,44,33,.06) !important;
}
html.gemi-mobile #productList .m-card-row { gap: 12px; align-items: center; }
html.gemi-mobile #productList .m-card-row > img {
    width: 76px !important;
    height: 76px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    box-shadow: 0 1px 4px rgba(16,44,33,.1);
}
/* 商品名：双行截断，主色 */
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:first-child {
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #1a2b23 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.35 !important;
}
/* SKU 行 */
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(2) {
    font-size: 11px !important;
    color: #98a3ad !important;
    margin-top: 3px !important;
}
/* 价格/库存行：¥绿 $蓝 分层 */
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(3) {
    font-size: 12.5px !important;
    margin-top: 5px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 2px !important;
}
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(3) > span:nth-child(1) { color: #176C39 !important; font-weight: 700 !important; }
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(3) > span:nth-child(3) { color: #1565C0 !important; font-weight: 600 !important; }
/* 库存徽章 */
html.gemi-mobile #productList .gemi-inline-warehouse {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    background: #f0f5f2 !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    margin-left: 6px !important;
}
/* 右侧竖排操作：胶囊按钮 */
html.gemi-mobile #productList .m-card-side { gap: 8px !important; }
html.gemi-mobile #productList .m-side-btn {
    min-width: 52px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    box-shadow: 0 2px 6px rgba(16,44,33,.12) !important;
}
html.gemi-mobile #productList .m-side-add { background: linear-gradient(135deg,#ff8f00,#ff6f00) !important; }
html.gemi-mobile #productList .m-side-price { background: linear-gradient(135deg,#176C39,#1f8a4d) !important; }
html.gemi-mobile #productList .m-side-btn:active { transform: scale(.94); }
/* 卡片按压反馈 */
html.gemi-mobile #productList .m-card:active { transform: scale(.985); }
/* 空态/加载态 App 化 */
html.gemi-mobile #productList > div[style*="text-align:center"] {
    background: #fff !important;
    border-radius: 16px !important;
    margin: 10px 0 !important;
    color: #98a3ad !important;
}

/* ===== v20260903.22 商品中心：右侧操作改小为紧凑图标钮（避免挤压左边）===== */
html.gemi-mobile #productList .m-card-side { gap: 6px !important; }
html.gemi-mobile #productList .m-side-btn {
    min-width: 38px !important;
    width: 38px !important;
    height: 34px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    box-shadow: none !important;
}
html.gemi-mobile #productList .m-side-btn .m-side-text { display: none !important; }
html.gemi-mobile #productList .m-card-row { gap: 10px !important; }
html.gemi-mobile #productList .m-card-row > img {
    width: 68px !important;
    height: 68px !important;
    border-radius: 10px !important;
}

/* ===== v20260903.23 商品卡片：自适应两端对齐 ===== */
html.gemi-mobile #productList .m-card-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}
/* 中间信息区撑满剩余空间 */
html.gemi-mobile #productList .m-card-row > div:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
/* 价格/库存行：两端分布（价格左、库存右） */
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(3) {
    justify-content: space-between !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
}
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(3) > span:last-child {
    margin-left: auto !important;
}
/* 右侧按钮固定在最右 */
html.gemi-mobile #productList .m-card-side {
    flex-shrink: 0 !important;
    margin-left: 6px !important;
}

/* ===== v20260903.23 App 壳细节补齐：5页头部统一由 App 顶栏接管 ===== */
/* 选品页：隐藏头部清空键（移动端由底部操作栏接管） */
html.gemi-mobile #page-selection > div:first-child > div > button { display: none !important; }
/* 内容中心工作台：标题/副标题由 App 顶栏接管，保留任务刷新 */
html.gemi-mobile #page-materialmgmt .mat-workbench-header h2,
html.gemi-mobile #page-materialmgmt .mat-workbench-header p { display: none !important; }
html.gemi-mobile #page-materialmgmt .mat-workbench-header {
    flex-direction: row !important; align-items: center !important; justify-content: flex-end !important;
    padding: 0 2px 8px !important; margin-bottom: 0 !important;
}
html.gemi-mobile #page-materialmgmt .mat-btn-refresh {
    width: 38px !important; height: 34px !important; padding: 0 !important; border-radius: 10px !important;
    font-size: 13px !important; background: #fff !important; color: #176C39 !important; border: none !important;
    box-shadow: 0 2px 8px rgba(16,44,33,.08) !important; display: flex !important; align-items: center !important; justify-content: center !important;
}
/* 审核中心：标题由 App 顶栏接管 */
html.gemi-mobile #page-matconfirm .arv-top-center h2 { display: none !important; }
html.gemi-mobile #page-matconfirm .arv-top { justify-content: flex-end !important; padding: 0 2px 6px !important; }
html.gemi-mobile #page-matconfirm .arv-top-btn {
    width: 38px !important; height: 34px !important; padding: 0 !important; border-radius: 10px !important;
    font-size: 13px !important; background: #fff !important; color: #176C39 !important; border: none !important;
    box-shadow: 0 2px 8px rgba(16,44,33,.08) !important; display: flex !important; align-items: center !important; justify-content: center !important;
}
html.gemi-mobile #page-matconfirm .arv-top-btn .gemi-responsive-text,
html.gemi-mobile #page-matconfirm .arv-top-btn > .fas.fa-chevron-down { display: none !important; }

/* ===== v20260903.25 商品卡片：修复库存徽章显示（价格行单行两端分布）===== */
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(3) {
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 2px !important;
    overflow: hidden !important;
}
html.gemi-mobile #productList .m-card-row > div:nth-child(2) > div:nth-child(3) > span:last-child {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

/* ===== v20260903.28：导入进度提示框关闭键（后台继续导入） ===== */
/* ZLY于2026-09-05修改：优化导入进度条布局，增加图片列宽度，确保图片和文字不重叠 */
.shared-import-banner{grid-template-columns:48px minmax(0,1fr) 44px 24px;padding:10px 10px 10px 12px;gap:10px;align-items:center}
/* ZLY于2026-09-05修改：导入进度条左侧商品图片样式。确保图片不溢出，文字不重叠。 */
.shared-import-banner .sib-icon{width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px;background:#f0f2f5;flex:none;align-self:center;position:relative;z-index:1}
.shared-import-banner .sib-icon img{width:100%;height:100%;object-fit:cover;display:block;max-width:100%;max-height:100%}
.shared-import-banner .sib-icon i{font-size:20px;color:#176C39}
.shared-import-banner .sib-main{min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:2px}
.shared-import-banner .sib-title{font-size:13px;font-weight:600;color:#1A1B1C;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shared-import-banner .sib-detail{font-size:11px;color:#6B7280;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shared-import-banner .sib-track{width:100%;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-top:2px}
.shared-import-banner .sib-fill{height:100%;background:linear-gradient(90deg,#176C39,#22c55e);border-radius:2px;transition:width 0.3s ease}
.shared-import-banner .sib-percent{font-size:13px;font-weight:700;color:#176C39;align-self:center;text-align:center;min-width:40px}
.shared-import-banner .sib-close{width:24px;height:24px;line-height:1;border:none;background:#eef2ef;color:#6b7d72;border-radius:50%;font-size:16px;font-weight:700;cursor:pointer;padding:0;align-self:center;justify-self:center;display:flex;align-items:center;justify-content:center;flex:none}
.shared-import-banner .sib-close:hover{background:#dfe7e1;color:#333}
html.gemi-mobile .shared-import-banner{grid-template-columns:40px minmax(0,1fr) 38px 22px;width:calc(100vw - 16px);top:8px;gap:8px;padding:8px 8px 8px 10px}
html.gemi-mobile .shared-import-banner .sib-icon{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px}
html.gemi-mobile .shared-import-banner .sib-close{width:22px;height:22px;font-size:14px}

/* ===== v20260903.29：桌面端始终完整布局——修复窗口较窄(769-1100px)时桌面端被裸@media压缩成移动端收纳 ===== */
html:not(.gemi-mobile) #sidebar.sidebar,
html:not(.gemi-mobile) .sidebar{
    width:200px !important;flex:0 0 200px !important;min-width:200px !important;max-width:200px !important;
    padding-top:14px !important;display:flex !important;flex-direction:column !important;
}
html:not(.gemi-mobile) .sidebar .menu-item,
html:not(.gemi-mobile) #qlAdminLinks .menu-item,
html:not(.gemi-mobile) #qlUserLinks .menu-item{
    min-height:42px !important;height:42px !important;padding:0 14px !important;gap:10px !important;
}
html:not(.gemi-mobile) .sidebar-tool-name{font-size:15px !important}
html:not(.gemi-mobile) .sidebar-tool-meta{margin:0 20px 12px !important;padding:10px 4px 18px !important}
html:not(.gemi-mobile) .topbar-slogan{font-size:13px !important}
html:not(.gemi-mobile) .topbar .gemi-brand-with-art .gemi-header-tool-name{font-size:16px !important;padding-right:12px !important}

/* ===== ZLY于2026年9月6日添加：用户余额卡片样式 ===== */
.gemi-ai-balance-card{
    display:flex;align-items:center;gap:16px;
    padding:16px 20px;margin-bottom:16px;
    border-radius:12px;background:linear-gradient(135deg,#1B4332 0%,#2D6A4F 100%);
    color:#fff;position:relative;overflow:hidden;
}
.gemi-ai-balance-card::before{
    content:'';position:absolute;top:-50%;right:-20%;width:200px;height:200px;
    background:radial-gradient(circle,rgba(232,116,60,.2) 0%,transparent 70%);
    border-radius:50%;
}
.gemi-ai-balance-icon{
    width:48px;height:48px;border-radius:12px;
    background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;
    font-size:22px;flex-shrink:0;
}
.gemi-ai-balance-info{flex:1;min-width:0;z-index:1;}
.gemi-ai-balance-amount{font-size:28px;font-weight:700;line-height:1.2;}
.gemi-ai-balance-label{font-size:12px;opacity:.85;margin-top:2px;}
.gemi-ai-balance-stats{
    display:flex;gap:24px;z-index:1;
}
.gemi-ai-balance-stats > div{text-align:center;}
.gemi-ai-balance-stats span{display:block;font-size:11px;opacity:.75;margin-bottom:2px;}
.gemi-ai-balance-stats strong{font-size:14px;font-weight:600;}
.gemi-ai-balance-actions{display:flex;flex-direction:column;gap:8px;z-index:1;}
.gemi-ai-recharge-btn{
    padding:8px 16px;border-radius:8px;border:none;
    background:#E8743C;color:#fff;font-size:13px;font-weight:600;
    cursor:pointer;transition:all .2s;white-space:nowrap;
}
.gemi-ai-recharge-btn:hover{background:#d4632e;transform:translateY(-1px);}
.gemi-ai-balance-detail-btn{
    padding:6px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.3);
    background:transparent;color:#fff;font-size:12px;cursor:pointer;
    transition:all .2s;white-space:nowrap;
}
.gemi-ai-balance-detail-btn:hover{background:rgba(255,255,255,.1);}
.gemi-ai-balance-low .gemi-ai-balance-icon{background:rgba(250,173,20,.25);}
.gemi-ai-balance-empty .gemi-ai-balance-icon{background:rgba(234,102,104,.25);}
.gemi-ai-balance-empty .gemi-ai-recharge-btn{animation:pulse 2s infinite;}
@keyframes pulse{
    0%,100%{box-shadow:0 0 0 0 rgba(232,116,60,.4);}
    50%{box-shadow:0 0 0 8px rgba(232,116,60,0);}
}
@media (max-width:640px){
    .gemi-ai-balance-card{flex-wrap:wrap;padding:14px;gap:12px;}
    .gemi-ai-balance-stats{width:100%;justify-content:space-around;}
    .gemi-ai-balance-actions{flex-direction:row;width:100%;}
    .gemi-ai-recharge-btn,.gemi-ai-balance-detail-btn{flex:1;}
}

/* ===== ZLY于2026年9月6日添加：审核中心后台自动运行——隐藏审核中心菜单项，只显示上架中心 ===== */
.menu-item[data-tab="matconfirm"]{display:none !important;}
.nav-item[data-tab="matconfirm"]{display:none !important;}
/* 内容中心左侧菜单栏滚动修复：确保overflow-y和max-height生效 */
.gs-left{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    max-height:calc(100vh - 80px) !important;
    scrollbar-width:thin !important;
    scrollbar-color:#D5DDE4 transparent !important;
}
.gs-left::-webkit-scrollbar{width:8px !important;display:block !important;}
.gs-left::-webkit-scrollbar-thumb{background:#D5DDE4 !important;border-radius:8px !important;}
.gs-left::-webkit-scrollbar-track{background:transparent !important;}

/* ===== v20260907.2 内容中心重设计-第2步：批次看板 ===== */
.prod-batch-board {
    margin: 0 0 16px 0;
    padding: 12px 0;
    border-bottom: 1px solid #e8e8e8;
}
.prod-batch-scroll {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 2px 8px 2px;
    scrollbar-width: thin;
}
.prod-batch-scroll::-webkit-scrollbar { height: 6px; }
.prod-batch-scroll::-webkit-scrollbar-thumb { background: #d0d0d0; border-radius: 3px; }
.prod-batch-card {
    flex: 0 0 auto;
    min-width: 160px;
    max-width: 200px;
    padding: 10px 12px;
    background: #fff;
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}
.prod-batch-card:hover {
    border-color: #1B4332;
    box-shadow: 0 2px 8px rgba(27,67,50,0.1);
}
.prod-batch-card.active {
    border-color: #1B4332;
    background: linear-gradient(135deg, rgba(27,67,50,0.05), rgba(232,116,60,0.05));
    box-shadow: 0 2px 8px rgba(27,67,50,0.15);
}
.prod-batch-card.ungrouped {
    border-style: dashed;
    opacity: 0.8;
}
.prod-batch-name {
    font-size: 13px;
    font-weight: 600;
    color: #1B4332;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.prod-batch-name i {
    margin-right: 4px;
    font-size: 11px;
}
.prod-batch-progress {
    height: 4px;
    background: #e8e8e8;
    border-radius: 2px;
    margin-bottom: 6px;
    overflow: hidden;
}
.prod-batch-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #1B4332, #E8743C);
    border-radius: 2px;
    transition: width 0.3s ease;
}
.prod-batch-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    font-size: 11px;
    color: #666;
}
.prod-batch-stat {
    background: #f5f5f5;
    padding: 1px 6px;
    border-radius: 8px;
}
.prod-batch-stat.running {
    background: rgba(27,67,50,0.1);
    color: #1B4332;
}
.prod-batch-stat.needs {
    background: rgba(232,116,60,0.1);
    color: #E8743C;
}
.prod-batch-recipe {
    margin-top: 6px;
    font-size: 10px;
    color: #1B4332;
}
.prod-batch-recipe.none {
    color: #999;
}
.prod-batch-recipe i {
    margin-right: 3px;
}
.prod-batch-history {
    flex: 0 0 auto;
    min-width: 100px;
    padding: 10px 12px;
    background: #fafafa;
    border: 1px dashed #ccc;
    border-radius: 10px;
    cursor: pointer;
    font-size: 12px;
    color: #999;
    position: relative;
}
.prod-batch-history i {
    margin-right: 4px;
    transition: transform 0.2s;
}
.prod-batch-history.expanded i {
    transform: rotate(90deg);
}
.prod-batch-history-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 100;
    max-height: 200px;
    overflow-y: auto;
    margin-top: 4px;
}
.prod-batch-history.expanded .prod-batch-history-list {
    display: block;
}
.prod-batch-history-item {
    padding: 8px 12px;
    font-size: 12px;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
}
.prod-batch-history-item:hover {
    background: #f5f5f5;
    color: #1B4332;
}
.prod-batch-history-item:last-child {
    border-bottom: none;
}
/* ===== 批次看板样式结束 ===== */

/* ===== v20260907.2 组合行强化 ===== */
.prod-row-combo {
    background: linear-gradient(90deg, rgba(27,67,50,0.02), transparent);
}
.prod-row-combo:hover {
    background: linear-gradient(90deg, rgba(27,67,50,0.05), rgba(232,116,60,0.02));
}
.prod-combo-badge {
    display: inline-block;
    background: linear-gradient(135deg, #1B4332, #2D6A4F);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    margin-bottom: 4px;
    white-space: nowrap;
}
.prod-combo-badge i {
    margin-right: 3px;
}
/* ===== 组合行强化结束 ===== */

/* ===== v20260907.3 待办事件卡片 ===== */
.prod-batch-divider {
    flex: 0 0 auto;
    width: 1px;
    background: #e0e0e0;
    margin: 0 4px;
    align-self: stretch;
}
.prod-batch-card.todo-card {
    border-style: solid;
    border-width: 2px;
}
.prod-batch-card.todo-card.active {
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.prod-batch-card.todo-clear {
    border-style: dashed;
    border-color: #999;
    opacity: 0.7;
}
.prod-batch-card.todo-clear:hover {
    opacity: 1;
    border-color: #666;
}
/* ===== 待办事件卡片结束 ===== */

/* ===== v20260907.10 批次卡片整批生成按钮 ===== */
.prod-batch-gen-btn {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 5px 8px;
    background: linear-gradient(135deg, #1B4332, #2D6A4F);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}
.prod-batch-gen-btn:hover {
    background: linear-gradient(135deg, #2D6A4F, #1B4332);
    box-shadow: 0 2px 6px rgba(27,67,50,0.3);
}
.prod-batch-gen-btn i {
    margin-right: 3px;
}
/* ===== 整批生成按钮结束 ===== */

/* ===== v20260907.22 Day 3-5 步骤8：待办聚合条（侧栏进入内容中心后第一眼可见） ===== */
.prod-todo-bar {
    margin: 0 0 14px 0;
    padding: 10px 14px;
    background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
    border-left: 4px solid #E8743C;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    box-shadow: 0 1px 4px rgba(232,116,60,0.1);
}
.prod-todo-bar-empty {
    margin: 0 0 14px 0;
    padding: 8px 14px;
    background: #F0FDF4;
    border-left: 4px solid #22C55E;
    border-radius: 8px;
    font-size: 13px;
    color: #166534;
    display: flex;
    align-items: center;
    gap: 8px;
}
.prod-todo-bar-label {
    font-size: 13px;
    color: #9A3412;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}
.prod-todo-bar-label i {
    color: #E8743C;
    font-size: 14px;
}
.prod-todo-bar-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    flex: 1;
}
.prod-todo-chip {
    padding: 4px 10px;
    background: #fff;
    border: 1px solid #FDBA74;
    border-radius: 12px;
    font-size: 12px;
    color: #9A3412;
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.prod-todo-chip:hover {
    background: #E8743C;
    color: #fff;
    border-color: #E8743C;
}
.prod-todo-chip-count {
    background: #E8743C;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 9px;
    padding: 0 5px;
}
.prod-todo-chip:hover .prod-todo-chip-count {
    background: #fff;
    color: #E8743C;
}
/* ===== 待办聚合条结束 ===== */

/* ===== v20260907.23 Day 6：合格率 Dashboard 样式 ===== */
.gqd-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 12px;
}
.gqd-card {
    background: #fff;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid #f0f0f0;
}
.gqd-overview {
    grid-column: span 1;
}
.gqd-fail, .gqd-models, .gqd-types {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.gqd-table-card {
    overflow: hidden;
}
.gqd-trend {
    background: #fff;
}
@media (max-width: 900px) {
    .gqd-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .gqd-grid[style*="1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 480px) {
    .gqd-grid {
        grid-template-columns: 1fr;
    }
}
/* ===== Day 6 合格率 Dashboard 样式结束 ===== */

/* ===== v20260907.24 Day 7：官方核价 4 态 Summary 样式 ===== */
.px-fqs-card {
    transition: all 0.2s ease;
}
.px-fqs-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
@media (max-width: 900px) {
    #pxFinalQuoteSummary > div[style*="display:flex"] {
        flex-direction: column !important;
    }
    .px-fqs-card {
        min-width: 0 !important;
    }
}
/* ===== Day 7 官方核价 4 态 Summary 样式结束 ===== */

/* ===== v20260907.25 Day 8：img2img 上传组件增强 ===== */
/* 拖拽高亮态（半透明暖橙背景 + 实线橙色边框） */
.gs-batch-upload.drag-over {
    border-color: #E8743C !important;
    border-style: solid !important;
    background: linear-gradient(0deg, rgba(232,116,60,.08), rgba(232,116,60,.08)), #F8FAF9 !important;
    box-shadow: 0 0 0 3px rgba(232,116,60,.18) inset;
    transform: scale(1.005);
    transition: all .15s ease;
}
.gs-batch-upload {
    transition: all .15s ease;
}
/* 上传进度条（任务级） */
.gs-batch-progress {
    margin-top: 10px;
    padding: 6px 8px;
    background: #fff;
    border: 1px solid #E0E6E1;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.gs-batch-progress-bar {
    height: 6px;
    background: #EAEFE9;
    border-radius: 4px;
    overflow: hidden;
}
.gs-batch-progress-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #1B4332, #2E6F4F);
    border-radius: 4px;
    transition: width .25s ease;
}
.gs-batch-progress-text {
    font-size: 11px;
    color: #4A5160;
    margin-top: 4px;
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
/* 品牌色预览按钮（缩略图左下角） */
.gs-batch-thumb-brandbtn {
    position: absolute;
    bottom: -6px;
    left: -6px;
    padding: 2px 6px 2px 5px;
    border-radius: 12px;
    background: rgba(255,255,255,.94);
    color: #4A5160;
    border: 1px solid #C9D4CE;
    cursor: pointer;
    font-size: 10px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
    z-index: 2;
}
.gs-batch-thumb-brandbtn i { font-size: 9px; color: #E8743C; }
.gs-batch-thumb-brandbtn:hover {
    background: #fff;
    border-color: #E8743C;
    color: #E8743C;
}
/* 品牌色叠加蒙层（覆盖在图片上） */
.gs-batch-thumb-overlay {
    position: absolute;
    inset: 0;
    border-radius: 6px;
    pointer-events: none;
    transition: opacity .2s ease;
    z-index: 1;
}
.gs-batch-thumb.has-brand {
    box-shadow: 0 0 0 2px #E8743C, 0 2px 6px rgba(232,116,60,.3);
}
/* 改进上传提示文案（品牌色行） */
.gs-batch-upload-tip { line-height: 1.7; }
.gs-batch-upload-tip i { color: #1B4332; margin-right: 3px; }
/* ===== Day 8 img2img 上传增强样式结束 ===== */

/* ===== v20260907.27 Day 9 图类型路由面板样式 ===== */
#page-imagerouter .pm-page-header { padding: 16px 20px 12px; }
.gir-banner {
    background: linear-gradient(135deg, #F0F7F4 0%, #FFF7F0 100%);
    border: 1px solid #E4EBE6;
    border-left: 4px solid #1B4332;
    padding: 12px 18px;
    border-radius: 10px;
    font-size: 13px;
    color: #2C4A3A;
    margin-bottom: 14px;
    line-height: 1.7;
}
.gir-banner i { color: #1B4332; margin-right: 4px; }
.gir-toolbar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    align-items: center;
}
.gir-table-wrap {
    background: #fff;
    border: 1px solid #E8ECF1;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    overflow-x: auto;
    margin-bottom: 14px;
}
.gir-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 800px;
}
.gir-table th {
    background: #177A45;
    color: #fff;
    font-weight: 600;
    padding: 11px 14px;
    text-align: left;
    white-space: nowrap;
}
.gir-table td {
    padding: 14px;
    border-bottom: 1px solid #F0F3F1;
    vertical-align: middle;
    color: #1F3A2A;
}
.gir-table tr:last-child td { border-bottom: none; }
.gir-table tr:hover { background: #FAFCFA; }
.gir-type b { font-size: 14px; color: #1B4332; }
.gir-type-key {
    font-size: 11px;
    color: #5f6f66;
    font-family: Menlo, Consolas, monospace;
    margin-top: 2px;
}
.gir-mode {
    display: inline-flex;
    background: #F3F6F4;
    border-radius: 8px;
    padding: 3px;
    gap: 2px;
}
.gir-mode-opt {
    cursor: pointer;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    color: #5f6f66;
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
}
.gir-mode-opt input { display: none; }
.gir-mode-opt.active {
    background: #fff;
    color: #1B4332;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.gir-mode-opt[onchange*="ai_gen"].active { color: #E8743C; }
.gir-mode-opt[onchange*="zero_gen"].active { color: #1B4332; }
.gir-model-select {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #D5DDE2;
    border-radius: 8px;
    font-size: 13px;
    background: #fff;
    box-sizing: border-box;
}
.gir-model-select:focus { outline: none; border-color: #1B4332; }
.gir-model-custom {
    width: 100%;
    margin-top: 6px;
    padding: 7px 10px;
    border: 1px solid #D5DDE2;
    border-radius: 8px;
    font-size: 13px;
    font-family: Menlo, Consolas, monospace;
    box-sizing: border-box;
}
.gir-model-disabled {
    color: #5f6f66;
    font-style: italic;
    font-size: 12px;
    padding: 6px 0;
}
.gir-desc { color: #5f6f66; font-size: 12px; line-height: 1.6; }
.gir-raw {
    background: #fff;
    border: 1px solid #E8ECF1;
    border-radius: 12px;
    padding: 14px 18px;
    margin-top: 8px;
}
.gir-raw summary {
    cursor: pointer;
    font-size: 13px;
    color: #1B4332;
    font-weight: 600;
    user-select: none;
}
.gir-raw summary i { margin-right: 5px; }
.gir-raw-textarea {
    width: 100%;
    margin-top: 12px;
    padding: 10px;
    border: 1px solid #D5DDE2;
    border-radius: 8px;
    font-family: Menlo, Consolas, monospace;
    font-size: 12px;
    color: #1F3A2A;
    box-sizing: border-box;
    resize: vertical;
    min-height: 200px;
}
.gir-raw .gemi-btn { margin-top: 10px; }
/* 移动端路由面板：表格转卡片 */
@media (max-width: 768px) {
    .gir-table-wrap { overflow-x: auto; }
    .gir-mode { flex-direction: column; }
    .gir-toolbar { gap: 6px; }
    .gir-toolbar .gemi-btn { padding: 7px 10px; font-size: 12px; }
}
/* ===== Day 9 图类型路由面板样式结束 ===== */
/* ===== v20260907.30 Day 11 内容中心 · 批次流水线 BP=BATCH PIPELINE ===== */
#page-prodctrl { padding: 14px 18px 18px; }
/* ① 顶部 header：批次选择器 + 4 态 Summary */
.bp-header {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
    padding: 14px 16px;
    background: linear-gradient(135deg, #FFFFFF 0%, #F8FAF9 100%);
    border: 1px solid #E8ECF1; border-radius: 14px;
    margin-bottom: 12px;
}
.bp-header-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex: 1; min-width: 280px; }
.bp-title { margin: 0; font-size: 18px; font-weight: 600; color: #1B4332; display: flex; align-items: center; gap: 7px; }
.bp-title i { color: #E8743C; font-size: 16px; }
.bp-batch-select {
    padding: 7px 12px; min-width: 220px;
    border: 1px solid #D5DDE2; border-radius: 8px;
    background: #fff; font-size: 13px; color: #1F3A2A;
    cursor: pointer;
}
.bp-newbatch-btn {
    padding: 7px 14px;
    border: 1px dashed #1B4332; border-radius: 8px;
    background: #fff; color: #1B4332; cursor: pointer; font-size: 13px;
    display: inline-flex; align-items: center; gap: 5px;
    transition: background 0.15s ease;
}
.bp-newbatch-btn:hover { background: #1B4332; color: #fff; border-style: solid; }
.bp-search {
    padding: 7px 12px; min-width: 200px;
    border: 1px solid #D5DDE2; border-radius: 8px;
    background: #fff; font-size: 13px; color: #1F3A2A;
}
.bp-summary { display: flex; gap: 8px; flex-wrap: wrap; }
.bp-sum-card {
    min-width: 78px; padding: 10px 14px;
    background: #fff; border: 1px solid #E8ECF1; border-radius: 10px;
    text-align: center; cursor: pointer;
    transition: all 0.15s ease;
}
.bp-sum-card:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.bp-sum-card[data-status="passed"] { background: #E1F5EE; border-color: #5DCAA5; }
.bp-sum-card[data-status="generating"] { background: #FAEEDA; border-color: #EF9F27; }
.bp-sum-card[data-status="needs"] { background: #FCEBEB; border-color: #E24B4A; }
.bp-sum-card[data-status="pending"] { background: #F1F2F1; border-color: #D3D1C7; }
.bp-sum-num { display: block; font-size: 20px; font-weight: 600; line-height: 1.2; }
.bp-sum-card[data-status="passed"] .bp-sum-num { color: #0F6E56; }
.bp-sum-card[data-status="generating"] .bp-sum-num { color: #854F0B; }
.bp-sum-card[data-status="needs"] .bp-sum-num { color: #A32D2D; }
.bp-sum-card[data-status="pending"] .bp-sum-num { color: #5F5E5A; }
.bp-sum-label { display: block; font-size: 11px; margin-top: 2px; color: #5F6F66; }
.bp-sum-card[data-status="passed"] .bp-sum-label { color: #0F6E56; }
.bp-sum-card[data-status="generating"] .bp-sum-label { color: #854F0B; }
.bp-sum-card[data-status="needs"] .bp-sum-label { color: #A32D2D; }
/* ② 顶部批量操作条 */
.bp-bulk-bar {
    background: #1B4332; color: #fff;
    padding: 10px 16px; border-radius: 12px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
    margin-bottom: 12px;
    animation: bp-bulk-slide-in 0.18s ease-out;
}
@keyframes bp-bulk-slide-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
.bp-bulk-left, .bp-bulk-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bp-check { width: 14px; height: 14px; cursor: pointer; margin-right: 4px; }
.bp-bulk-count { font-size: 13px; font-weight: 600; }
.bp-bulk-count b { color: #FFFFFF; font-size: 15px; }
.bp-bulk-divider { width: 1px; height: 18px; background: rgba(255,255,255,0.25); margin: 0 4px; }
.bp-bulk-meta { font-size: 11px; opacity: 0.78; }
.bp-bulk-quick {
    padding: 5px 10px; background: rgba(255,255,255,0.10); color: #fff;
    border: 1px solid rgba(255,255,255,0.28); border-radius: 6px;
    cursor: pointer; font-size: 11px;
    transition: background 0.12s ease;
}
.bp-bulk-quick:hover { background: rgba(255,255,255,0.20); }
.bp-bulk-quick.active { background: #E8743C; border-color: #E8743C; }
.bp-bulk-act {
    padding: 7px 14px; background: rgba(255,255,255,0.12); color: #fff;
    border: 1px solid rgba(255,255,255,0.32); border-radius: 7px;
    cursor: pointer; font-size: 12px;
    display: inline-flex; align-items: center; gap: 5px;
    transition: all 0.12s ease;
}
.bp-bulk-act:hover { background: rgba(255,255,255,0.22); transform: translateY(-1px); }
.bp-bulk-act-primary { background: #E8743C; border-color: #E8743C; font-weight: 600; }
.bp-bulk-act-primary:hover { background: #d96d35; }
.bp-bulk-act-danger { background: #c0392b; border-color: #c0392b; font-weight: 600; }
.bp-bulk-act-danger:hover { background: #a93226; }
/* ③ 主视图容器（批次分组 + SKU 流水线卡片网格） */
.bp-main { min-height: 200px; }
.bp-batch-group { margin-bottom: 18px; }
.bp-batch-hd {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px;
    background: #FAF8F4; border: 1px solid #EFEAD7; border-radius: 10px 10px 0 0;
    border-bottom: none;
}
.bp-batch-hd-left { display: flex; align-items: center; gap: 8px; }
.bp-batch-hd-name {
    font-size: 13px; font-weight: 600; color: #854F0B;
    display: flex; align-items: center; gap: 6px;
}
.bp-batch-hd-name i { color: #E8743C; }
.bp-batch-hd-stats { font-size: 11px; color: #5F6F66; margin-left: 8px; }
.bp-batch-hd-count { font-size: 12px; color: #854F0B; }
.bp-batch-hd-actions { display: flex; align-items: center; gap: 6px; }
.bp-batch-hd-btn {
    padding: 4px 10px; background: #fff; color: #854F0B;
    border: 1px solid #EFEAD7; border-radius: 5px;
    cursor: pointer; font-size: 11px;
}
.bp-batch-hd-btn:hover { background: #FAEEDA; border-color: #854F0B; }
.bp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(252px, 1fr));
    gap: 12px;
    padding: 12px;
    background: #fff;
    border: 1px solid #E8ECF1; border-radius: 0 0 10px 10px;
    border-top: none;
}
.bp-card {
    background: #fff; border: 1px solid #E8ECF1; border-radius: 12px;
    overflow: hidden; cursor: pointer;
    transition: all 0.15s ease;
    display: flex; flex-direction: column;
}
.bp-card:hover { box-shadow: 0 4px 14px rgba(27, 67, 50, 0.10); transform: translateY(-2px); }
.bp-card[data-status="passed"] { border-color: #5DCAA5; }
.bp-card[data-status="generating"] { border-color: #EF9F27; }
.bp-card[data-status="needs"] { border-color: #E24B4A; }
.bp-card[data-status="pending"] { border-style: dashed; border-color: #B4B2A9; }
.bp-card-head {
    padding: 10px 12px;
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid #F2F4F3;
}
.bp-card-head-left { display: flex; align-items: center; gap: 7px; min-width: 0; flex: 1; }
.bp-card-check { width: 13px; height: 13px; cursor: pointer; flex-shrink: 0; }
.bp-card-name { font-size: 13px; font-weight: 600; color: #1F3A2A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bp-card-status {
    padding: 3px 8px; border-radius: 6px;
    font-size: 10px; font-weight: 600; white-space: nowrap; flex-shrink: 0;
}
.bp-card-status[data-status="passed"] { background: #E1F5EE; color: #0F6E56; }
.bp-card-status[data-status="generating"] { background: #FAEEDA; color: #854F0B; }
.bp-card-status[data-status="needs"] { background: #FCEBEB; color: #A32D2D; }
.bp-card-status[data-status="pending"] { background: #F1F2F1; color: #5F5E5A; }
.bp-card-thumbs {
    padding: 10px;
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px;
}
.bp-thumb {
    aspect-ratio: 1; border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    font-size: 9px; line-height: 1.1;
    text-align: center; padding: 2px;
    position: relative;
}
.bp-thumb[data-st="done"] { background: #E1F5EE; color: #0F6E56; }
.bp-thumb[data-st="running"] { background: #FAEEDA; color: #854F0B; }
.bp-thumb[data-st="needs"] { background: #FCEBEB; color: #A32D2D; }
.bp-thumb[data-st="empty"] { background: #fff; border: 1px dashed #D3D1C7; color: #888780; font-size: 13px; }
.bp-thumb-progress {
    position: absolute; bottom: 0; left: 0; height: 2px;
    background: #E8743C; border-radius: 0 0 0 4px;
}
.bp-card-foot {
    padding: 7px 12px 10px;
    display: flex; align-items: center; justify-content: space-between;
}
.bp-card-progress {
    flex: 1; height: 4px; border-radius: 2px;
    background: #F2F4F3; overflow: hidden; margin-right: 10px;
}
.bp-card-progress-bar {
    height: 100%; border-radius: 2px;
    transition: width 0.2s ease;
}
.bp-card-progress-bar[data-status="passed"] { background: #0F6E56; }
.bp-card-progress-bar[data-status="generating"] { background: #E8743C; }
.bp-card-progress-bar[data-status="needs"] { background: #E24B4A; }
.bp-card-progress-bar[data-status="pending"] { background: #B4B2A9; }
.bp-card-stats { font-size: 10px; color: #5F6F66; }
.bp-card-pass { color: #0F6E56; font-weight: 600; }
/* ④ 空状态 */
.bp-empty {
    text-align: center; padding: 60px 20px;
    background: #FAF8F4; border: 1px dashed #B4B2A9; border-radius: 14px;
    margin: 12px 0;
}
.bp-empty-icon { font-size: 56px; color: #B4B2A9; margin-bottom: 14px; }
.bp-empty-title { font-size: 16px; color: #1F3A2A; font-weight: 600; margin-bottom: 6px; }
.bp-empty-desc { font-size: 13px; color: #5F6F66; margin-bottom: 18px; }
.bp-empty-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.bp-empty-btn {
    padding: 9px 18px; border-radius: 8px;
    border: 1px solid #D5DDE2; background: #fff; color: #1F3A2A;
    cursor: pointer; font-size: 13px;
    display: inline-flex; align-items: center; gap: 5px;
    transition: all 0.12s ease;
}
.bp-empty-btn:hover { background: #F2F4F3; }
.bp-empty-btn.primary { background: #1B4332; color: #fff; border-color: #1B4332; }
.bp-empty-btn.primary:hover { background: #15352a; }
/* 移动端：卡片一列，summary 缩小 */
@media (max-width: 768px) {
    .bp-header { flex-direction: column; align-items: flex-start; }
    .bp-summary { width: 100%; justify-content: space-between; }
    .bp-sum-card { min-width: 64px; padding: 8px 10px; }
    .bp-sum-num { font-size: 18px; }
    .bp-grid { grid-template-columns: 1fr; }
    .bp-bulk-bar { flex-direction: column; align-items: flex-start; }
    .bp-bulk-right { width: 100%; }
}
/* ===== Day 11 批次流水线样式结束 ===== */
/* ===== v20260907.31 Day 12 全局规则页 GR=GLOBAL RULES ===== */
#page-globalrules { padding: 0 0 20px; }
/* 顶部 Tab 切换条 */
.gr-tabs {
    display: flex; gap: 4px; padding: 0 20px;
    background: #F8FAF9; border-bottom: 1px solid #E8ECF1;
    overflow-x: auto;
}
.gr-tab {
    padding: 12px 18px; background: transparent;
    border: none; border-bottom: 2px solid transparent;
    color: #5F6F66; cursor: pointer;
    font-size: 13px; font-weight: 500;
    transition: all 0.15s ease;
    white-space: nowrap;
}
.gr-tab:hover { color: #1B4332; background: #F1F2F1; }
.gr-tab.active {
    color: #1B4332; border-bottom-color: #E8743C;
    font-weight: 600;
}
.gr-tab i { margin-right: 6px; }
.gr-tab-body { min-height: 380px; }
/* 5 Tab 通用 banner 样式 */
.gr-cl-banner, .gr-bl-banner, .gr-mt-banner, .gr-tp-banner {
    padding: 12px 16px; margin-bottom: 16px;
    background: linear-gradient(135deg, #F1F2F1 0%, #FAF8F4 100%);
    border: 1px solid #E8ECF1; border-left: 3px solid #1B4332;
    border-radius: 8px; font-size: 13px; color: #1F3A2A;
}
.gr-cl-banner i, .gr-bl-banner i, .gr-mt-banner i, .gr-tp-banner i {
    color: #E8743C; margin-right: 6px;
}
/* Tab 2：品牌色素材库 */
.gr-cl-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}
.gr-cl-card {
    background: #fff; border: 1px solid #E8ECF1; border-radius: 12px;
    overflow: hidden; cursor: pointer;
    transition: all 0.15s ease; position: relative;
}
.gr-cl-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(27,67,50,0.10); }
.gr-cl-card.active { border-color: #E8743C; box-shadow: 0 0 0 2px rgba(232,116,60,0.25); }
.gr-cl-bg { height: 84px; }
.gr-cl-meta { padding: 12px 14px; }
.gr-cl-name { font-size: 14px; font-weight: 600; color: #1F3A2A; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.gr-cl-tag {
    padding: 2px 6px; background: #FAEEDA; color: #854F0B;
    border-radius: 4px; font-size: 10px; font-weight: 500;
}
.gr-cl-swatches { display: flex; gap: 4px; margin-bottom: 8px; }
.gr-cl-swatch { width: 18px; height: 18px; border-radius: 4px; display: inline-block; }
.gr-cl-props, .gr-cl-light { font-size: 11px; color: #5F6F66; margin-top: 4px; line-height: 1.5; }
.gr-cl-props i, .gr-cl-light i { color: #E8743C; margin-right: 4px; font-size: 10px; }
.gr-cl-applied {
    position: absolute; top: 8px; right: 8px;
    padding: 4px 8px; background: #E8743C; color: #fff;
    border-radius: 4px; font-size: 10px; font-weight: 600;
    display: flex; align-items: center; gap: 3px;
}
.gr-cl-footer {
    margin-top: 16px; padding: 12px 16px;
    background: #1B4332; color: #fff;
    border-radius: 8px; display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap; gap: 8px;
}
.gr-cl-footer-tip { font-size: 12px; }
.gr-cl-footer-tip b { color: #FFD0A5; }
.gr-cl-reset {
    padding: 6px 12px; background: rgba(255,255,255,0.12); color: #fff;
    border: 1px solid rgba(255,255,255,0.28); border-radius: 6px;
    cursor: pointer; font-size: 12px;
}
.gr-cl-reset:hover { background: rgba(255,255,255,0.22); }
/* Tab 3：黑名单 */
.gr-bl-toolbar {
    display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap;
}
.gr-bl-input {
    flex: 1; min-width: 200px;
    padding: 8px 12px; border: 1px solid #D5DDE2; border-radius: 7px;
    font-size: 13px;
}
.gr-bl-add, .gr-bl-test-btn {
    padding: 8px 14px; border: 1px solid #1B4332; border-radius: 7px;
    background: #1B4332; color: #fff;
    cursor: pointer; font-size: 13px; font-weight: 500;
}
.gr-bl-test-btn { background: #fff; color: #1B4332; }
.gr-bl-add:hover { background: #15352a; }
.gr-bl-test-btn:hover { background: #F1F2F1; }
.gr-bl-stats { font-size: 12px; color: #5F6F66; margin-bottom: 10px; }
.gr-bl-stats b { color: #E8743C; font-size: 14px; }
.gr-bl-grid {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding: 14px; background: #FAF8F4;
    border: 1px dashed #EFEAD7; border-radius: 8px;
}
.gr-bl-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 10px; background: #fff;
    border: 1px solid #E8ECF1; border-radius: 16px;
    font-size: 12px; color: #1F3A2A;
}
.gr-bl-chip:hover { border-color: #E8743C; }
.gr-bl-chip-x {
    background: transparent; border: none; cursor: pointer;
    color: #999; padding: 0; width: 14px; height: 14px;
    border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
}
.gr-bl-chip-x:hover { background: #FCEBEB; color: #A32D2D; }
.gr-bl-test { margin-top: 16px; padding: 14px; background: #fff; border: 1px solid #E8ECF1; border-radius: 8px; }
.gr-bl-test-title { font-size: 13px; font-weight: 600; color: #1F3A2A; margin-bottom: 8px; }
.gr-bl-test-title i { color: #E8743C; margin-right: 4px; }
.gr-bl-test-input {
    width: 100%; min-height: 80px; padding: 10px 12px;
    border: 1px solid #D5DDE2; border-radius: 6px;
    font-size: 12px; font-family: monospace;
}
.gr-bl-test-run {
    margin-top: 8px; padding: 6px 14px;
    background: #E8743C; color: #fff; border: none;
    border-radius: 6px; cursor: pointer; font-size: 12px;
}
.gr-bl-test-run:hover { background: #d96d35; }
.gr-bl-test-result { margin-top: 10px; }
.gr-bl-test-ok { color: #0F6E56; font-size: 13px; padding: 8px 12px; background: #E1F5EE; border-radius: 6px; }
.gr-bl-test-ok i { margin-right: 4px; }
.gr-bl-test-hits { color: #A32D2D; font-size: 13px; padding: 8px 12px; background: #FCEBEB; border-radius: 6px; }
.gr-bl-test-hits b { display: block; margin-bottom: 6px; }
/* Tab 4：一键抠图 */
.gr-mt-cards {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px; margin-bottom: 18px;
}
.gr-mt-card {
    background: #fff; border: 1px solid #E8ECF1; border-radius: 12px;
    padding: 16px; position: relative;
}
.gr-mt-card.status-ready { border-color: #5DCAA5; }
.gr-mt-card.status-pending { border-color: #EFEAD7; }
.gr-mt-card.status-config { border-color: #D5DDE2; }
.gr-mt-status {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 8px; border-radius: 4px;
    font-size: 11px; font-weight: 600; margin-bottom: 10px;
}
.gr-mt-card.status-ready .gr-mt-status { background: #E1F5EE; color: #0F6E56; }
.gr-mt-card.status-pending .gr-mt-status { background: #FAEEDA; color: #854F0B; }
.gr-mt-card.status-config .gr-mt-status { background: #F1F2F1; color: #5F6F66; }
.gr-mt-title { font-size: 14px; font-weight: 600; color: #1F3A2A; margin-bottom: 6px; }
.gr-mt-desc { font-size: 12px; color: #5F6F66; line-height: 1.5; margin-bottom: 8px; }
.gr-mt-tag { font-size: 11px; color: #1B4332; background: #F1F2F1; padding: 4px 8px; border-radius: 4px; display: inline-block; }
.gr-mt-btn {
    margin-top: 10px; padding: 5px 12px;
    background: #1B4332; color: #fff; border: none;
    border-radius: 6px; cursor: pointer; font-size: 11px;
}
.gr-mt-btn:disabled { background: #B4B2A9; cursor: not-allowed; }
.gr-mt-switch { position: relative; display: inline-block; width: 32px; height: 18px; vertical-align: middle; }
.gr-mt-switch input { opacity: 0; width: 0; height: 0; }
.gr-mt-switch-slider {
    position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
    background-color: #B4B2A9; transition: 0.2s; border-radius: 18px;
}
.gr-mt-switch-slider:before {
    position: absolute; content: ""; height: 14px; width: 14px;
    left: 2px; top: 2px; background-color: white;
    transition: 0.2s; border-radius: 50%;
}
.gr-mt-switch input:checked + .gr-mt-switch-slider { background-color: #E8743C; }
.gr-mt-switch input:checked + .gr-mt-switch-slider:before { transform: translateX(14px); }
.gr-mt-flow {
    background: #F8FAF9; border: 1px solid #E8ECF1;
    border-radius: 10px; padding: 14px 18px;
}
.gr-mt-flow-title { font-size: 13px; font-weight: 600; color: #1F3A2A; margin-bottom: 12px; }
.gr-mt-flow-title i { color: #E8743C; margin-right: 5px; }
.gr-mt-flow-steps {
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.gr-mt-step {
    background: #fff; border: 1px solid #E8ECF1;
    border-radius: 8px; padding: 10px 14px;
    display: flex; align-items: center; gap: 8px;
    flex: 1; min-width: 140px;
}
.gr-mt-step-active { background: #FAEEDA; border-color: #E8743C; }
.gr-mt-step-num {
    width: 22px; height: 22px; border-radius: 50%;
    background: #1B4332; color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 600;
}
.gr-mt-step-active .gr-mt-step-num { background: #E8743C; }
.gr-mt-step-label { font-size: 12px; color: #1F3A2A; font-weight: 500; }
.gr-mt-step-arrow { color: #E8743C; font-size: 16px; font-weight: 700; }
/* Tab 5：7 类图模板 */
.gr-tp-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}
.gr-tp-card {
    background: #fff; border: 1px solid #E8ECF1;
    border-radius: 12px; padding: 14px;
    transition: all 0.15s ease;
}
.gr-tp-card:hover { border-color: #E8743C; box-shadow: 0 2px 8px rgba(232,116,60,0.10); }
.gr-tp-card-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.gr-tp-emoji {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, #1B4332, #E8743C);
    border-radius: 8px; display: flex; align-items: center; justify-content: center;
    font-size: 18px;
}
.gr-tp-name { font-size: 14px; font-weight: 600; color: #1F3A2A; }
.gr-tp-en { font-size: 11px; color: #5F6F66; font-style: italic; margin-bottom: 6px; }
.gr-tp-desc { font-size: 12px; color: #5F6F66; line-height: 1.5; margin-bottom: 10px; }
.gr-tp-prompt {
    background: #0F2D22; color: #E1F5EE;
    padding: 8px 12px; border-radius: 6px;
    font-family: monospace; font-size: 11px; line-height: 1.6;
    margin-bottom: 10px; max-height: 80px; overflow: auto;
}
.gr-tp-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.gr-tp-btn {
    padding: 5px 12px; background: #fff; color: #1B4332;
    border: 1px solid #1B4332; border-radius: 6px;
    cursor: pointer; font-size: 11px;
}
.gr-tp-btn:hover { background: #1B4332; color: #fff; }
.gr-tp-routing { font-size: 11px; color: #5F6F66; }
.gr-tp-routing::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #E8743C; margin-right: 4px; vertical-align: middle; }
/* 侧栏「全局规则」新徽章 */
.menu-badge-new {
    background: #E8743C; color: #fff; font-size: 9px;
    padding: 1px 5px; border-radius: 8px; margin-left: 4px;
    font-weight: 700;
}
/* 移动端 */
@media (max-width: 768px) {
    .gr-cl-grid { grid-template-columns: 1fr; }
    .gr-mt-cards { grid-template-columns: 1fr; }
    .gr-tp-grid { grid-template-columns: 1fr; }
    .gr-mt-flow-steps { flex-direction: column; align-items: stretch; }
    .gr-mt-step-arrow { text-align: center; }
}
/* ===== Day 12 全局规则页样式结束 ===== */
/* ===== v20260907.32 Day 13 批量操作浮窗 + 多选筛选深化 ===== */

/* ① 图类型筛选 chip 行 */
.bp-imgtype-bar {
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    padding: 8px 12px; margin-bottom: 10px;
    background: #F8FAF9; border: 1px solid #E8ECF1; border-radius: 10px;
}
.bp-imgtype-label {
    font-size: 11px; color: #5F6F66; margin-right: 4px;
    display: inline-flex; align-items: center; gap: 4px;
}
.bp-imgtype-label i { color: #1B4332; }
.bp-imgtype-chip {
    padding: 4px 10px; background: #fff; color: #5F6F66;
    border: 1px solid #D5DDE2; border-radius: 14px;
    cursor: pointer; font-size: 11px;
    display: inline-flex; align-items: center; gap: 4px;
    transition: all 0.12s ease;
}
.bp-imgtype-chip:hover { background: #E1F5EE; border-color: #5DCAA5; color: #0F6E56; }
.bp-imgtype-chip.active {
    background: #1B4332; color: #fff; border-color: #1B4332;
    font-weight: 600;
}
.bp-imgtype-chip i { font-size: 10px; }

/* ② 选择模式按钮（全选/反选/清空） */
.bp-bulk-select-group {
    display: inline-flex; align-items: center; gap: 4px;
}
.bp-bulk-select {
    padding: 4px 10px; background: rgba(255,255,255,0.10); color: #fff;
    border: 1px solid rgba(255,255,255,0.22); border-radius: 5px;
    cursor: pointer; font-size: 11px;
}
.bp-bulk-select:hover { background: rgba(255,255,255,0.20); }

/* ③ 浮窗 modal */
.bp-modal {
    position: fixed; inset: 0; z-index: 9999;
    display: flex; align-items: center; justify-content: center;
}
.bp-modal-mask {
    position: absolute; inset: 0;
    background: rgba(15, 45, 34, 0.45);
    backdrop-filter: blur(2px);
    animation: bp-modal-fade-in 0.18s ease-out;
    z-index: 0;
}
@keyframes bp-modal-fade-in {
    from { opacity: 0; } to { opacity: 1; }
}
.bp-modal-box {
    position: relative;
    z-index: 1;
    background: #fff; border-radius: 14px;
    width: min(560px, 92vw); max-height: 86vh;
    display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(15, 45, 34, 0.32);
    animation: bp-modal-slide-in 0.22s ease-out;
}
@keyframes bp-modal-slide-in {
    from { transform: translateY(-12px) scale(0.98); opacity: 0; }
    to { transform: translateY(0) scale(1); opacity: 1; }
}
.bp-modal-head {
    padding: 16px 20px; border-bottom: 1px solid #F2F4F3;
    display: flex; align-items: center; justify-content: space-between;
}
.bp-modal-title {
    font-size: 16px; font-weight: 600; color: #1F3A2A;
    display: flex; align-items: center; gap: 8px;
}
.bp-modal-title i { color: #E8743C; font-size: 16px; }
.bp-modal-close {
    width: 28px; height: 28px;
    background: transparent; color: #5F6F66;
    border: none; border-radius: 6px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.bp-modal-close:hover { background: #F2F4F3; color: #A32D2D; }
.bp-modal-desc {
    padding: 10px 20px 0;
    font-size: 12px; color: #5F6F66;
}
.bp-modal-summary {
    padding: 12px 20px 6px;
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; color: #5F6F66;
    flex-wrap: wrap;
}
.bp-modal-sum b { color: #1F3A2A; font-size: 14px; }
.bp-modal-sum.bonus {
    width: 100%;
    margin-top: 6px;
    padding: 6px 10px;
    background: #E1F5EE; color: #0F6E56; border-radius: 6px;
    font-size: 11px;
    animation: bp-bulk-slide-in 0.22s ease-out;
}

/* ④ 进度条 */
.bp-progress {
    height: 6px; background: #F2F4F3;
    border-radius: 3px; margin: 8px 20px 0;
    overflow: hidden;
}
.bp-progress-bar {
    height: 100%; background: linear-gradient(90deg, #1B4332, #E8743C);
    border-radius: 3px;
    transition: width 0.18s ease;
}
.bp-progress-bar[data-st="done"] { background: #5DCAA5; }
.bp-progress-bar[data-st="failed"] { background: #E24B4A; }

/* ⑤ SKU 列表 */
.bp-modal-list {
    flex: 1; overflow-y: auto;
    padding: 8px 20px 14px;
    margin: 8px 0 0;
}
.bp-modal-row {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 10px; margin-bottom: 4px;
    border-radius: 6px;
    background: #FAF8F4; border: 1px solid transparent;
    font-size: 12px;
    transition: all 0.18s ease;
}
.bp-modal-row[data-st="pending"] { opacity: 0.7; }
.bp-modal-row[data-st="done"] {
    background: #E1F5EE; border-color: #5DCAA5;
    animation: bp-row-done 0.3s ease-out;
}
.bp-modal-row[data-st="skipped"] { background: #F1F2F1; opacity: 0.85; }
.bp-modal-row[data-st="failed"] { background: #FCEBEB; border-color: #E24B4A; }
@keyframes bp-row-done {
    from { transform: translateX(-4px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
.bp-modal-row-icon { color: #B4B2A9; flex-shrink: 0; }
.bp-modal-row[data-st="done"] .bp-modal-row-icon { color: #0F6E56; }
.bp-modal-row[data-st="skipped"] .bp-modal-row-icon { color: #5F6F66; }
.bp-modal-row[data-st="failed"] .bp-modal-row-icon { color: #A32D2D; }
.bp-modal-row-name {
    flex: 1; color: #1F3A2A; font-weight: 500;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bp-modal-row-note {
    font-size: 11px; color: #5F6F66; flex-shrink: 0;
    max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ⑥ 操作按钮 */
.bp-modal-actions {
    padding: 12px 20px 18px;
    display: flex; align-items: center; justify-content: flex-end; gap: 8px;
    border-top: 1px solid #F2F4F3;
}
.bp-modal-btn {
    padding: 8px 16px; background: #fff; color: #1F3A2A;
    border: 1px solid #D5DDE2; border-radius: 6px;
    cursor: pointer; font-size: 13px;
    display: inline-flex; align-items: center; gap: 6px;
    transition: all 0.12s ease;
}
.bp-modal-btn:hover { background: #F2F4F3; }
.bp-modal-btn.primary {
    background: #1B4332; color: #fff; border-color: #1B4332;
    font-weight: 600;
}
.bp-modal-btn.primary:hover { background: #15352a; }
.bp-modal-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ⑦ 移动端 */
@media (max-width: 768px) {
    .bp-modal-box { max-height: 92vh; }
    .bp-modal-summary { font-size: 11px; }
    .bp-modal-row-note { font-size: 10px; max-width: 50%; }
    .bp-bulk-select-group { flex-wrap: wrap; }
}
/* ===== Day 13 批量操作浮窗样式结束 ===== */

/* ===== v20260907.34 套图生成页新布局（取消左侧菜单栏） ===== */
.gen-graph-page .gs-cols {
    display: block;
}
.gen-graph-page .gs-left {
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    flex-shrink: 1;
}
.gen-graph-page .gs-right {
    width: 100%;
    margin-top: 16px;
}
.gen-graph-page .gen-config-content {
    background: #fafafa;
}
.gen-graph-page .gen-footer {
    z-index: 10;
}
/* 移动端适配 */
@media (max-width: 768px) {
    .gen-graph-page .gen-footer {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }
    .gen-graph-page .gen-footer > div:last-child {
        display: flex;
        gap: 8px;
    }
    .gen-graph-page .gen-footer button {
        flex: 1;
    }
}
/* ===== 套图生成页新布局结束 ===== */

/* ===== v20260908.04 bp2 新内容中心 ===== */
.bp2-container { position: relative; }
.bp2-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: #fff; border-bottom: 1px solid #e8ece8; position: sticky; top: 0; z-index: 100; }
.bp2-head-left { display: flex; align-items: center; gap: 20px; }
.bp2-title { font-size: 16px; font-weight: 600; color: #1B4332; margin: 0; }
.bp2-tabs { display: flex; gap: 4px; }
.bp2-tab { padding: 6px 14px; border: none; background: transparent; color: #7a8a86; font-size: 14px; cursor: pointer; border-radius: 5px; transition: all .2s; }
.bp2-tab:hover { color: #1B4332; background: #f5f9f6; }
.bp2-tab.active { color: #fff; background: #1B4332; font-weight: 500; }
.bp2-head-right { display: flex; align-items: center; gap: 10px; }
.bp2-batch-select { padding: 6px 10px; border: 1px solid #c9cfc9; border-radius: 5px; font-size: 13px; background: #fff; color: #333; }
.bp2-search { padding: 6px 12px; border: 1px solid #c9cfc9; border-radius: 5px; font-size: 13px; width: 180px; }
.bp2-search:focus { outline: none; border-color: #1B4332; }
.bp2-token-wallet { padding: 6px 12px; background: #f5f9f6; border: 1px solid #d6e4d7; border-radius: 5px; font-size: 13px; color: #1B4332; cursor: pointer; font-weight: 500; }
.bp2-token-wallet.highlight { background: #E8743C; color: #fff; border-color: #E8743C; }
.bp2-newbtn { padding: 6px 16px; background: #E8743C; color: #fff; border: none; border-radius: 5px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .2s; }
.bp2-newbtn:hover { background: #d66530; }

/* 空态 */
.bp2-empty { text-align: center; padding: 80px 20px; }
.bp2-empty h3 { font-size: 18px; font-weight: 600; color: #1B4332; margin-bottom: 8px; }
.bp2-empty p { font-size: 14px; color: #7a8a86; margin-bottom: 24px; }
.bp2-empty-actions { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.bp2-empty-actions .bp2-btn { min-width: 200px; }
.bp2-link { color: #1B4332; font-size: 13px; cursor: pointer; text-decoration: underline; }

/* 按钮基础 */
.bp2-btn { padding: 8px 16px; border-radius: 8px; font-size: 14px; cursor: pointer; border: 1px solid transparent; transition: all .2s; display: inline-flex; align-items: center; gap: 6px; }
.bp2-btn-primary { background: #E8743C; color: #fff; border-color: #E8743C; }
.bp2-btn-primary:hover { background: #d66530; }
.bp2-btn-outline { background: #fff; color: #1B4332; border-color: #c9cfc9; }
.bp2-btn-outline:hover { border-color: #1B4332; }
.bp2-btn-green { background: #1B4332; color: #fff; border-color: #1B4332; }
.bp2-btn-green:hover { background: #153526; }
.bp2-btn-orange { background: #E8743C; color: #fff; border-color: #E8743C; }
.bp2-btn-orange:hover { background: #d66530; }
.bp2-btn-sm { padding: 5px 10px; font-size: 12px; border-radius: 5px; }

/* 主屏 Summary */
.bp2-sumrow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px; }
.bp2-sum-card { background: #fff; border: 1px solid #e8ece8; border-radius: 8px; padding: 16px; text-align: center; box-shadow: 0 4px 12px rgba(15,45,34,0.08); }
.bp2-sum-num { display: block; font-size: 28px; font-weight: 500; color: #1B4332; }
.bp2-sum-num.bp2-sum-run { color: #E8743C; }
.bp2-sum-num.bp2-sum-warn { color: #a8531b; }
.bp2-sum-label { font-size: 12px; color: #7a8a86; }

/* 队列生产进度汇总条（内容中心顶部） */
.bp2-queue-sum { display: flex; align-items: center; gap: 10px; margin: 12px 16px 0; padding: 10px 14px; background: #f6faf7; border: 1px solid #e0ecE2; border-radius: 8px; cursor: pointer; flex-wrap: wrap; transition: border-color .2s, background .2s; }
.bp2-queue-sum:hover { border-color: #1B4332; background: #eef7f0; }
.bp2-queue-sum-title { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #1B4332; margin-right: 2px; }
.bp2-queue-sum-title i { color: #176C39; }
.bp2-queue-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; background: #fff; border: 1px solid #e0ece2; }
.bp2-queue-chip b { font-weight: 700; }
.bp2-queue-gen { color: #176C39; }
.bp2-queue-review { color: #B8860B; }
.bp2-queue-done { color: #16A34A; }
.bp2-queue-err { color: #e53935; }
.bp2-queue-sum-more { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; font-size: 12px; color: #7a8a86; }
.bp2-queue-sum-more i { font-size: 10px; }

/* 图类型 chip */
.bp2-chips { display: flex; gap: 8px; padding: 0 16px 12px; overflow-x: auto; }
.bp2-chip { padding: 5px 12px; background: #fff; border: 1px solid #c9cfc9; border-radius: 5px; font-size: 13px; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 4px; transition: all .2s; }
.bp2-chip:hover { border-color: #E8743C; }
.bp2-chip.active { background: #E8743C; color: #fff; border-color: #E8743C; }
.bp2-chip-count { font-size: 11px; opacity: .8; }

/* SKU 网格 */
.bp2-sku-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 0 16px 16px; }
.bp2-sku { background: #fff; border: 1px solid #e8ece8; border-radius: 8px; padding: 12px; cursor: pointer; transition: all .2s; position: relative; }
.bp2-sku:hover { border-color: #1B4332; box-shadow: 0 4px 12px rgba(15,45,34,0.08); }
.bp2-sku.is-selected { border: 2px solid #1B4332; background: #f5f9f6; }
.bp2-sku-h { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; }
.bp2-sku-h input[type="checkbox"] { margin-top: 3px; width: 16px; height: 16px; accent-color: #1B4332; }
.bp2-sku-name { flex: 1; min-width: 0; }
.bp2-sku-name b { font-size: 14px; font-weight: 600; color: #333; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bp2-sku-name small { font-size: 11px; color: #7a8a86; }
.bp2-sku-ops { display: flex; gap: 4px; }
.bp2-opa { width: 26px; height: 26px; border: 1px solid #c9cfc9; background: #fff; border-radius: 5px; cursor: pointer; font-size: 12px; display: flex; align-items: center; justify-content: center; transition: all .2s; padding: 0; }
.bp2-opa:hover { border-color: #1B4332; }
.bp2-opa.op-pause { color: #1B4332; }
.bp2-opa.op-play { color: #E8743C; border-color: #E8743C; }
.bp2-opa.op-locate { color: #666; }
.bp2-opa.op-search { color: #666; }
.bp2-opa.op-download { color: #666; }
.bp2-opa.op-delete { color: #a32d2d; border-color: #e5c5c5; }

/* 状态徽章 */
.bp2-tag { display: inline-block; padding: 3px 10px; border-radius: 5px; font-size: 12px; font-weight: 500; margin-bottom: 8px; }
.bp2-tag-ok { background: #e6f4ed; color: #34a87d; }
.bp2-tag-run { background: linear-gradient(90deg, #e8f0f7, #d4e4f0); color: #5a7a99; animation: bp2-breathe 1.5s ease-in-out infinite; }
.bp2-tag-warn { background: #fdf0e6; color: #E8743C; }
.bp2-tag-pending { background: #f0f2f0; color: #7a8a86; }
@keyframes bp2-breathe { 0%, 100% { opacity: 1; } 50% { opacity: .6; } }

/* SKU 进度 */
.bp2-sku-row { display: flex; justify-content: space-between; font-size: 12px; color: #7a8a86; margin-bottom: 6px; }
.bp2-sku-bar { height: 6px; background: #e8ece8; border-radius: 3px; overflow: hidden; margin-bottom: 8px; }
.bp2-sku-bar-fill { height: 100%; background: linear-gradient(90deg, #1B4332, #E8743C); border-radius: 3px; transition: width .3s; }
.bp2-thumbs { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; margin-bottom: 8px; }
.bp2-thu { width: 18px; height: 18px; border-radius: 3px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 600; }
.bp2-thu-ok { background: #1B4332; color: #fff; }
.bp2-thu-warn { background: #E8743C; color: #fff; }
.bp2-thu-run { background: #a8c4d8; color: #fff; }
.bp2-thu-empty { background: #eceee8; color: #c9cfc9; }
.bp2-sku-foot { display: flex; justify-content: space-between; font-size: 11px; color: #7a8a86; }
.bp2-sku-foot .bp2-eta { animation: bp2-breathe 1.5s ease-in-out infinite; }

/* 批量条 */
.bp2-bulk-bar { display: flex; justify-content: space-between; align-items: center; margin: 0 16px 12px; padding: 12px 16px; border: 2px solid #1B4332; border-radius: 8px; background: #f5f9f6; animation: bp2-fadein .2s ease; }
@keyframes bp2-fadein { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.bp2-bulk-left { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #333; }
.bp2-bulk-left input[type="checkbox"] { width: 16px; height: 16px; accent-color: #1B4332; }
.bp2-bulk-meta { color: #7a8a86; font-size: 12px; }
.bp2-bulk-right { display: flex; gap: 6px; }

/* 新建批次 */
.bp2-newbatch-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 16px; }
.bp2-form-group { margin-bottom: 16px; }
.bp2-form-label { display: block; font-size: 14px; font-weight: 600; color: #1B4332; margin-bottom: 8px; }
.bp2-required { color: #a32d2d; }
.bp2-input { width: 100%; padding: 8px 12px; border: 1px solid #c9cfc9; border-radius: 8px; font-size: 14px; box-sizing: border-box; }
.bp2-input:focus { outline: none; border-color: #1B4332; }
.bp2-radio-group { display: flex; flex-direction: column; gap: 8px; }
.bp2-radio { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border: 1px solid #e8ece8; border-radius: 8px; cursor: pointer; transition: all .2s; }
.bp2-radio:hover { border-color: #1B4332; }
.bp2-radio input { margin-top: 3px; accent-color: #1B4332; }
.bp2-radio span { font-size: 14px; font-weight: 500; color: #333; }
.bp2-radio small { display: block; font-size: 12px; color: #7a8a86; margin-top: 2px; }
.bp2-sku-list { max-height: 200px; overflow-y: auto; border: 1px solid #e8ece8; border-radius: 8px; margin-top: 8px; }
.bp2-sku-item { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid #f0f2f0; cursor: pointer; }
.bp2-sku-item:hover { background: #f5f9f6; }
.bp2-sku-item input { accent-color: #1B4332; }
.bp2-sku-item span { font-size: 13px; color: #333; }
.bp2-sku-item small { font-size: 11px; color: #7a8a86; margin-left: auto; }
.bp2-theme-group { display: flex; gap: 12px; flex-wrap: wrap; }
.bp2-theme { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.bp2-theme input { accent-color: #1B4332; }
.bp2-theme-dot { width: 20px; height: 20px; border-radius: 50%; display: inline-block; }
.bp2-style-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.bp2-style-chip { padding: 6px 14px; border: 1px solid #c9cfc9; border-radius: 5px; cursor: pointer; font-size: 13px; display: flex; align-items: center; gap: 6px; }
.bp2-style-chip input { accent-color: #1B4332; }
.bp2-style-chip:has(input:checked) { background: #f5f9f6; border-color: #1B4332; color: #1B4332; }

/* 预览区 */
.bp2-preview { background: #fafbf9; border: 1px solid #e8ece8; border-radius: 8px; padding: 16px; }
.bp2-preview-title { font-size: 14px; font-weight: 600; color: #1B4332; margin-bottom: 12px; }
.bp2-preview-sum { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px; }
.bp2-preview-sum .bp2-sum-card { padding: 10px; }
.bp2-preview-sum .bp2-sum-num { font-size: 20px; }
.bp2-preview-theme { height: 40px; border-radius: 8px; margin-bottom: 12px; }
.bp2-preview-style { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.bp2-preview-style span { padding: 4px 10px; background: #fff; border: 1px solid #c9cfc9; border-radius: 5px; font-size: 12px; color: #666; }
.bp2-preview-estimate { padding: 12px; background: #fff; border-radius: 8px; font-size: 13px; color: #1B4332; font-weight: 500; text-align: center; }
.bp2-actions { display: flex; justify-content: space-between; padding: 16px; border-top: 1px solid #e8ece8; }

/* SKU 详情 */
.bp2-sku-detail { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #fff; z-index: 200; }
.bp2-detail-head { display: flex; align-items: center; gap: 16px; height: 64px; padding: 0 20px; background: #1B4332; color: #fff; }
.bp2-detail-back { background: transparent; border: none; color: #fff; font-size: 14px; cursor: pointer; padding: 6px 12px; border-radius: 5px; }
.bp2-detail-back:hover { background: rgba(255,255,255,.1); }
.bp2-detail-title { flex: 1; }
.bp2-detail-title span { font-size: 16px; font-weight: 600; }
.bp2-detail-title small { display: block; font-size: 12px; opacity: .8; margin-top: 2px; }
.bp2-detail-tabs { display: flex; gap: 4px; padding: 12px 20px; border-bottom: 1px solid #e8ece8; }
.bp2-detail-tab { padding: 8px 16px; border: none; background: transparent; color: #7a8a86; font-size: 14px; cursor: pointer; border-radius: 5px; }
.bp2-detail-tab.active { color: #1B4332; background: #f5f9f6; font-weight: 500; }
.bp2-detail-panes { padding: 20px; min-height: 400px; }
.bp2-detail-pane { display: none; }
.bp2-detail-pane.active { display: block; }
.bp2-detail-images { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.bp2-detail-img { width: 200px; height: 200px; background: #f0f2f0; border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #7a8a86; font-size: 14px; }
.bp2-prompt-textarea { width: 100%; min-height: 300px; padding: 12px; border: 1px solid #c9cfc9; border-radius: 8px; font-size: 13px; font-family: inherit; box-sizing: border-box; resize: vertical; }
.bp2-prompt-actions { display: flex; gap: 8px; margin-top: 12px; }
.bp2-price-table { width: 100%; border-collapse: collapse; }
.bp2-price-table th, .bp2-price-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid #e8ece8; font-size: 13px; }
.bp2-price-table th { background: #f5f9f6; color: #1B4332; font-weight: 600; }
.bp2-qa-content { font-size: 14px; color: #333; line-height: 1.8; }
.bp2-detail-foot { display: flex; gap: 10px; padding: 16px 20px; border-top: 1px solid #e8ece8; justify-content: flex-end; }

/* 占位骨架 */
.bp2-placeholder { text-align: center; padding: 80px 20px; color: #7a8a86; }
.bp2-placeholder-icon { font-size: 48px; margin-bottom: 16px; }
.bp2-placeholder h3 { font-size: 18px; color: #1B4332; margin-bottom: 8px; }
.bp2-placeholder p { font-size: 14px; }

/* Tab pane 显示控制 */
.bp2-pane { display: none; }
.bp2-pane.active { display: block; }
/* ===== bp2 新内容中心结束 ===== */

/* ===== v20260908.04 bp2 平台型工具优化 ===== */
/* 顶部标题栏 */
.bp2-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px 12px;
    background: #fff;
    border-bottom: 1px solid #e8ece8;
}
.bp2-topbar-left {
    display: flex;
    align-items: baseline;
    gap: 12px;
}
.bp2-page-title {
    font-size: 20px;
    font-weight: 600;
    color: #1B4332;
    margin: 0;
}
.bp2-page-desc {
    font-size: 13px;
    color: #7a8a86;
}
.bp2-topbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}
.bp2-token-wallet {
    padding: 6px 14px;
    background: #f5f9f6;
    border: 1px solid #d6e4d7;
    border-radius: 8px;
    font-size: 13px;
    color: #1B4332;
    cursor: pointer;
    font-weight: 500;
    transition: all .2s;
}
.bp2-token-wallet:hover {
    background: #e8f0ea;
}
.bp2-token-wallet.highlight {
    background: #E8743C;
    color: #fff;
    border-color: #E8743C;
}
.bp2-newbtn {
    padding: 8px 18px;
    background: #E8743C;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    gap: 4px;
}
.bp2-newbtn:hover {
    background: #d66530;
    box-shadow: 0 4px 12px rgba(232,116,60,0.3);
}

/* Tab导航 + 操作栏 */
.bp2-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    background: #fff;
    border-bottom: 1px solid #e8ece8;
}
.bp2-tabs {
    display: flex;
    gap: 0;
}
.bp2-tab {
    padding: 12px 18px;
    border: none;
    background: transparent;
    color: #7a8a86;
    font-size: 14px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all .2s;
    font-weight: 500;
}
.bp2-tab:hover {
    color: #1B4332;
}
.bp2-tab.active {
    color: #1B4332;
    border-bottom-color: #E8743C;
    font-weight: 600;
}
.bp2-toolbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
}
.bp2-batch-select {
    padding: 6px 12px;
    border: 1px solid #c9cfc9;
    border-radius: 8px;
    font-size: 13px;
    background: #fff;
    color: #333;
    cursor: pointer;
}
.bp2-batch-select:focus {
    outline: none;
    border-color: #1B4332;
}
.bp2-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.bp2-search-icon {
    position: absolute;
    left: 10px;
    color: #7a8a86;
    font-size: 14px;
    pointer-events: none;
}
.bp2-search {
    padding: 7px 12px 7px 32px;
    border: 1px solid #c9cfc9;
    border-radius: 8px;
    font-size: 13px;
    width: 200px;
    background: #fafbf9;
    transition: all .2s;
}
.bp2-search:focus {
    outline: none;
    border-color: #1B4332;
    background: #fff;
    width: 240px;
}

/* 旧头部样式覆盖 */
.bp2-head {
    display: none !important;
}

/* Summary 卡片升级 */
.bp2-sumrow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 20px;
}
.bp2-sum-card {
    background: #fff;
    border: 1px solid #e8ece8;
    border-radius: 12px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 2px 8px rgba(15,45,34,0.06);
    transition: all .2s;
}
.bp2-sum-card:hover {
    box-shadow: 0 4px 16px rgba(15,45,34,0.1);
    transform: translateY(-2px);
}
.bp2-sum-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 600;
    flex-shrink: 0;
}
.bp2-sum-icon-ok {
    background: #e6f4ed;
    color: #34a87d;
}
.bp2-sum-icon-run {
    background: #fdf0e6;
    color: #E8743C;
}
.bp2-sum-icon-pending {
    background: #f0f2f0;
    color: #7a8a86;
}
.bp2-sum-icon-warn {
    background: #fde8e8;
    color: #a32d2d;
}
.bp2-sum-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.bp2-sum-num {
    font-size: 24px;
    font-weight: 600;
    color: #1B4332;
    line-height: 1.2;
}
.bp2-sum-num.bp2-sum-run {
    color: #E8743C;
}
.bp2-sum-num.bp2-sum-warn {
    color: #a8531b;
}
.bp2-sum-label {
    font-size: 12px;
    color: #7a8a86;
    margin-top: 2px;
}
.bp2-sum-trend {
    font-size: 11px;
    color: #7a8a86;
    padding: 2px 8px;
    background: #f5f9f6;
    border-radius: 10px;
    flex-shrink: 0;
}
.bp2-sum-trend.up {
    color: #34a87d;
    background: #e6f4ed;
}
.bp2-sum-trend.down {
    color: #a32d2d;
    background: #fde8e8;
}

/* 图类型筛选栏 */
.bp2-chips {
    display: flex;
    gap: 8px;
    padding: 0 20px 16px;
    overflow-x: auto;
}
.bp2-chip {
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #e0e4e0;
    border-radius: 20px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all .2s;
    color: #555;
}
.bp2-chip:hover {
    border-color: #E8743C;
    color: #E8743C;
}
.bp2-chip.active {
    background: #1B4332;
    color: #fff;
    border-color: #1B4332;
}
.bp2-chip-count {
    font-size: 11px;
    background: rgba(0,0,0,0.1);
    padding: 1px 6px;
    border-radius: 10px;
}
.bp2-chip.active .bp2-chip-count {
    background: rgba(255,255,255,0.2);
}

/* SKU卡片优化 */
.bp2-sku-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 0 20px 20px;
}
.bp2-sku {
    background: #fff;
    border: 1px solid #e8ece8;
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all .2s;
    position: relative;
    box-shadow: 0 2px 8px rgba(15,45,34,0.04);
}
.bp2-sku:hover {
    border-color: #1B4332;
    box-shadow: 0 4px 16px rgba(15,45,34,0.1);
}
.bp2-sku.is-selected {
    border: 2px solid #1B4332;
    background: #f5f9f6;
}
.bp2-sku-h {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}
.bp2-sku-h input[type="checkbox"] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    accent-color: #1B4332;
    cursor: pointer;
}
.bp2-sku-name {
    flex: 1;
    min-width: 0;
}
.bp2-sku-name b {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bp2-sku-name small {
    font-size: 12px;
    color: #7a8a86;
    margin-top: 2px;
    display: block;
}
.bp2-sku-ops {
    display: flex;
    gap: 4px;
}
.bp2-opa {
    width: 30px;
    height: 30px;
    border: 1px solid #e0e4e0;
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    padding: 0;
}
.bp2-opa:hover {
    border-color: #1B4332;
    background: #f5f9f6;
}
.bp2-opa.op-pause {
    color: #1B4332;
}
.bp2-opa.op-play {
    color: #E8743C;
    border-color: #E8743C;
}
.bp2-opa.op-play:hover {
    background: #fdf0e6;
}
.bp2-opa.op-delete {
    color: #a32d2d;
    border-color: #e5c5c5;
}
.bp2-opa.op-delete:hover {
    background: #fde8e8;
}

/* 状态徽章 */
.bp2-tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 12px;
}
.bp2-tag-ok {
    background: #e6f4ed;
    color: #34a87d;
}
.bp2-tag-run {
    background: linear-gradient(90deg, #fdf0e6, #fde8d8);
    color: #E8743C;
    animation: bp2-breathe 1.5s ease-in-out infinite;
}
.bp2-tag-warn {
    background: #fdf0e6;
    color: #a8531b;
}
.bp2-tag-pending {
    background: #f0f2f0;
    color: #7a8a86;
}

/* 进度条 */
.bp2-sku-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #7a8a86;
    margin-bottom: 8px;
}
.bp2-sku-bar {
    height: 8px;
    background: #f0f2f0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 12px;
}
.bp2-sku-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #1B4332, #34a87d);
    border-radius: 4px;
    transition: width .3s;
}

/* 缩略图 */
.bp2-thumbs {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 4px;
    margin-bottom: 12px;
}
.bp2-thu {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 600;
}

/* 底部信息 */
.bp2-sku-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #7a8a86;
    padding-top: 10px;
    border-top: 1px solid #f0f2f0;
}
.bp2-sku-foot .bp2-eta {
    animation: bp2-breathe 1.5s ease-in-out infinite;
    color: #E8743C;
}

/* 批量操作条 */
.bp2-bulk-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 20px 16px;
    padding: 14px 20px;
    border: 2px solid #1B4332;
    border-radius: 12px;
    background: linear-gradient(135deg, #f5f9f6, #e8f0ea);
    animation: bp2-fadein .2s ease;
    box-shadow: 0 4px 12px rgba(27,67,50,0.15);
}
.bp2-bulk-left {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14px;
    color: #1B4332;
    font-weight: 500;
}
.bp2-bulk-left input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #1B4332;
    cursor: pointer;
}
.bp2-bulk-meta {
    color: #7a8a86;
    font-size: 12px;
    font-weight: 400;
}
.bp2-bulk-right {
    display: flex;
    gap: 8px;
}

/* 空态优化 */
.bp2-empty {
    text-align: center;
    padding: 100px 20px;
}
.bp2-empty h3 {
    font-size: 20px;
    font-weight: 600;
    color: #1B4332;
    margin-bottom: 8px;
}
.bp2-empty p {
    font-size: 14px;
    color: #7a8a86;
    margin-bottom: 32px;
}
.bp2-empty-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.bp2-empty-actions .bp2-btn {
    min-width: 220px;
    justify-content: center;
}

/* ===== bp2 平台型工具优化结束 ===== */

/* ===== v20260908.05 bp2 整齐化优化 ===== */
/* 容器统一内边距 */
.bp2-container {
    background: #f5f7f6;
    min-height: 100%;
}

/* 顶部标题栏 - 统一高度和内边距 */
.bp2-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    background: #fff;
    border-bottom: 1px solid #e8ece8;
    min-height: 64px;
    box-sizing: border-box;
}
.bp2-topbar-left {
    display: flex;
    align-items: baseline;
    gap: 16px;
    flex: 1;
}
.bp2-page-title {
    font-size: 20px;
    font-weight: 600;
    color: #1B4332;
    margin: 0;
    line-height: 1.3;
}
.bp2-page-desc {
    font-size: 13px;
    color: #7a8a86;
    line-height: 1.4;
}
.bp2-topbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Tab操作栏 - 统一高度 */
.bp2-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 24px;
    background: #fff;
    border-bottom: 1px solid #e8ece8;
    min-height: 48px;
    box-sizing: border-box;
}
.bp2-tabs {
    display: flex;
    gap: 0;
    height: 100%;
}
.bp2-tab {
    padding: 0 20px;
    height: 48px;
    line-height: 48px;
    border: none;
    background: transparent;
    color: #7a8a86;
    font-size: 14px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all .2s;
    font-weight: 500;
    box-sizing: border-box;
}
.bp2-tab:hover {
    color: #1B4332;
    background: #f9faf9;
}
.bp2-tab.active {
    color: #1B4332;
    border-bottom-color: #E8743C;
    font-weight: 600;
}
.bp2-toolbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 100%;
}

/* 内容区统一背景 */
.bp2-body {
    background: #f5f7f6;
    padding: 0;
}

/* Summary 卡片 - 统一尺寸和对齐 */
.bp2-sumrow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 20px 24px;
}
.bp2-sum-card {
    background: #fff;
    border: 1px solid #e8ece8;
    border-radius: 10px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 1px 3px rgba(15,45,34,0.04);
    transition: all .2s;
    min-height: 76px;
    box-sizing: border-box;
}
.bp2-sum-card:hover {
    box-shadow: 0 4px 12px rgba(15,45,34,0.08);
    transform: translateY(-1px);
}
.bp2-sum-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    flex-shrink: 0;
}
.bp2-sum-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.bp2-sum-num {
    font-size: 22px;
    font-weight: 600;
    color: #1B4332;
    line-height: 1.2;
}
.bp2-sum-label {
    font-size: 12px;
    color: #7a8a86;
    margin-top: 2px;
}
.bp2-sum-trend {
    font-size: 11px;
    color: #7a8a86;
    padding: 3px 8px;
    background: #f5f9f6;
    border-radius: 10px;
    flex-shrink: 0;
    font-weight: 500;
}

/* 图类型筛选 - 统一间距 */
.bp2-chips {
    display: flex;
    gap: 8px;
    padding: 0 24px 16px;
    overflow-x: auto;
    flex-wrap: nowrap;
}
.bp2-chip {
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #e0e4e0;
    border-radius: 16px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all .2s;
    color: #555;
    flex-shrink: 0;
    height: 32px;
    box-sizing: border-box;
}
.bp2-chip:hover {
    border-color: #E8743C;
    color: #E8743C;
}
.bp2-chip.active {
    background: #1B4332;
    color: #fff;
    border-color: #1B4332;
}

/* SKU网格 - 统一间距和对齐 */
.bp2-sku-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 0 24px 24px;
}
.bp2-sku {
    background: #fff;
    border: 1px solid #e8ece8;
    border-radius: 10px;
    padding: 16px;
    cursor: pointer;
    transition: all .2s;
    box-shadow: 0 1px 3px rgba(15,45,34,0.04);
    box-sizing: border-box;
}
.bp2-sku:hover {
    border-color: #1B4332;
    box-shadow: 0 4px 12px rgba(15,45,34,0.08);
}
.bp2-sku.is-selected {
    border: 2px solid #1B4332;
    background: #f9fbf9;
    padding: 15px;
}
.bp2-sku-h {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}
.bp2-sku-h input[type="checkbox"] {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    accent-color: #1B4332;
    cursor: pointer;
    flex-shrink: 0;
}
.bp2-sku-name {
    flex: 1;
    min-width: 0;
}
.bp2-sku-name b {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.4;
}
.bp2-sku-name small {
    font-size: 12px;
    color: #7a8a86;
    margin-top: 2px;
    display: block;
}
.bp2-sku-ops {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}
.bp2-opa {
    width: 28px;
    height: 28px;
    border: 1px solid #e8ece8;
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    padding: 0;
}
.bp2-opa:hover {
    border-color: #1B4332;
    background: #f5f9f6;
}

/* 状态徽章 - 统一尺寸 */
.bp2-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.5;
}

/* 进度条 - 统一高度 */
.bp2-sku-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #7a8a86;
    margin-bottom: 6px;
}
.bp2-sku-bar {
    height: 6px;
    background: #f0f2f0;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 12px;
}
.bp2-sku-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #1B4332, #34a87d);
    border-radius: 3px;
    transition: width .3s;
}

/* 缩略图 - 统一尺寸 */
.bp2-thumbs {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 4px;
    margin-bottom: 12px;
}
.bp2-thu {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 600;
}

/* 底部信息 - 统一对齐 */
.bp2-sku-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #7a8a86;
    padding-top: 10px;
    border-top: 1px solid #f0f2f0;
}

/* 批量操作条 - 统一样式 */
.bp2-bulk-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 24px 16px;
    padding: 12px 16px;
    border: 1px solid #1B4332;
    border-radius: 8px;
    background: #f5f9f6;
    animation: bp2-fadein .2s ease;
    box-sizing: border-box;
}
.bp2-bulk-left {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: #1B4332;
    font-weight: 500;
}
.bp2-bulk-left input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #1B4332;
    cursor: pointer;
}
.bp2-bulk-meta {
    color: #7a8a86;
    font-size: 12px;
    font-weight: 400;
}
.bp2-bulk-right {
    display: flex;
    gap: 6px;
}

/* 空态 - 统一样式 */
.bp2-empty {
    text-align: center;
    padding: 80px 24px;
    background: #fff;
    margin: 20px 24px;
    border-radius: 10px;
    border: 1px solid #e8ece8;
}
.bp2-empty h3 {
    font-size: 18px;
    font-weight: 600;
    color: #1B4332;
    margin-bottom: 8px;
}
.bp2-empty p {
    font-size: 14px;
    color: #7a8a86;
    margin-bottom: 24px;
}
.bp2-empty-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

/* 按钮统一 */
.bp2-btn {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all .2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    box-sizing: border-box;
}
.bp2-btn-sm {
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 5px;
}

/* ===== bp2 整齐化优化结束 ===== */

/* ===== v20260908.05 bp2 布局修复：强制上下结构 ===== */
.bp2-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 100% !important;
    background: #f5f7f6 !important;
}
.bp2-topbar {
    flex-shrink: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.bp2-toolbar {
    flex-shrink: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.bp2-body {
    flex: 1 !important;
    width: 100% !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}
.bp2-pane {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 隐藏旧的内容中心标题和Tab（由JS动态渲染） */
#page-prodctrl > h2,
#page-prodctrl > h3,
#page-prodctrl > .prodctrl-header,
#page-prodctrl > .prodctrl-tabs,
#page-prodctrl > .gemi-prodctrl-header,
#page-prodctrl > .gemi-prodctrl-tabs {
    display: none !important;
}

/* 确保bp2-container是page-prodctrl的唯一可见子元素 */
#page-prodctrl > *:not(.bp2-container):not(#bpLegacyContainer) {
    display: none !important;
}

/* ===== bp2 布局修复结束 ===== */

/* ===== v20260908.05 bp2 重新设计：清晰简化 ===== */
/* 1. 隐藏旧的页面头部（旧标题+旧Tab） */
#page-imgmgmt2 > .pm-page-header {
    display: none !important;
}

/* 2. 重新设计bp2顶部标题栏 - 更简洁 */
.bp2-topbar {
    padding: 12px 24px !important;
    min-height: 52px !important;
    background: #fff !important;
    border-bottom: 1px solid #e8ece8 !important;
}
.bp2-page-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
}
.bp2-page-desc {
    font-size: 12px !important;
    color: #9aa8a4 !important;
}
.bp2-token-wallet {
    padding: 5px 12px !important;
    font-size: 12px !important;
    background: #f5f9f6 !important;
    border: 1px solid #d6e4d7 !important;
    color: #1B4332 !important;
}
.bp2-newbtn {
    padding: 6px 14px !important;
    font-size: 13px !important;
    background: #E8743C !important;
    color: #fff !important;
    border-radius: 6px !important;
}

/* 3. 重新设计Tab操作栏 - 选中态清晰可见 */
.bp2-toolbar {
    padding: 0 24px !important;
    min-height: 44px !important;
    background: #fff !important;
    border-bottom: 1px solid #e8ece8 !important;
}
.bp2-tabs {
    height: 100% !important;
    gap: 0 !important;
}
.bp2-tab {
    padding: 0 18px !important;
    height: 44px !important;
    line-height: 44px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #7a8a86 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all .2s !important;
}
.bp2-tab:hover {
    color: #1B4332 !important;
    background: #f9faf9 !important;
}
/* 选中态：白色背景 + 深绿文字 + 橙色下划线，清晰可见 */
.bp2-tab.active {
    color: #1B4332 !important;
    background: #fff !important;
    border-bottom: 2px solid #E8743C !important;
    font-weight: 600 !important;
}

/* 4. 简化筛选chip - 选中态清晰 */
.bp2-chip {
    padding: 5px 12px !important;
    font-size: 12px !important;
    height: 28px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid #e0e4e0 !important;
    color: #666 !important;
}
.bp2-chip:hover {
    border-color: #E8743C !important;
    color: #E8743C !important;
}
.bp2-chip.active {
    background: #E8743C !important;
    color: #fff !important;
    border-color: #E8743C !important;
}

/* 5. 简化Summary卡片 - 更轻量 */
.bp2-sumrow {
    gap: 12px !important;
    margin: 16px 24px !important;
}
.bp2-sum-card {
    padding: 12px 14px !important;
    min-height: 64px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #e8ece8 !important;
    box-shadow: none !important;
}
.bp2-sum-card:hover {
    box-shadow: 0 2px 8px rgba(15,45,34,0.06) !important;
    transform: none !important;
}
.bp2-sum-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
}
.bp2-sum-num {
    font-size: 18px !important;
    font-weight: 600 !important;
}
.bp2-sum-label {
    font-size: 11px !important;
    color: #9aa8a4 !important;
}
.bp2-sum-trend {
    font-size: 10px !important;
    padding: 2px 6px !important;
}

/* 6. 简化SKU卡片 - 更紧凑 */
.bp2-sku-grid {
    gap: 12px !important;
    padding: 0 24px 20px !important;
}
.bp2-sku {
    padding: 14px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #e8ece8 !important;
    box-shadow: none !important;
}
.bp2-sku:hover {
    border-color: #1B4332 !important;
    box-shadow: 0 2px 8px rgba(15,45,34,0.06) !important;
}
.bp2-sku.is-selected {
    border: 2px solid #1B4332 !important;
    padding: 13px !important;
}
.bp2-sku-name b {
    font-size: 13px !important;
}
.bp2-sku-name small {
    font-size: 11px !important;
}
.bp2-opa {
    width: 26px !important;
    height: 26px !important;
    font-size: 11px !important;
    border-radius: 5px !important;
}
.bp2-tag {
    padding: 2px 8px !important;
    font-size: 11px !important;
    border-radius: 4px !important;
}
.bp2-sku-bar {
    height: 4px !important;
    border-radius: 2px !important;
}
.bp2-sku-bar-fill {
    border-radius: 2px !important;
}
.bp2-thu {
    font-size: 8px !important;
    border-radius: 2px !important;
}
.bp2-sku-foot {
    font-size: 11px !important;
    padding-top: 8px !important;
}

/* 7. 简化批量操作条 */
.bp2-bulk-bar {
    margin: 0 24px 12px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    border: 1px solid #1B4332 !important;
    background: #f5f9f6 !important;
}
.bp2-bulk-left {
    font-size: 12px !important;
    gap: 10px !important;
}
.bp2-bulk-meta {
    font-size: 11px !important;
}

/* 8. 内容区背景 */
.bp2-body {
    background: #f5f7f6 !important;
}

/* ===== bp2 重新设计结束 ===== */

/* ===== v20260908.05 bp2 图片名称+预览 + 详情页横排 ===== */
/* SKU卡片图片预览网格 - 2行5列 */
.bp2-thumbs-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
    margin-bottom: 10px;
}
.bp2-thu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    cursor: pointer;
    transition: all .2s;
}
.bp2-thu-item:hover {
    transform: scale(1.05);
}
.bp2-thu-preview {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 1px solid #e8ece8;
}
.bp2-thu-icon {
    font-size: 14px;
    opacity: 0.8;
}
.bp2-thu-status {
    position: absolute;
    top: 2px;
    right: 2px;
    font-size: 9px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    font-weight: 600;
}
.bp2-thu-name {
    font-size: 10px;
    color: #7a8a86;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
/* 状态颜色 */
.bp2-thu-item.bp2-thu-ok .bp2-thu-preview {
    border-color: #34a87d;
    background: #e6f4ed !important;
}
.bp2-thu-item.bp2-thu-ok .bp2-thu-status {
    color: #34a87d;
}
.bp2-thu-item.bp2-thu-ok .bp2-thu-name {
    color: #34a87d;
}
.bp2-thu-item.bp2-thu-run .bp2-thu-preview {
    border-color: #E8743C;
    background: #fdf0e6 !important;
    animation: bp2-breathe 1.5s ease-in-out infinite;
}
.bp2-thu-item.bp2-thu-run .bp2-thu-status {
    color: #E8743C;
}
.bp2-thu-item.bp2-thu-run .bp2-thu-name {
    color: #E8743C;
}
.bp2-thu-item.bp2-thu-warn .bp2-thu-preview {
    border-color: #a8531b;
    background: #fdf0e6 !important;
}
.bp2-thu-item.bp2-thu-warn .bp2-thu-status {
    color: #a8531b;
}
.bp2-thu-item.bp2-thu-warn .bp2-thu-name {
    color: #a8531b;
}
.bp2-thu-item.bp2-thu-empty .bp2-thu-preview {
    border-color: #e8ece8;
    background: #f5f7f6 !important;
}
.bp2-thu-item.bp2-thu-empty .bp2-thu-status {
    color: #ccc;
}
.bp2-thu-item.bp2-thu-empty .bp2-thu-name {
    color: #bbb;
}

/* 详情页图片横排显示 */
.bp2-detail-images {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding: 16px !important;
    background: #f9faf9 !important;
    border-radius: 8px !important;
}
.bp2-detail-img-item {
    flex-shrink: 0 !important;
    width: 140px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: all .2s !important;
}
.bp2-detail-img-item:hover {
    transform: translateY(-2px) !important;
}
.bp2-detail-img-preview {
    width: 140px !important;
    height: 140px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    border: 2px solid #e8ece8 !important;
    overflow: hidden !important;
}
.bp2-detail-img-icon {
    font-size: 40px !important;
    opacity: 0.6 !important;
}
.bp2-detail-img-status {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    font-size: 14px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}
.bp2-detail-img-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    text-align: center !important;
}
.bp2-detail-img-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
}
.bp2-detail-img-state {
    font-size: 11px !important;
    color: #7a8a86 !important;
}
/* v20260908.83 详情页视频成果卡片 */
.bp2-detail-video-item {
    position: relative !important;
    cursor: pointer !important;
    width: 150px !important;
    flex: 0 0 auto !important;
}
.bp2-detail-video-item video {
    width: 150px !important;
    height: 150px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    background: #000 !important;
    border: 2px solid #e8ece8 !important;
}
.bp2-detail-video-item:hover video {
    border-color: #1B4332 !important;
    box-shadow: 0 6px 16px rgba(15,45,34,0.15) !important;
}
.bp2-detail-video-badge {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(23,108,57,.85) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    pointer-events: none !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.3) !important;
}
/* v20260908.84 生成中视频占位瓷砖 */
.bp2-detail-video-tile {
    width: 150px !important;
    height: 150px !important;
    border-radius: 10px !important;
    border: 2px dashed #d5e3da !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.bp2-detail-video-name {
    margin-top: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
/* 详情页图片状态颜色 */
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-preview {
    border-color: #34a87d !important;
}
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-status {
    color: #34a87d !important;
}
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-state {
    color: #34a87d !important;
}
.bp2-detail-img-item.bp2-detail-img-running .bp2-detail-img-preview {
    border-color: #E8743C !important;
    animation: bp2-breathe 1.5s ease-in-out infinite !important;
}
.bp2-detail-img-item.bp2-detail-img-running .bp2-detail-img-status {
    color: #E8743C !important;
}
.bp2-detail-img-item.bp2-detail-img-running .bp2-detail-img-state {
    color: #E8743C !important;
}
.bp2-detail-img-item.bp2-detail-img-needs .bp2-detail-img-preview {
    border-color: #a8531b !important;
}
.bp2-detail-img-item.bp2-detail-img-needs .bp2-detail-img-status {
    color: #a8531b !important;
}
.bp2-detail-img-item.bp2-detail-img-needs .bp2-detail-img-state {
    color: #a8531b !important;
}
.bp2-detail-img-item.bp2-detail-img-empty .bp2-detail-img-preview {
    border-color: #e8ece8 !important;
    background: #f5f7f6 !important;
}
.bp2-detail-img-item.bp2-detail-img-empty .bp2-detail-img-status {
    color: #ccc !important;
}
.bp2-detail-img-item.bp2-detail-img-empty .bp2-detail-img-state {
    color: #bbb !important;
}

/* 隐藏旧的缩略图样式（如果存在） */
.bp2-thumbs {
    display: none !important;
}
.bp2-thu {
    display: none !important;
}
.bp2-detail-img {
    display: none !important;
}

/* ===== bp2 图片名称+预览 + 详情页横排 结束 ===== */

/* ===== v20260908.05 bp2 调整：5卡片+新建弹出框 ===== */
/* Summary 5列布局 */
.bp2-sumrow {
    grid-template-columns: repeat(5, 1fr) !important;
}

/* Token统计卡片 */
.bp2-sum-card-token {
    background: linear-gradient(135deg, #fff8f0, #fff) !important;
    border: 1px solid #f5d5b8 !important;
}
.bp2-sum-icon-token {
    background: #fdf0e6 !important;
    color: #E8743C !important;
}
.bp2-sum-token-num {
    color: #E8743C !important;
}

/* 新建批次Tab按钮样式 */
.bp2-tab.bp2-tab-new {
    color: #E8743C !important;
    font-weight: 600 !important;
    margin-left: 8px !important;
}
.bp2-tab.bp2-tab-new:hover {
    background: #fdf0e6 !important;
    color: #E8743C !important;
}
.bp2-tab.bp2-tab-new.active {
    color: #E8743C !important;
    border-bottom-color: #E8743C !important;
    background: #fdf0e6 !important;
}

/* 隐藏顶部token钱包（已移到统计卡片） */
.bp2-token-wallet {
    display: none !important;
}

/* 顶部标题栏右侧留白 */
.bp2-topbar-right {
    min-width: 20px !important;
}

/* ===== bp2 调整结束 ===== */

/* ===== v20260908.05 bp2 已完成图片真实缩略图 ===== */
/* 已完成图片：真实缩略图样式 */
.bp2-thu-item.bp2-thu-done .bp2-thu-preview {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: 1px solid #34a87d !important;
    position: relative !important;
    overflow: hidden !important;
}
.bp2-thu-item.bp2-thu-done .bp2-thu-preview::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 50% !important;
    background: linear-gradient(to top, rgba(0,0,0,0.6), transparent) !important;
    pointer-events: none !important;
}
.bp2-thu-item.bp2-thu-done .bp2-thu-status {
    background: #34a87d !important;
    color: #fff !important;
    top: 3px !important;
    right: 3px !important;
    width: 16px !important;
    height: 16px !important;
    font-size: 10px !important;
    z-index: 2 !important;
}
.bp2-thu-item.bp2-thu-done .bp2-thu-img-name {
    position: absolute !important;
    bottom: 2px !important;
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    font-size: 9px !important;
    color: #fff !important;
    font-weight: 600 !important;
    z-index: 2 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 0 2px !important;
}
.bp2-thu-item.bp2-thu-done:hover {
    transform: scale(1.08) !important;
    z-index: 10 !important;
}
.bp2-thu-item.bp2-thu-done:hover .bp2-thu-preview {
    box-shadow: 0 4px 12px rgba(52,168,125,0.4) !important;
}

/* 未完成图片：保持现有设计 */
.bp2-thu-item.bp2-thu-ok .bp2-thu-preview {
    border-color: #34a87d !important;
    background: #e6f4ed !important;
}
.bp2-thu-item.bp2-thu-ok .bp2-thu-status {
    color: #34a87d !important;
}
.bp2-thu-item.bp2-thu-ok .bp2-thu-name {
    color: #34a87d !important;
}

/* 图片预览网格调整：已完成图片不需要下方名称 */
.bp2-thumbs-grid {
    gap: 8px !important;
}
.bp2-thu-item {
    gap: 4px !important;
}
.bp2-thu-item.bp2-thu-done {
    gap: 0 !important;
}

/* ===== bp2 已完成图片真实缩略图 结束 ===== */

/* ===== v20260908.05 bp2 详情页图片横排+真实缩略图 ===== */
/* 详情页图片容器：横排滚动 */
.bp2-detail-images {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 20px !important;
    background: #f9faf9 !important;
    border-radius: 0 !important;
    min-height: 220px !important;
    align-items: flex-start !important;
}

/* 详情页图片项 */
.bp2-detail-img-item {
    flex-shrink: 0 !important;
    width: 160px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: all .2s !important;
}
.bp2-detail-img-item:hover {
    transform: translateY(-3px) !important;
}

/* 已完成图片：真实缩略图 */
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-preview {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: 2px solid #34a87d !important;
    position: relative !important;
    overflow: hidden !important;
    width: 160px !important;
    height: 160px !important;
    border-radius: 8px !important;
}
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-preview::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 60% !important;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-status {
    background: #34a87d !important;
    color: #fff !important;
    top: 8px !important;
    right: 8px !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 12px !important;
    z-index: 3 !important;
    position: absolute !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2) !important;
}
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-overlay {
    position: absolute !important;
    bottom: 8px !important;
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
}
.bp2-detail-img-item.bp2-detail-img-done .bp2-detail-img-state {
    font-size: 11px !important;
    color: rgba(255,255,255,0.85) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
}
.bp2-detail-img-item.bp2-detail-img-done:hover .bp2-detail-img-preview {
    box-shadow: 0 6px 20px rgba(52,168,125,0.35) !important;
}

/* 未完成图片：图标+名称+状态 */
.bp2-detail-img-item:not(.bp2-detail-img-done) .bp2-detail-img-preview {
    width: 160px !important;
    height: 160px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    border: 2px solid #e8ece8 !important;
    overflow: hidden !important;
}
.bp2-detail-img-item:not(.bp2-detail-img-done) .bp2-detail-img-icon {
    font-size: 48px !important;
    opacity: 0.5 !important;
}
.bp2-detail-img-item:not(.bp2-detail-img-done) .bp2-detail-img-status {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    font-size: 14px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}
.bp2-detail-img-item:not(.bp2-detail-img-done) .bp2-detail-img-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    text-align: center !important;
}
.bp2-detail-img-item:not(.bp2-detail-img-done) .bp2-detail-img-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
}
.bp2-detail-img-item:not(.bp2-detail-img-done) .bp2-detail-img-state {
    font-size: 11px !important;
    color: #7a8a86 !important;
}

/* 状态颜色 */
.bp2-detail-img-item.bp2-detail-img-running .bp2-detail-img-preview {
    border-color: #E8743C !important;
    animation: bp2-breathe 1.5s ease-in-out infinite !important;
}
.bp2-detail-img-item.bp2-detail-img-running .bp2-detail-img-status {
    color: #E8743C !important;
}
.bp2-detail-img-item.bp2-detail-img-running .bp2-detail-img-state {
    color: #E8743C !important;
}
.bp2-detail-img-item.bp2-detail-img-needs .bp2-detail-img-preview {
    border-color: #a8531b !important;
}
.bp2-detail-img-item.bp2-detail-img-needs .bp2-detail-img-status {
    color: #a8531b !important;
}
.bp2-detail-img-item.bp2-detail-img-needs .bp2-detail-img-state {
    color: #a8531b !important;
}
.bp2-detail-img-item.bp2-detail-img-empty .bp2-detail-img-preview {
    border-color: #e8ece8 !important;
    background: #f5f7f6 !important;
}
.bp2-detail-img-item.bp2-detail-img-empty .bp2-detail-img-status {
    color: #ccc !important;
}
.bp2-detail-img-item.bp2-detail-img-empty .bp2-detail-img-state {
    color: #bbb !important;
}

/* 详情页整体优化 */
.bp2-sku-detail {
    background: #fff !important;
}
.bp2-detail-panes {
    background: #fff !important;
}
.bp2-detail-pane {
    padding: 0 !important;
}

/* ===== bp2 详情页图片横排+真实缩略图 结束 ===== */

/* ===== v20260908.05 bp2 空态页面美化 ===== */
.bp2-empty {
    text-align: center !important;
    padding: 80px 24px !important;
    background: #fff !important;
    margin: 20px 24px !important;
    border-radius: 12px !important;
    border: 1px solid #e8ece8 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
.bp2-empty-icon {
    font-size: 64px !important;
    margin-bottom: 20px !important;
    opacity: 0.6 !important;
    line-height: 1 !important;
}
.bp2-empty h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
}
.bp2-empty p {
    font-size: 14px !important;
    color: #7a8a86 !important;
    margin-bottom: 32px !important;
    margin-top: 0 !important;
    max-width: 400px !important;
    line-height: 1.6 !important;
}
.bp2-empty-actions {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    align-items: center !important;
    justify-content: center !important;
}
.bp2-empty-actions .bp2-btn {
    min-width: 140px !important;
    justify-content: center !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: all .2s !important;
    font-weight: 500 !important;
    border: 1px solid transparent !important;
}
.bp2-empty-actions .bp2-btn-primary {
    background: #E8743C !important;
    color: #fff !important;
    border-color: #E8743C !important;
}
.bp2-empty-actions .bp2-btn-primary:hover {
    background: #d66530 !important;
    border-color: #d66530 !important;
    box-shadow: 0 4px 12px rgba(232,116,60,0.3) !important;
}
.bp2-empty-actions .bp2-btn-outline {
    background: #fff !important;
    color: #1B4332 !important;
    border-color: #1B4332 !important;
}
.bp2-empty-actions .bp2-btn-outline:hover {
    background: #f5f9f6 !important;
    box-shadow: 0 4px 12px rgba(27,67,50,0.15) !important;
}
.bp2-empty-actions .bp2-btn i {
    font-size: 12px !important;
}

/* ===== bp2 空态页面美化结束 ===== */

/* ===== v20260908.05 bp2 统计卡片移到页头下方 ===== */
.bp2-sumrow-header {
    margin: 16px 24px !important;
    background: transparent !important;
}
.bp2-sumrow-header .bp2-sum-card {
    background: #fff !important;
    border: 1px solid #e8ece8 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    box-shadow: 0 1px 3px rgba(15,45,34,0.04) !important;
    transition: all .2s !important;
}
.bp2-sumrow-header .bp2-sum-card:hover {
    box-shadow: 0 4px 12px rgba(15,45,34,0.08) !important;
    transform: translateY(-1px) !important;
}
.bp2-sumrow-header .bp2-sum-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
}
.bp2-sumrow-header .bp2-sum-num {
    font-size: 20px !important;
    font-weight: 600 !important;
}
.bp2-sumrow-header .bp2-sum-label {
    font-size: 12px !important;
    color: #7a8a86 !important;
}
.bp2-sumrow-header .bp2-sum-trend {
    font-size: 10px !important;
    padding: 2px 6px !important;
    border-radius: 8px !important;
}

/* 页头样式优化 */
.bp2-page-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 24px !important;
    background: #fff !important;
    border-bottom: 1px solid #e8ece8 !important;
}
.bp2-page-head .gemi-page-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
    margin: 0 !important;
}
.bp2-head-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* ===== bp2 统计卡片移到页头下方 结束 ===== */

/* ===== v20260908.05 bp2 页头和统计卡片布局修复 ===== */
/* 页头：标题靠左，刷新靠右 */
.bp2-page-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 24px !important;
    background: #fff !important;
    border-bottom: 1px solid #e8ece8 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.bp2-page-head .gemi-page-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
    margin: 0 !important;
    text-align: left !important;
    flex: 1 !important;
}
.bp2-head-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
}

/* 统计卡片：5列自适应，两端对齐 */
.bp2-sumrow-header {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 16px !important;
    margin: 16px 24px !important;
    width: calc(100% - 48px) !important;
    box-sizing: border-box !important;
}
.bp2-sumrow-header .bp2-sum-card {
    background: #fff !important;
    border: 1px solid #e8ece8 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    box-shadow: 0 1px 3px rgba(15,45,34,0.04) !important;
    transition: all .2s !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
}
.bp2-sumrow-header .bp2-sum-card:hover {
    box-shadow: 0 4px 12px rgba(15,45,34,0.08) !important;
    transform: translateY(-1px) !important;
}
.bp2-sumrow-header .bp2-sum-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.bp2-sumrow-header .bp2-sum-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.bp2-sumrow-header .bp2-sum-num {
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}
.bp2-sumrow-header .bp2-sum-label {
    font-size: 12px !important;
    color: #7a8a86 !important;
    margin-top: 2px !important;
}
.bp2-sumrow-header .bp2-sum-trend {
    font-size: 10px !important;
    padding: 2px 6px !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
}

/* 确保bp2-container宽度100% */
.bp2-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* ===== bp2 页头和统计卡片布局修复 结束 ===== */

/* ===== v20260908.05 bp2 结果展厅 + 统计卡片可点击 ===== */
/* 统计卡片可点击样式 */
.bp2-sum-clickable {
    cursor: pointer !important;
    transition: all .2s !important;
}
.bp2-sum-clickable:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(15,45,34,0.12) !important;
    border-color: #1B4332 !important;
}
.bp2-sum-clickable:active {
    transform: translateY(0) !important;
}

/* 结果展厅布局 */
.bp2-gallery-empty {
    text-align: center !important;
    padding: 80px 24px !important;
    background: #fff !important;
    margin: 20px 24px !important;
    border-radius: 12px !important;
    border: 1px solid #e8ece8 !important;
}
.bp2-gallery-empty .bp2-empty-icon {
    font-size: 64px !important;
    margin-bottom: 20px !important;
    opacity: 0.6 !important;
}
.bp2-gallery-empty h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
}
.bp2-gallery-empty p {
    font-size: 14px !important;
    color: #7a8a86 !important;
    margin: 0 !important;
}
.bp2-gallery-header {
    padding: 16px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1B4332 !important;
}
.bp2-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    padding: 0 24px 24px !important;
}
.bp2-gallery-card {
    background: #fff !important;
    border: 1px solid #e8ece8 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition: all .2s !important;
}
.bp2-gallery-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(15,45,34,0.12) !important;
    border-color: #1B4332 !important;
}
.bp2-gallery-cover {
    width: 100% !important;
    aspect-ratio: 1 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
}
.bp2-gallery-badge {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    background: #34a87d !important;
    color: #fff !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}
.bp2-gallery-count {
    position: absolute !important;
    bottom: 8px !important;
    right: 8px !important;
    background: rgba(0,0,0,0.6) !important;
    color: #fff !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}
.bp2-gallery-info {
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.bp2-gallery-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.bp2-gallery-sku {
    font-size: 12px !important;
    color: #7a8a86 !important;
}

/* ===== v20260908.59 已完成任务：一行一个任务列表 ===== */
.bp2-list-wrap {
    padding: 0 24px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.bp2-list-row {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: #fff !important;
    border: 1px solid #e8ece8 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    cursor: pointer !important;
    transition: all .2s !important;
    width: 100% !important;
}
.bp2-list-row:hover {
    border-color: #1B4332 !important;
    box-shadow: 0 4px 12px rgba(15,45,34,0.10) !important;
}
.bp2-list-thumb {
    width: 56px !important;
    height: 56px !important;
    border-radius: 8px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
    flex: 0 0 auto !important;
}
.bp2-list-thumb .bp2-gallery-badge {
    top: 4px !important;
    left: 4px !important;
    font-size: 9px !important;
    padding: 2px 5px !important;
    border-radius: 3px !important;
    background: rgba(52,168,125,0.92) !important;
}
.bp2-list-mid {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.bp2-list-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.bp2-list-sku {
    font-size: 12px !important;
    color: #7a8a86 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.bp2-list-right {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.bp2-list-count {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #34a87d !important;
    white-space: nowrap !important;
}
.bp2-list-arrow {
    font-size: 22px !important;
    color: #c5ccc6 !important;
    line-height: 1 !important;
}

/* ===== v20260908.64 任务队列：一行一个任务（选择框/配置/开始/暂停/停止/删除） ===== */
.bp2-queue-row {
    cursor: pointer !important;
    gap: 12px !important;
}
.bp2-queue-row.is-selected {
    background: #f2f9f4 !important;
    border-color: #176C39 !important;
}
.bp2-queue-check {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    accent-color: #176C39 !important;
}
.bp2-queue-thumb {
    width: 48px !important;
    height: 48px !important;
}
/* v20260908.90 缩略图显示商品基准图（自动读取）+ 基准图角标 */
.bp2-queue-thumb.bp2-queue-base {
    width: 50px !important;
    height: 50px !important;
    border: 2px solid #176C39 !important;
}
.bp2-queue-base-tag {
    position: absolute !important;
    bottom: 3px !important;
    left: 3px !important;
    background: rgba(23,108,57,0.9) !important;
    color: #fff !important;
    font-size: 8px !important;
    line-height: 1 !important;
    padding: 2px 4px !important;
    border-radius: 3px !important;
}
/* v20260908.92 组合多组件基准图：显示全部基准图小图 */
.bp2-queue-thumb.bp2-queue-multi {
    width: auto !important;
    min-width: 60px !important;
    height: 52px !important;
    border: 2px solid #176C39 !important;
    border-radius: 8px !important;
    background: #f2f9f4 !important;
    display: flex !important;
    align-items: center !important;
    padding: 3px !important;
    box-sizing: border-box !important;
    position: relative !important;
}
.bp2-queue-multi-imgs {
    display: flex !important;
    gap: 3px !important;
    overflow: hidden !important;
}
.bp2-queue-mini-base {
    width: 30px !important;
    height: 30px !important;
    border-radius: 4px !important;
    border: 1px solid #d5e3da !important;
    background-size: cover !important;
    background-position: center !important;
    cursor: zoom-in !important;
    flex: 0 0 auto !important;
}
.bp2-queue-namewrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}
.bp2-queue-prog {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 2px !important;
}
.bp2-queue-bar {
    flex: 1 1 auto !important;
    max-width: 160px !important;
    height: 5px !important;
    background: #e8f0ea !important;
    border-radius: 3px !important;
    overflow: hidden !important;
}
.bp2-queue-bar-fill {
    height: 100% !important;
    background: linear-gradient(90deg,#34a87d,#1B4332) !important;
    border-radius: 3px !important;
    transition: width .3s !important;
}
/* v20260908.87 任务行自动展示商品基准图 */
.bp2-queue-baseline {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 6px !important;
    max-width: 100% !important;
    overflow: hidden !important;
}
.bp2-queue-baseline-label {
    flex: 0 0 auto !important;
    font-size: 11px !important;
    color: #8aa08e !important;
    white-space: nowrap !important;
}
.bp2-queue-baseline-imgs {
    display: flex !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    max-width: 100% !important;
}
.bp2-queue-baseline-img {
    width: 28px !important;
    height: 28px !important;
    border-radius: 6px !important;
    border: 1px solid #d5e3da !important;
    background-size: cover !important;
    background-position: center !important;
    cursor: zoom-in !important;
    flex: 0 0 auto !important;
    transition: transform .15s !important;
}
.bp2-queue-baseline-img:hover {
    transform: scale(1.08) !important;
    border-color: #1B4332 !important;
}
.bp2-queue-actions {
    gap: 8px !important;
}
.bp2-queue-actions .bp2-opa {
    width: 34px !important;
    height: 34px !important;
    font-size: 16px !important;
    border-radius: 6px !important;
}
.bp2-queue-actions .op-stop {
    color: #a32d2d !important;
    border-color: #e5c5c5 !important;
}
.bp2-queue-actions .op-stop:hover {
    background: #fdecec !important;
    border-color: #a32d2d !important;
    color: #a32d2d !important;
}
.bp2-queue-actions .op-cfg:hover,
.bp2-queue-actions .op-start:hover,
.bp2-queue-actions .op-pause:hover {
    background: #eaf7ef !important;
}
.bp2-queue-actions .op-video {
    color: #2c6f9e !important;
    border-color: #c5dcea !important;
}
.bp2-queue-actions .op-video:hover {
    background: #e8f2fa !important;
    border-color: #2c6f9e !important;
    color: #2c6f9e !important;
}

/* ===== v20260908.76 已生成图挑选弹窗 ===== */
.gemi-pick-img {
    transition: all .15s !important;
}
.gemi-pick-img.sel {
    border-color: #176C39 !important;
    box-shadow: 0 0 0 3px rgba(23,108,57,.25) !important;
}


/* ===== bp2 结果展厅 + 统计卡片可点击 结束 ===== */

/* ===== v20260908.05 bp2 筛选空态简洁提示 ===== */
.bp2-filter-empty {
    grid-column: 1 / -1 !important;
    text-align: center !important;
    padding: 40px 24px !important;
    background: #fff !important;
    border-radius: 10px !important;
    border: 1px dashed #d0d5d0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
}
.bp2-filter-empty span {
    font-size: 14px !important;
    color: #7a8a86 !important;
}
.bp2-filter-empty .bp2-btn {
    padding: 8px 20px !important;
    font-size: 13px !important;
    border-radius: 6px !important;
    border: 1px solid #1B4332 !important;
    background: #fff !important;
    color: #1B4332 !important;
    cursor: pointer !important;
    transition: all .2s !important;
}
.bp2-filter-empty .bp2-btn:hover {
    background: #1B4332 !important;
    color: #fff !important;
}

/* ===== bp2 筛选空态简洁提示 结束 ===== */

/* ===== v20260908.05 bp2 页头去掉背景 ===== */
.bp2-page-head {
    background: transparent !important;
    border-bottom: none !important;
    padding: 12px 24px !important;
}
.bp2-page-head .gemi-page-title {
    background: transparent !important;
}

/* ===== bp2 页头去掉背景 结束 ===== */

/* ===== v20260908.05 bp2 新建批次按钮单独放置 ===== */
.bp2-newbatch-btn {
    transition: all .2s !important;
}
.bp2-newbatch-btn:hover {
    background: #d4632b !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(232,116,60,0.3) !important;
}
.bp2-newbatch-btn:active {
    transform: translateY(0) !important;
}

/* ===== bp2 新建批次按钮单独放置 结束 ===== */

/* ===== 生产进度整合进 AI 浮球（imPanel）===== */
#imProdProgCard .im-card-text { position: relative; }
#imProdProgCard .im-progress-count {
    position: absolute; right: 0; top: 50%; transform: translateY(-50%);
    min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px;
    background: #0B7285; color: #fff; font-size: 11px; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
#imProdProgCard .im-card-arrow { align-self: center; }
.im-progress-list {
    background: #f5f9f7; border: 1px solid #e3efe6; border-radius: 8px;
    padding: 6px 10px; overflow: hidden;
}
/* ===== 生产进度整合进 AI 浮球 结束 ===== */

#imProdProgCard .im-card-text .d { padding-right: 30px; }
.im-progress-list div[onclick] { word-break: break-all; }

/* ===== 内容中心「开始制作」= v20260908.46 ===== */
.bp2-opa.op-start { color: #176C39; border-color: #176C39; }
.bp2-opa.op-start:hover { background: #eaf7ef; }
.bp2-btn-start { background:#176C39 !important; border-color:#176C39 !important; color:#fff !important; }
.bp2-btn-start:hover { background:#0f5a31 !important; }
/* ===== 内容中心「开始制作」结束 ===== */
