:root{--admin-blue:#3b82f6;--admin-blue-dark:#2563eb;--admin-blue-soft:#edf4ff;--admin-text:#26344d;--admin-muted:#8794aa;--admin-line:#e5eaf2;--admin-bg:#f4f7fc;--admin-card:#fff;--admin-danger:#e95b62}
/* 权限较少时菜单行保持内容高度，避免 Grid 将少量入口拉伸铺满整列。 */
body .shell aside nav{align-content:start;grid-auto-rows:max-content}
html,body{width:100%;min-width:0;background:var(--admin-bg);color:var(--admin-text);font-size:14px}
.shell{display:block;width:100%;max-width:none}
body .shell main{box-sizing:border-box;display:block;width:calc(100vw - 216px)!important;max-width:none!important;min-width:0;margin:0 0 0 216px!important;padding:0 20px 32px!important}
body .shell main>header,body .shell main>.panel{box-sizing:border-box;width:100%!important;max-width:none!important}
body .shell main>.panel:not(.dashboard-panel){padding:20px;border:1px solid var(--admin-line);border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(45,70,115,.035)}
.panel-lead,.toolbar p,header p{color:var(--admin-muted);font-size:13px}h1{color:#1f2d44;font-size:20px}h2{color:#27364f}h3{color:#30405a}
body .shell .primary,body .shell .search button,body .shell button.primary{border-color:var(--admin-blue)!important;background:var(--admin-blue)!important;color:#fff!important;box-shadow:none!important}
body .shell .primary:hover,body .shell .search button:hover{background:var(--admin-blue-dark)!important}
body .shell .ghost,body .shell button.ghost{border:1px solid #dce4f0!important;background:#fff!important;color:#4770ad!important;box-shadow:none!important}
body .shell .danger:not(.solid){border-color:#f2a7aa!important;background:#fff6f6!important;color:#d94b52!important}
body .shell .danger.solid{background:var(--admin-danger)!important;color:#fff!important}
body .shell .notice{border:0;border-radius:8px;background:var(--admin-blue-soft)!important;color:#4770ad!important;font-size:12px}
body .shell .notice.error{background:#fff1f1!important;color:#c74f55!important}
body .shell .user-filters,body .shell .ops-referral-filters{width:100%!important;max-width:none!important;border-color:#dfe6f0!important;border-radius:11px;background:#f8faff!important}
body .shell .user-filters label,body .shell .lottery-records-filters label{color:#68778f!important;font-size:12px}
body .shell .user-filters input,body .shell .user-filters select,body .shell .lottery-records-filters input,body .shell .lottery-records-filters select{border-color:#d9e2ef!important;border-radius:8px!important;background:#fff!important;color:#33425a!important;outline:none}
body .shell .user-filters input:focus,body .shell .user-filters select:focus{border-color:#80acf6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
body .shell .table-wrap,body .shell .table-wrap table{box-sizing:border-box;width:100%!important;max-width:none!important}
body .shell .table-wrap th{height:42px;padding:11px 10px;border-color:var(--admin-line)!important;background:#fafbfe!important;color:#718097!important;font-size:12px;font-weight:650}
body .shell .table-wrap td{padding:13px 10px;border-color:#edf0f5!important;color:#35435a!important;font-size:12px}
body .shell .table-wrap tbody tr:hover td{background:#fbfdff!important}
body .shell .table-wrap .openid{color:#98a4b6!important;font-size:11px!important}
body .shell #opsPanel .table-wrap{overflow-x:hidden}
body .shell #opsPanel .table-wrap>table{width:100%!important;min-width:0!important;table-layout:fixed!important}
body .shell #opsPanel .table-wrap col{width:auto!important}
body .shell #opsPanel .table-wrap>table th,body .shell #opsPanel .table-wrap>table td{box-sizing:border-box;width:auto!important;min-width:0!important;overflow-wrap:anywhere;white-space:normal}
body .shell #opsPanel .table-wrap>table col:last-child{width:100px!important}
body .shell #opsPanel .table-wrap>table.ops-actions-medium col:last-child{width:182px!important}
body .shell #opsPanel .table-wrap>table.ops-actions-wide col:last-child{width:264px!important}
body .shell #opsPanel .ops-id-head{width:130px!important}
body .shell #opsPanel .ops-id-cell{width:130px!important;max-width:130px!important;overflow:hidden!important;color:#718096;font-size:11px;line-height:1.45;text-overflow:ellipsis!important;white-space:nowrap!important;overflow-wrap:normal!important;cursor:help}
body .shell #opsPanel .ops-orders-table col:nth-child(8){width:180px!important}
/* 活动报名各普通列等宽收窄，把空间集中给包含三行奖励及分享人的第 9 列。 */
body .shell #opsPanel .table-wrap>table.ops-activity-signups-table col{width:7%!important}
body .shell #opsPanel .table-wrap>table.ops-activity-signups-table col:nth-child(2){width:12%!important}
body .shell #opsPanel .table-wrap>table.ops-activity-signups-table col:nth-child(9){width:21%!important}
body .shell #opsPanel .table-wrap>table.ops-activity-signups-table col:last-child{width:15%!important}
body .shell #opsPanel .ops-activity-signups-table th:nth-child(9),body .shell #opsPanel .ops-activity-signups-table td:nth-child(9){overflow:hidden!important}
body .shell #opsPanel .ops-companion-cell{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}
body .shell #opsPanel .ops-companion-cell>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .shell #opsPanel .ops-companion-cell small{display:block;margin-top:4px;overflow:hidden;color:#98a4b6;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
body .shell #opsPanel .ops-companion-cell .ops-order-participant{box-sizing:border-box;flex:0 0 76px;width:76px;height:34px;min-height:34px;margin:0;padding:0 4px;font-size:12px;white-space:nowrap}
body .shell #opsPanel .ops-companion-actions{display:grid;flex:0 0 76px;gap:6px}
body .shell #opsPanel .ops-row-actions,body .shell #opsPanel .ops-referral-actions{display:grid!important;grid-template-columns:76px!important;align-items:start;justify-content:start;width:76px!important;max-width:100%!important;gap:7px 6px!important}
body .shell #opsPanel .ops-actions-medium .ops-row-actions,body .shell #opsPanel .ops-actions-medium .ops-referral-actions{grid-template-columns:repeat(2,76px)!important;width:158px!important}
body .shell #opsPanel .ops-actions-wide .ops-row-actions,body .shell #opsPanel .ops-actions-wide .ops-referral-actions{grid-template-columns:repeat(3,76px)!important;width:240px!important}
body .shell #opsPanel .ops-row-actions button,body .shell #opsPanel .ops-referral-actions button{box-sizing:border-box!important;display:flex!important;width:76px!important;min-width:76px!important;max-width:76px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 4px!important;align-items:center;justify-content:center;font-size:12px;line-height:1.2;white-space:nowrap}
body .shell #opsPanel .ops-row-actions button:disabled,body .shell #opsPanel .ops-referral-actions button:disabled{border-color:#dce2ea!important;background:#eef1f5!important;color:#8b96a8!important;box-shadow:none!important;cursor:not-allowed!important;opacity:1!important}
body .shell #opsPanel .ops-action-note{grid-column:1/-1;width:100%;max-width:100%}
body .shell #opsPanel .ops-refund-pending-row td{background:#fff8f7!important}
body .shell #opsPanel .ops-refund-pending-row:hover td{background:#fff3f1!important}
body .shell #opsPanel .ops-refund-status{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap}
body .shell #opsPanel .ops-refund-status.pending{background:#ffe7e3;color:#d84738}
body .shell #opsPanel .ops-refund-status.processing{background:#fff1d9;color:#ad6a00}
body .shell #opsPanel .ops-refund-status.approved{background:#e8f5ef;color:#25805e}
body .shell #opsPanel .ops-refund-status.rejected{background:#eef1f5;color:#758096}

/* 运营中心筛选区：各条件在当前页面内等宽排列。 */
body .shell #opsFilters,body .shell #opsFilters.ops-order-filters,body .shell #opsFilters.ops-activity-filters,body .shell #opsFilters.ops-lead-filters,body .shell #opsFilters.ops-referral-filters,body .shell #opsFilters.ops-filters-single-row,body .shell #opsFilters.ops-employee-filters.employee-list-mode,body .shell #opsFilters.ops-employee-filters.employee-application-mode{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;align-items:end!important;gap:12px!important}
body .shell #opsFilters>label,body .shell #opsFilters>.filter-actions{grid-column:auto!important;min-width:0!important;width:100%!important}
body .shell #opsFilters .filter-keyword{grid-column:auto!important;min-width:0!important}
body .shell #opsFilters .employee-keyword-actions{display:contents!important}
body .shell #opsFilters .filter-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px}
body .shell #opsFilters .filter-actions button{box-sizing:border-box;width:100%;min-width:0;min-height:38px;padding:0 8px}
body .shell #opsFilters.ops-employee-filters.employee-list-mode .filter-actions{grid-template-columns:minmax(72px,1fr) minmax(72px,1fr) minmax(132px,1.4fr)!important;min-width:0!important;white-space:nowrap!important}
body .shell #opsFilters.ops-employee-filters.employee-list-mode .filter-actions button{white-space:nowrap!important}
/* 购买订单沿用其他运营列表的一行布局：五项筛选 + 三个操作按钮，桌面端不换行。 */
body .shell #opsFilters.ops-order-filters{grid-template-columns:minmax(110px,.8fr) minmax(110px,.8fr) minmax(135px,.9fr) minmax(135px,.9fr) minmax(240px,1.5fr) minmax(270px,1.25fr)!important;align-items:end!important}
body .shell #opsFilters.ops-order-filters .filter-keyword{grid-column:auto!important}
body .shell #opsFilters.ops-order-filters .filter-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;min-width:270px!important;white-space:nowrap}
body .shell #opsFilters.ops-order-filters .filter-actions button{width:100%!important;min-width:0!important;padding:0 6px!important;white-space:nowrap!important}
/* 卡券兑换沿用“自测线索”的一行五段布局：类型状态 / 起日 / 止日 / 关键词 / 操作。 */
body .shell #opsFilters.ops-card-redemption-filters{grid-template-columns:220px 145px 145px minmax(220px,1fr) 210px!important;align-items:end!important}
body .shell #opsFilters.ops-card-redemption-filters .ops-card-type-status{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
body .shell #opsFilters.ops-card-redemption-filters .filter-keyword{width:100%!important}
body .shell #opsFilters.ops-card-redemption-filters .filter-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:210px!important;gap:8px!important}
body .shell #opsFilters.ops-card-redemption-filters .filter-actions button{width:100%!important;padding:0 6px!important;white-space:nowrap}
body .shell #opsFilters.ops-card-redemption-filters .ops-card-verify{grid-column:1/-1!important;width:100%!important}
@media(max-width:1200px){body .shell #opsFilters.ops-card-redemption-filters{grid-template-columns:repeat(3,minmax(150px,1fr))!important}body .shell #opsFilters.ops-card-redemption-filters .filter-keyword{grid-column:span 2!important}body .shell #opsFilters.ops-card-redemption-filters .filter-actions{width:100%!important}}
@media(max-width:850px){body .shell #opsFilters.ops-card-redemption-filters{grid-template-columns:1fr!important}body .shell #opsFilters.ops-card-redemption-filters .filter-keyword{grid-column:auto!important}}

/* 客户管理：完整资料直接按列展示，长内容省略并通过 title 查看。 */
body .shell #usersPanel .table-wrap{overflow-x:hidden}
body .shell #usersPanel .table-wrap table{width:100%!important;min-width:0!important;table-layout:fixed!important}
body .shell #usersPanel .table-wrap th,body .shell #usersPanel .table-wrap td{box-sizing:border-box;width:7.142857%!important;min-width:0!important;padding-right:8px;padding-left:8px;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body .shell #usersPanel .user-truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}
body .shell #usersPanel .user-actions{display:grid;grid-template-columns:76px;width:76px;gap:0}
body .shell #usersPanel .user-actions button{box-sizing:border-box;width:76px!important;min-width:76px!important;height:34px!important;min-height:34px!important;margin:0;padding:0 4px!important}
body .shell #userFilters{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;align-items:end!important;gap:12px!important}
body .shell #userFilters>label,body .shell #userFilters>.filter-actions{grid-column:auto!important;min-width:0!important;width:100%!important}
body .shell #userFilters .filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body .shell #userFilters .filter-actions button{width:100%;min-width:0;min-height:38px;padding:0 8px}
.role{background:#eff4fb;color:#63728a}.role.employee{background:#edf4ff;color:#3977cd}.role-btn{border-color:#bad0f3;background:#fff;color:#3977cd}
.ops-pagination{border-color:var(--admin-line);color:var(--admin-muted)}.ops-page-buttons button{border-color:#dce4f0;color:#5274a7}.ops-page-buttons button.active{border-color:var(--admin-blue);background:var(--admin-blue);color:#fff}
.metrics{width:100%;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.metrics article{border:1px solid var(--admin-line);border-radius:12px;box-shadow:none}.metrics label{color:var(--admin-muted)}
.cms-grid,.assets-list,.tab-registration-grid{width:100%;max-width:none}
body .shell .cms-card,body .shell .asset-section,body .shell .points-manage-section,body .shell .lottery-settings-card,body .shell .lottery-records-card,body .shell .tab-registration-item{border-color:var(--admin-line)!important;border-radius:12px!important;background:#fff!important;color:var(--admin-text)!important;box-shadow:none!important}
body .shell .cms-card:hover{border-color:#9ebff5!important;box-shadow:0 8px 20px rgba(45,91,168,.08)!important}
body .shell .lottery-records-summary span,body .shell .points-drag-hint,body .shell .cms-card-meta span:not(.off){background:var(--admin-blue-soft)!important;color:#4770ad!important}
body .shell .lottery-back-btn{border-color:#dce4f0!important;background:#fff!important;color:#4770ad!important}
.modal{background:rgba(24,38,62,.42)}.dialog{border-color:var(--admin-line);border-radius:14px;color:var(--admin-text)}
body .dialog input,body .dialog textarea,body .dialog select{border-color:#d9e2ef!important;border-radius:8px!important;color:#33425a!important}
.referral-consume-head,.referral-audit-head,.referral-payout-head{background:linear-gradient(135deg,#eef5ff,#fff)!important}.referral-consume-icon,.referral-payout-heading>span{background:var(--admin-blue)!important;box-shadow:0 8px 18px rgba(59,130,246,.22)!important}.referral-reward-preview,.referral-payout-available,.referral-audit-notice{background:#f0f5fd!important;color:#62738f!important}

/* 内容配置中心：统一采用新版中台的卡片、分区与编辑器语言。 */
body .shell #cmsPanel,body .shell #bannerPanel,body .shell #inviteTopicsPanel,body .shell #pointsPanel,body .shell #lotteryPanel,body .shell #capsulePanel,body .shell #offlineLotteryPanel{background:#f8faff!important}
.offline-lottery-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.offline-lottery-main-settings{min-width:0}.offline-lottery-main-settings>h3{margin:0 0 16px;color:#263c60}.offline-lottery-preview-panel{position:sticky;top:16px;padding:14px;border:1px solid #d9e6fa;border-radius:14px;background:linear-gradient(160deg,#fff7f4,#ffe5dc 58%,#ffd5cb);box-shadow:0 9px 22px rgba(180,73,53,.1)}.offline-lottery-preview-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.offline-lottery-preview-head small{color:#b06b5c;font-size:10px;letter-spacing:1px}.offline-lottery-preview-head h3{margin:3px 0 0;color:#8e3325;font-size:17px}.offline-lottery-preview-head>span{padding:5px 8px;border-radius:999px;background:#e7f6ed;color:#288250;font-size:10px;font-weight:700}.offline-lottery-preview-head>span.off{background:#edf0f4;color:#7e8896}.offline-lottery-preview-stage{padding:13px 10px 16px;border-radius:12px;background:radial-gradient(circle at 50% 18%,#ffe9bd,#ffad94 53%,#ff786b);text-align:center}.offline-lottery-preview-title{color:#fff6cb;font-size:25px;font-weight:900;line-height:1;text-shadow:0 3px 0 #ce3e2f}.offline-lottery-preview-title small{display:block;margin-top:7px;color:#a23a2c;font-size:8px;text-shadow:none}.offline-lottery-preview-machine{margin-top:13px;padding:8px 9px 12px;border:4px solid #ffbd64;border-radius:14px;background:linear-gradient(90deg,#ff8e6b,#ffd88f 50%,#ff8e6b);box-shadow:0 5px 0 #d94329}.offline-lottery-preview-sign{margin-bottom:7px;padding:6px;border:2px solid #ffd47f;border-radius:7px;background:#c62d1a;color:#ffd89a;font-size:8px;font-weight:700}.offline-lottery-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;border:3px solid #ac2b19;border-radius:9px;background:#ed4935}.offline-lottery-preview-grid>span,.offline-lottery-preview-grid>button{display:flex;height:51px;min-width:0;align-items:center;justify-content:center;flex-direction:column;padding:0;border:1px solid #d05a43;border-radius:6px;background:#fff9e9;box-sizing:border-box}.offline-lottery-preview-grid b{font-size:18px;line-height:1}.offline-lottery-preview-grid small{display:block;max-width:64px;margin-top:4px;overflow:hidden;color:#a13c2b;font-size:7px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.offline-lottery-preview-grid>button{border:0;background:radial-gradient(circle,#ff7556,#d72416);color:#fff7ce;box-shadow:inset 0 -4px 0 #a91a10}.offline-lottery-preview-grid>button strong{font-size:10px}.offline-lottery-preview-grid>button small{color:#ffd39c}.offline-lottery-preview-action{width:66%;margin:9px auto 0;padding:6px;border-radius:7px;background:linear-gradient(#fff49f,#ffc246);color:#d13e20;font-size:10px;font-weight:800;box-shadow:0 3px 0 #dc7728}.offline-lottery-preview-panel>p{margin:10px 2px 0;color:#956c65;font-size:10px;line-height:1.5}.offline-lottery-layout+.lottery-prizes-head{margin-top:22px!important}@media(max-width:1050px){.offline-lottery-layout{grid-template-columns:1fr}.offline-lottery-preview-panel{position:relative;top:auto}}
body .shell #cmsPanel>.toolbar,body .shell #bannerPanel>.toolbar,body .shell #inviteTopicsPanel>.toolbar,body .shell #pointsPanel>.toolbar,body .shell .lottery-home-toolbar{min-height:52px;margin:-2px 0 16px;padding:14px 16px;border:1px solid #e1e8f3;border-radius:11px;background:#fff}
body .shell #cmsPanel>.toolbar .panel-lead,body .shell #bannerPanel>.toolbar .panel-lead,body .shell #inviteTopicsPanel>.toolbar .panel-lead,body .shell #pointsPanel>.toolbar .panel-lead,body .shell .lottery-home-toolbar .panel-lead{max-width:860px;margin:0;color:#697991!important;line-height:1.65}
body .shell .asset-section,body .shell .points-manage-section,body .shell .lottery-settings-card,body .shell .lottery-records-card{border:1px solid #e1e8f3!important;box-shadow:0 5px 16px rgba(39,71,119,.035)!important}
body .shell .asset-section{margin-top:16px;padding:18px!important}
body .shell .asset-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #edf1f7}
body .shell .asset-section-head>div{display:flex;min-width:0;align-items:baseline;gap:12px}
body .shell .asset-section-head h2,body .shell .points-manage-head h3{color:#263c60!important;font-size:16px!important}
body .shell .asset-section-head p,body .shell .points-manage-head p{color:#8b98aa!important}
body .shell .asset-section-head p{margin:0!important;overflow:hidden;font-size:12px!important;line-height:1.4!important;text-overflow:ellipsis;white-space:nowrap}
body .shell .cms-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:16px}
body .shell .cms-card{position:relative;display:flex;min-height:164px;padding:16px!important;border:1px solid #e0e7f1!important;border-radius:12px!important;background:linear-gradient(145deg,#fff,#fbfcff)!important;flex-direction:column;transition:border-color .18s,box-shadow .18s,transform .18s}
/* 积分商城嵌在分区内，抵消分区内边距后与商品管理使用同一张卡片网格尺寸。 */
body .shell #pointsGoodsGrid{width:calc(100% + 36px);margin:16px -18px 0}
body .shell #pointsGoodsGrid .cms-card{box-sizing:border-box;min-height:164px}
body .shell .cms-card:before{position:absolute;top:0;right:16px;left:16px;height:3px;border-radius:0 0 4px 4px;background:#dbeafe;content:""}
body .shell .cms-card:hover{border-color:#9fc0f7!important;box-shadow:0 10px 24px rgba(52,98,170,.11)!important;transform:translateY(-2px)}
body .shell .cms-card-head{margin-top:4px!important}
body .shell .cms-card-head h3{color:#263c60!important;font-size:15px!important}
body .shell .cms-card>p{color:#718198!important;line-height:1.55}
body .shell .cms-card-meta{margin-top:auto!important;padding-top:13px;border-top:1px solid #edf1f7}
body .shell .cms-card-meta span{border:0!important;background:#edf4ff!important;color:#5578ae!important}
body .shell .cms-card-meta span.off{background:#f2f4f7!important;color:#8a96a8!important}
body .shell .points-drag-hint{background:#eef4ff!important;color:#5c7eae!important}
body .shell .tab-registration-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px}
body .shell .tab-registration-item{min-height:110px;border-color:#e0e7f1!important;background:#fbfcff!important}
body .shell .tab-registration-copy strong{color:#263c60}.tab-registration-copy small{color:#7c8ca2}
body .shell .tab-registration-switch{color:#587097}.tab-registration-switch input{accent-color:var(--admin-blue)}
body .shell .points-manage-section{margin-top:16px!important;padding:18px!important}
body .shell .points-manage-head{padding-bottom:14px;border-bottom:1px solid #edf1f7}
body .shell .lottery-layout{gap:16px!important}.lottery-settings-card{padding:18px!important}
body .shell .lottery-settings-card h3,body .shell .lottery-prizes-title{color:#263c60!important}
body .shell .lottery-settings-card label,body .shell .lottery-records-filters label{color:#687991!important}
body .shell .lottery-settings-card input,body .shell .lottery-settings-card textarea,body .shell .lottery-records-filters input,body .shell .lottery-records-filters select{border-color:#d9e2ef!important;border-radius:8px!important;color:#33425a!important}
body .shell .lottery-enabled .switch-row{border-color:#d9e2ef!important;border-radius:8px!important;color:#526782!important}.lottery-enabled .switch-row input[type="checkbox"]{accent-color:var(--admin-blue)!important}
body .shell .lottery-percent-summary{color:#6f8096!important}.lottery-percent-summary.ok{color:#2471c9!important}.lottery-percent-summary.warn{color:#c27b21!important}
body .shell .lottery-preview-panel{border-color:#d9e6fa!important;background:linear-gradient(160deg,#f8fbff,#edf4ff 58%,#e3efff)!important;box-shadow:0 9px 22px rgba(47,98,173,.1)!important}
body .shell .lottery-preview-head h3,body .shell .lottery-preview-head strong{color:#315f9e!important}.lottery-preview-head p,body .shell .lottery-preview-hint{color:#6d84a7!important}
body .shell .lottery-preview-wheel-wrap{border-color:#eaf3ff!important;box-shadow:0 8px 18px rgba(62,111,184,.15),inset 0 0 0 4px #81aef0!important}.lottery-preview-pointer{border-bottom-color:#3978d3!important}.lottery-preview-center{border-color:#e7f1ff!important;background:linear-gradient(145deg,#4f8df0,#2e6ccc)!important}
body .shell .lottery-back-btn{border-color:#d9e4f3!important;color:#4d72aa!important}.lottery-records-page-title{color:#263c60!important}
body .shell .coupon-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.coupon-actions .ghost{border-color:#dce6f4!important;color:#5578ae!important;font-size:12px!important;white-space:nowrap!important}
.offline-coupon-detail-toggle{display:flex;width:100%;min-height:54px;margin-top:20px;align-items:center;justify-content:space-between;padding:0 16px;border:1px solid #e1e8f2;border-radius:10px;background:#f8faff;color:#4c6484;text-align:left;cursor:pointer}.offline-coupon-detail-toggle>span:first-child{display:flex;align-items:center;gap:10px}.offline-coupon-detail-toggle strong{font-size:13px}.offline-coupon-detail-toggle small{color:#8a98aa;font-size:12px;font-weight:400}.offline-coupon-detail-toggle>span:last-child{color:#5578ae;font-size:12px}.offline-coupon-detail-panel{margin-top:12px}.offline-coupon-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px}.offline-coupon-pager span{color:#718098;font-size:12px}.offline-coupon-pager button{min-height:34px;padding:6px 13px}.offline-coupon-pager button:disabled{cursor:not-allowed;opacity:.45}
.offline-coupon-row-actions{display:flex;align-items:center;gap:6px}.offline-coupon-export-codes,.offline-coupon-delete-codes{min-height:32px!important;padding:6px 11px!important;font-size:12px!important;white-space:nowrap}.offline-coupon-delete-codes:disabled{cursor:not-allowed;opacity:.4}.offline-coupon-status.invalidated{background:#f0f1f3;color:#818b99}

/* 发线下券：卡券管理内的独立工作台 */
.offline-coupon-page{display:grid;gap:18px}.offline-coupon-page.hidden{display:none!important}.offline-coupon-page-head{align-items:flex-start!important}.offline-coupon-page-head h2{margin-top:12px}.offline-coupon-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.offline-coupon-summary article{position:relative;padding:18px 20px;border:1px solid #dfe8f5;border-radius:14px;background:linear-gradient(145deg,#fff,#f5f9ff);box-shadow:0 7px 20px rgba(46,84,139,.06)}.offline-coupon-summary span{display:block;color:#74859c;font-size:12px}.offline-coupon-summary strong{display:inline-block;margin-top:8px;color:#2d5f9e;font-size:28px;line-height:1}.offline-coupon-summary small{margin-left:5px;color:#8a98aa}.offline-coupon-card{padding:20px;border:1px solid #dfe7f2;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(42,73,127,.05)}.offline-coupon-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.offline-coupon-card-head h3{margin:0;color:#294b78;font-size:17px}.offline-coupon-card-head p{margin:6px 0 0;color:#8290a4;font-size:12px}.offline-coupon-issue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.offline-coupon-issue-grid label,.offline-coupon-filters label{display:grid;gap:7px;color:#687991;font-size:12px}.offline-coupon-issue-grid input,.offline-coupon-issue-grid select,.offline-coupon-filters input,.offline-coupon-filters select{width:100%;height:40px;padding:0 11px;box-sizing:border-box;border:1px solid #d9e2ef;border-radius:9px;background:#fff;color:#33425a}.offline-coupon-issue-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:17px;padding-top:16px;border-top:1px solid #edf1f7}.offline-coupon-issue-footer p{margin:0;color:#70839d;font-size:12px;line-height:1.6}.offline-coupon-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(230px,1.6fr) auto;gap:12px;align-items:end;margin-bottom:20px}.offline-coupon-filters button{height:40px}.offline-coupon-subtitle{margin:20px 0 10px;color:#4c6484;font-size:13px}.offline-coupon-card .table-wrap{border:1px solid #e3eaf4;border-radius:10px}.offline-coupon-card table{width:100%;border-collapse:collapse}.offline-coupon-card th,.offline-coupon-card td{padding:11px 10px;border-bottom:1px solid #edf1f6;text-align:left;font-size:12px;white-space:nowrap}.offline-coupon-card th{background:#f7f9fc;color:#718098;font-weight:600}.offline-coupon-card td{color:#465a75}.offline-coupon-card tr:last-child td{border-bottom:0}.offline-coupon-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf3fb;color:#6680a2}.offline-coupon-status.claimed{background:#fff4db;color:#a56a00}.offline-coupon-status.verified{background:#e6f6ed;color:#248052}@media(max-width:1100px){.offline-coupon-issue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offline-coupon-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.offline-coupon-keyword{grid-column:span 2}}@media(max-width:720px){.offline-coupon-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.offline-coupon-issue-grid,.offline-coupon-filters{grid-template-columns:1fr}.offline-coupon-keyword{grid-column:auto}.offline-coupon-issue-footer{align-items:flex-start;flex-direction:column}.offline-coupon-issue-footer button{width:100%}}
body .shell .cms-dialog{border-color:#dce5f1!important;border-radius:14px!important;box-shadow:0 18px 48px rgba(27,52,91,.2)!important}
body .shell .cms-dialog .dialog-head{border-bottom:1px solid #edf1f7}.cms-dialog .dialog-head h2{color:#263c60!important}
body .shell .editor-fields{gap:14px!important}.editor-field{color:#62738d!important}.editor-field input,.editor-field textarea,.editor-field select{border-color:#d9e2ef!important;background:#fff!important}.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus{border-color:#82aef5!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important}

/* 内容配置编辑器：所有内容类型共用一致的弹窗、字段和操作区规格。 */
body .shell .modal .cms-dialog{width:min(1120px,calc(100vw - 48px))!important;max-height:calc(100vh - 44px);padding:0!important;overflow:hidden;background:#fff!important}
body .shell .modal .cms-dialog .dialog-head{min-height:68px;padding:0 24px;background:linear-gradient(135deg,#f8fbff,#fff);align-items:center}
body .shell .modal .cms-dialog .dialog-head h2{font-size:18px!important;line-height:1.25}.cms-dialog .dialog-head>button,.cms-dialog .editor-title-actions>button:last-child{display:grid!important;width:34px!important;height:34px!important;padding:0!important;border:1px solid #dce5f1!important;border-radius:8px!important;background:#fff!important;color:#6d7d92!important;font-size:22px!important;line-height:1!important;place-items:center}
body .shell .cms-dialog .editor-title-actions{gap:9px!important}.cms-dialog .dialog-head .product-preview-trigger{min-width:76px!important;height:34px!important;padding:0 12px!important;border-color:#c8daf5!important;border-radius:8px!important;background:#eef5ff!important;color:#3975c6!important;font-size:12px!important}
body .shell .cms-dialog .editor-fields{max-height:calc(100vh - 190px);margin:0!important;padding:22px 24px 24px!important;overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;background:#fff}
body .shell .cms-dialog .editor-row{gap:14px!important}.cms-dialog .editor-field{min-width:0;color:#62738d!important;font-size:12px!important;font-weight:600!important}.cms-dialog .editor-field input,.cms-dialog .editor-field select,.cms-dialog .editor-field textarea{min-height:42px;margin-top:7px!important;padding:10px 12px!important;border-color:#d9e3f1!important;border-radius:8px!important;background:#fff!important;color:#34445d!important;font-size:13px!important;font-weight:400!important;transition:border-color .15s,box-shadow .15s}.cms-dialog .editor-field textarea{min-height:112px!important;line-height:1.6!important}.cms-dialog .field-advice{margin-top:6px!important;color:#93a0b2!important;font-size:11px!important;font-weight:400!important}
body .shell .cms-dialog .inline-boolean-field .switch-row,body .shell .cms-dialog .editor-field .switch-row{min-height:42px!important;margin-top:7px!important;padding:0 12px!important;border-color:#d9e3f1!important;border-radius:8px!important;background:#f9fbfe!important;color:#62738d!important}.cms-dialog .switch-row input[type="checkbox"]{accent-color:var(--admin-blue)!important}
/* 统一后台编辑器控件高度；checkbox 不继承普通输入框的 42px 最小高度。 */
body .cms-dialog .editor-field input:not([type="checkbox"]):not([type="radio"]),body .cms-dialog .editor-field select{box-sizing:border-box!important;height:42px!important;min-height:42px!important}
body .cms-dialog .inline-boolean-field .switch-row,body .cms-dialog .editor-field .switch-row{box-sizing:border-box!important;height:42px!important;min-height:42px!important}
body .cms-dialog .editor-field .switch-row input[type="checkbox"],body .cms-dialog .editor-field .switch-row input[type="radio"]{box-sizing:border-box!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;padding:0!important}
body .shell .cms-dialog .image-upload{padding:10px;border:1px dashed #cbdcf4;border-radius:10px;background:#f8fbff}.cms-dialog .image-preview{border-radius:8px!important;background:#edf4ff!important;color:#7a91b3!important}.cms-dialog .upload-image-btn{min-height:34px!important;padding:7px 12px!important;border-color:#cddcf1!important;border-radius:7px!important;color:#4d74ad!important}.cms-dialog .image-remove-btn{min-height:34px!important;border-radius:7px!important}
/* 报名专题：工具栏操作按钮统一规格，三张页面素材在同一行维护。 */
body .shell .signup-topic-actions{display:flex!important;gap:12px!important;align-items:center!important}
body .shell .signup-topic-actions button{display:inline-flex!important;height:40px!important;margin:0!important;padding:0 18px!important;align-items:center!important;justify-content:center!important;line-height:1!important}
body .shell .signup-topic-current-content .asset-section-head{padding-bottom:0!important;border-bottom:0!important}
body .shell .signup-topics-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))!important;gap:12px!important;margin-top:16px!important}
body .shell .signup-topic-card{display:flex;min-width:0;min-height:220px;padding:15px;border:1px solid #dfe7f2;border-radius:11px;background:#fbfcff;box-sizing:border-box;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
body .shell .signup-topic-card-copy{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;align-items:flex-start}.signup-topic-card-title{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:10px}.signup-topic-card-title h4{min-width:0;margin:0;overflow:hidden;color:#294b78;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.signup-topic-card-title span{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#e8f6f1;color:#25806e;font-size:10px;font-weight:700}.signup-topic-card-title span.off{background:#f0f2f5;color:#8894a5}.signup-topic-department-tag{display:inline-flex;max-width:100%;margin-top:12px;padding:4px 10px;border-radius:999px;background:#edf4ff;color:#4777b6;font-size:11px;font-weight:650;line-height:1.35}.signup-topic-card-copy .signup-topic-media-status{display:flex;margin:10px 0 5px;color:#697a90;font-size:12px;align-items:center;gap:6px}.signup-topic-card-copy small{display:block;max-width:100%;overflow:hidden;color:#9aa5b4;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.signup-topic-card-actions{display:grid;width:100%;margin-top:14px;padding-top:12px;border-top:1px solid #e7edf6;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.signup-topic-card-actions button{width:100%!important;min-width:0!important;height:34px!important;padding:0 8px!important;font-size:11px!important;white-space:nowrap!important}
body .shell .signup-topic-record-filters{display:grid!important;grid-template-columns:minmax(180px,1.4fr) 150px 150px auto!important;gap:12px!important;margin:16px 0!important;align-items:end!important}
body .shell .signup-topic-record-filters label{display:flex!important;min-width:0!important;flex-direction:column!important;gap:7px!important;color:#687991!important;font-size:12px!important;font-weight:600!important}
body .shell .signup-topic-record-filters input,body .shell .signup-topic-record-filters select{width:100%!important;height:38px!important;padding:0 10px!important;border:1px solid #d9e3f1!important;border-radius:8px!important;background:#fff!important;color:#34445d!important}
body .shell .signup-topic-record-filters .filter-actions{display:flex!important;gap:8px!important}.signup-topic-record-filters .filter-actions button{height:38px!important;padding:0 16px!important;white-space:nowrap!important}
body .shell .cms-dialog .signup-topic-fields{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body .shell .cms-dialog .signup-topic-fields .signup-topic-title{grid-column:span 4!important}
body .shell .cms-dialog .signup-topic-fields .signup-topic-department{grid-column:span 1!important}
body .shell .cms-dialog .signup-topic-fields .signup-topic-status{grid-column:span 1!important}
body .shell .cms-dialog .signup-topic-fields .editor-field.half{grid-column:span 3!important}
body .shell .cms-dialog .signup-topic-fields .editor-field.third{grid-column:span 2!important}
body .shell .cms-dialog .signup-topic-fields .image-upload{display:flex!important;width:100%!important;height:174px!important;min-height:174px!important;flex-direction:column!important;justify-content:space-between!important;overflow:visible!important}
body .shell .cms-dialog .signup-topic-fields .image-preview{display:grid!important;width:100%!important;height:108px!important;min-height:108px!important;overflow:hidden!important;place-items:center!important}
body .shell .cms-dialog .signup-topic-fields .image-preview img{width:100%!important;height:108px!important;object-fit:cover!important}
body .shell .cms-dialog .signup-topic-fields .image-buttons{display:flex!important;width:100%!important;gap:8px!important;align-items:center!important;justify-content:center!important}
body .shell .cms-dialog .schedule-editor,body .shell .cms-dialog .flash-schedule-editor{padding:14px!important;border-color:#dce6f3!important;border-radius:10px!important;background:#f8fbff!important}.cms-dialog .activity-time-group,.cms-dialog .flash-schedule-item{border-color:#dce6f3!important;border-radius:9px!important;background:#fff!important}
body .shell .cms-dialog .editor-actions{min-height:70px;margin:0!important;padding:14px 24px!important;border-top:1px solid #edf1f7;background:#fbfcfe!important;align-items:center}.cms-dialog .editor-actions button{min-width:94px!important;height:38px!important;padding:0 15px!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important}.cms-dialog .editor-actions .danger{margin-right:auto!important;border-color:#f1b6ba!important;background:#fff6f6!important;color:#d4555d!important}
body .shell .cms-dialog.capsule-prize-dialog{width:min(800px,calc(100vw - 48px))!important}.cms-dialog.capsule-prize-dialog .editor-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cms-dialog.capsule-prize-dialog .editor-fields .full{grid-column:1 / -1!important}
body .shell #couponActionForm .editor-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cms-dialog .coupon-mode-panel{grid-column:1 / -1!important}.cms-dialog .coupon-mode-panel:not(.hidden){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){body .shell .modal .cms-dialog{width:calc(100vw - 28px)!important}body .shell .cms-dialog .editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cms-dialog.capsule-prize-dialog .editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cms-dialog .coupon-mode-panel:not(.hidden){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body .shell .modal .cms-dialog{max-height:calc(100vh - 20px)!important}body .shell .cms-dialog .dialog-head{min-height:60px;padding:0 16px}body .shell .cms-dialog .editor-fields{max-height:calc(100vh - 166px);padding:16px!important;grid-template-columns:1fr!important}.cms-dialog.capsule-prize-dialog .editor-fields{grid-template-columns:1fr!important}.cms-dialog .coupon-mode-panel:not(.hidden){grid-template-columns:1fr}body .shell .cms-dialog .editor-actions{padding:12px 16px!important}.cms-dialog .editor-actions button{min-width:0!important;flex:1}}
/* 抽奖配置：参数与预览并列，8 个固定奖项在下方完整一行展示。 */
body .shell .lottery-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;gap:16px!important}
body .shell .lottery-main{display:contents!important}
body .shell .lottery-settings-card{grid-column:1;grid-row:1;margin:0!important}
body .shell .lottery-prizes-head{grid-column:1 / -1;grid-row:2;margin:4px 0 0!important}
body .shell .lottery-prizes-grid{grid-column:1 / -1;grid-row:3}
body .shell .lottery-prizes-grid,body .shell .capsule-prizes-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:10px!important}
body .shell .lottery-prize-card,body .shell .capsule-prize-card{min-width:0!important;padding:12px!important}
body .shell .lottery-prize-card .cms-card-head h3,body .shell .capsule-prize-card .cms-card-head h3{font-size:12px!important;line-height:1.35!important}
body .shell .lottery-prize-card p,body .shell .capsule-prize-card p{font-size:11px!important;line-height:1.45!important}
body .shell .lottery-preview-panel{grid-column:2;grid-row:1;position:sticky!important;top:16px!important;width:280px!important;display:block;margin:0!important}
body .shell .lottery-preview-head{display:flex;margin-bottom:8px!important}.lottery-preview-stage{padding:18px 0 8px!important}.lottery-preview-hint{margin:8px 2px 0!important}
@media(max-width:1100px){body .shell .lottery-prizes-grid,body .shell .capsule-prizes-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lottery-layout{grid-template-columns:1fr!important}.lottery-settings-card{grid-column:1;grid-row:1}.lottery-preview-panel{grid-column:1;grid-row:2;position:relative!important;top:auto!important;width:auto!important}.lottery-prizes-head{grid-column:1;grid-row:3}.lottery-prizes-grid{grid-column:1;grid-row:4}}
@media(max-width:900px){body .shell .cms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lottery-layout{grid-template-columns:1fr!important}.lottery-preview-panel{position:relative!important;top:auto!important;width:auto!important}}
@media(max-width:620px){body .shell .cms-grid{grid-template-columns:1fr}body .shell #cmsPanel>.toolbar,body .shell #bannerPanel>.toolbar,body .shell #inviteTopicsPanel>.toolbar,body .shell #pointsPanel>.toolbar,body .shell .lottery-home-toolbar{padding:12px}.asset-section{padding:14px!important}body .shell .asset-section-head{align-items:flex-start;flex-direction:column;gap:8px}body .shell .asset-section-head>div{display:block}body .shell .asset-section-head p{margin-top:5px!important;overflow:visible;text-overflow:clip;white-space:normal}}

/* 数据中心：概览、筛选与明细统一成新版运营中台的信息层级。 */
body .shell #dashboardPanel{padding:0!important;background:transparent!important;box-shadow:none!important}
body .shell #dashboardPanel .toolbar,body .shell #promotionPanel>.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid #e1e8f3;border-radius:12px;background:#fff}
body .shell #dashboardPanel .toolbar h2{margin:0;color:#263c60!important;font-size:18px}.dashboard-panel .toolbar .panel-lead{margin:5px 0 0!important;color:#8492a6!important}
body .shell #dashboardGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
body .shell .dashboard-card{min-height:148px!important;padding:16px!important;border:1px solid #e0e7f1!important;border-radius:12px!important;background:linear-gradient(145deg,#fff,#fbfcff)!important;box-shadow:0 6px 18px rgba(41,71,118,.04)!important}
body .shell .dashboard-card:before{display:block;width:30px;height:3px;margin-bottom:11px;border-radius:3px;background:#a8c8fb;content:""}
body .shell .dashboard-card-head{margin-bottom:13px!important}.dashboard-card h3{color:#2a3e5e!important}.dashboard-card-head span{color:#88a0be!important}.dashboard-metrics label{color:#8e9bad!important}.dashboard-metrics strong{color:#263c60!important}
body .shell .dashboard-card.orders-card{background:linear-gradient(135deg,#3c7fe7,#5b92ee)!important;box-shadow:0 12px 26px rgba(55,113,211,.24)!important}.dashboard-card.orders-card:before{background:#cfe1ff}.dashboard-card.orders-card h3,body .shell .dashboard-card.orders-card strong{color:#fff!important}.dashboard-card.orders-card .dashboard-card-head span,body .shell .dashboard-card.orders-card label{color:#dbe9ff!important}
body .shell #promotionPanel{background:#f8faff!important}.promotion-panel .toolbar{margin-bottom:16px}
body .shell #promotionFilters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:end!important;gap:12px!important;margin:16px 0!important;padding:14px!important;border:1px solid #e0e8f3!important;border-radius:12px!important;background:#fff!important}
body .shell #promotionFilters>label{min-width:0!important;width:100%!important}body .shell #promotionFilters>.filter-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:end!important;width:100%!important;min-width:0!important;gap:8px!important;white-space:nowrap}body .shell #promotionFilters>.filter-actions button{box-sizing:border-box;width:100%!important;min-width:0!important;min-height:38px;padding:0 8px!important}.promotion-panel .user-filters label{color:#687991!important;font-size:12px}.promotion-panel .user-filters input,.promotion-panel .user-filters select{border-color:#d9e2ef!important;border-radius:8px!important;color:#33425a!important}
body .shell #promotionSummary{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px!important;margin:0 0 16px!important}.promotion-panel .metrics article{min-height:74px;padding:11px 10px!important;border:1px solid #e0e7f1!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}.promotion-panel .metrics article label{overflow:hidden;color:#8b99ac!important;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.promotion-panel .metrics article strong{display:block;margin-top:7px;color:#2a4f86!important;font-size:18px!important}
body .shell #promotionList{overflow:hidden;border:1px solid #e0e8f3!important;border-radius:12px!important;background:#fff}.promotion-panel #promotionList table{margin:0!important}.promotion-panel #promotionList th{background:#f7f9fd!important;color:#718197!important}.promotion-panel #promotionList td{border-color:#edf1f6!important}.promotion-panel #promotionList td strong{color:#314b72!important}.promotion-panel #promotionList td small{color:#91a0b4!important}
@media(max-width:1250px){body .shell #promotionSummary{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(max-width:950px){body .shell #dashboardGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body .shell #promotionFilters{grid-template-columns:repeat(2,minmax(0,1fr))!important}body .shell #promotionSummary{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){body .shell #dashboardPanel .toolbar,body .shell #promotionPanel>.toolbar{align-items:flex-start;flex-direction:column;padding:14px}body .shell #dashboardGrid,body .shell #promotionFilters,body .shell #promotionSummary{grid-template-columns:1fr!important}.promotion-panel .filter-actions{min-height:38px}}

body .shell .ops-reward-filters{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body .shell #opsPanel .ops-reward-table-wrap{overflow-x:auto}
body .shell .ops-reward-table{min-width:1180px!important}
body .shell .ops-reward-table th:last-child,body .shell .ops-reward-table td:last-child{width:120px!important;min-width:120px;text-align:center}
body .shell .reward-funds-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;padding:14px 16px;background:#eef8f5;color:#43645e}
body .shell .reward-funds-summary strong{color:#176d60;font-size:14px}
body .shell .reward-money-positive{color:#16806e;font-weight:700}body .shell .reward-money-negative{color:#b8664f;font-weight:700}body .shell .reward-balance-value{color:#176d60;font-size:16px}
body .shell .reward-ledger-open{display:inline-flex;width:auto;max-width:100%;padding:7px 11px;align-items:center;justify-content:center;white-space:nowrap}
body .reward-ledger-dialog{width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;overflow:hidden}body .reward-ledger-dialog-head{padding:18px 22px;border-bottom:1px solid #e6eceb;background:#f8fbfa}body .reward-ledger-dialog-head p{margin-top:6px}body .reward-ledger-column-head,body .reward-ledger-entry{display:grid;grid-template-columns:120px minmax(210px,1.7fr) 125px minmax(170px,1.25fr) 100px 90px 90px;column-gap:12px;align-items:center}body .reward-ledger-column-head{padding:10px 22px;border-bottom:1px solid #e7eceb;background:#fbfcfc;color:#84928f;font-size:11px;font-weight:700}body .reward-ledger-column-head span:nth-last-child(-n+2){text-align:right}body .reward-ledger-list{display:grid;max-height:calc(100vh - 176px);margin:0;padding:0 22px 18px;overflow:auto;grid-template-columns:1fr}body .reward-ledger-entry{box-sizing:border-box;min-height:76px;padding:10px 0;border-bottom:1px solid #e4eae8;color:#53625f;font-size:12px}body .reward-ledger-entry:last-child{border-bottom:0}.reward-ledger-type strong,.reward-ledger-business strong{display:block;color:#314e49}.reward-ledger-type em{display:block;margin-top:5px;color:#9a6d64;font-size:10px;font-style:normal}.reward-ledger-business{min-width:0}.reward-ledger-business strong,.reward-ledger-business small,.reward-ledger-ref{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward-ledger-business small{display:block;margin-top:4px;color:#8a9996;font-size:11px}.reward-ledger-ref{display:block;min-width:0;color:#74837f}.reward-ledger-amount,.reward-ledger-balance{text-align:right;white-space:nowrap}.reward-ledger-amount{color:#24796c;font-size:13px}.reward-ledger-purchase .reward-ledger-amount,.reward-ledger-payout .reward-ledger-amount{color:#bd644b}.reward-ledger-balance{color:#687875}.reward-ledger-entry.voided{opacity:.7}.reward-ledger-empty{padding:30px;color:#95a3a0;text-align:center}
@media(max-width:1100px){body .shell .ops-reward-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:950px){body .shell main{width:calc(100vw - 70px)!important;margin-left:70px!important;padding:0 18px 28px!important}}
@media(max-width:620px){body .shell main{width:100vw!important;margin-left:0!important;padding:0 14px 22px!important}body .shell main>.panel:not(.dashboard-panel){padding:14px}}

/* 报备归属：为维护员工保留独立列，同时等比例压缩其余业务列。 */
body .shell #opsPanel .table-wrap>table.ops-referral-table{width:100%!important;min-width:1320px!important;table-layout:fixed!important}
body .shell #opsPanel .ops-referral-table col:nth-child(1){width:9%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(2){width:8%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(3){width:11%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(4){width:11%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(5){width:7%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(6){width:12%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(7){width:11%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(8){width:11%!important}
body .shell #opsPanel .ops-referral-table col:nth-child(9){width:20%!important}
body .shell #opsPanel .table-wrap>table.ops-partner-reports-table{width:100%!important;min-width:1480px!important;table-layout:fixed!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(1){width:9%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(2){width:9%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(3){width:10%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(4){width:8%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(5){width:8%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(6){width:7%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(7){width:11%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(8){width:11%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(9){width:10%!important}
body .shell #opsPanel .ops-partner-reports-table col:nth-child(10){width:17%!important}

body .shell .lottery-toolbar-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
body .shell .draw-setting-audit-list{display:grid;margin-top:14px;border:1px solid #e1e8f3;border-radius:12px;overflow:hidden;background:#fff}
body .shell .draw-setting-audit-item{padding:16px 18px;border-bottom:1px solid #e8edf4}
body .shell .draw-setting-audit-item:last-child{border-bottom:0}
body .shell .draw-setting-audit-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
body .shell .draw-setting-audit-head strong{color:#294b78;font-size:14px}
body .shell .draw-setting-audit-head span,body .shell .draw-setting-audit-operator{color:#8492a5;font-size:11px}
body .shell .draw-setting-audit-operator{margin-top:6px}
body .shell .draw-setting-audit-operator strong{color:#55677f}
body .shell .draw-setting-audit-summary{margin-top:10px;padding:10px 12px;border-radius:8px;background:#f7f9fc;color:#4f6077;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
body .shell .draw-setting-audit-item details{margin-top:9px}
body .shell .draw-setting-audit-item summary{color:#4774ad;font-size:12px;font-weight:700;cursor:pointer}
body .shell .draw-setting-audit-compare{display:grid;margin-top:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body .shell .draw-setting-audit-compare section{min-width:0;padding:10px;border:1px solid #e4eaf2;border-radius:8px;background:#fbfcfe}
body .shell .draw-setting-audit-compare h4{margin:0 0 7px;color:#63748a;font-size:11px}
body .shell .draw-setting-audit-compare pre{max-height:300px;margin:0;overflow:auto;color:#3f5067;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){body .shell .lottery-home-toolbar{align-items:flex-start;flex-direction:column}body .shell .lottery-toolbar-actions{width:100%}body .shell .lottery-toolbar-actions button{flex:1}body .shell .draw-setting-audit-compare{grid-template-columns:1fr}}

/* 线下抽奖使用独立布局，避免继承转盘/扭蛋的 grid-row 与固定八列规则。 */
body .shell #offlineLotterySettingsForm{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:18px!important;overflow:visible!important;box-sizing:border-box!important}
body .shell #offlineLotteryNotice+#offlineLotterySettingsForm{margin-top:16px!important}
body .shell #offlineLotterySettingsForm .offline-lottery-layout{display:grid!important;width:100%!important;grid-template-columns:minmax(460px,1fr) 310px!important;gap:20px!important;align-items:start!important;box-sizing:border-box!important}
body .shell #offlineLotterySettingsForm .offline-lottery-main-settings{grid-column:1!important;grid-row:1!important;width:auto!important;min-width:0!important}
body .shell #offlineLotterySettingsForm .offline-lottery-main-settings .lottery-settings-grid{display:grid!important;width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0!important}
body .shell #offlineLotterySettingsForm .offline-lottery-main-settings .lottery-settings-grid>label:first-child{grid-column:1 / -1!important}
body .shell #offlineLotterySettingsForm .offline-lottery-prize-settings{margin-top:22px!important}
body .shell #offlineLotterySettingsForm .offline-lottery-designated-settings{margin-top:22px;padding-top:18px;border-top:1px solid #edf1f7}
body .shell #offlineLotterySettingsForm .offline-lottery-designated-settings .lottery-prizes-head{align-items:flex-start}
body .shell #offlineLotterySettingsForm .offline-lottery-designated-settings .lottery-prizes-head>div>p{margin:5px 0 0;color:#8b98aa;font-size:12px;line-height:1.5}
body .shell #offlineLotterySettingsForm .offline-lottery-designated-list{display:grid!important;width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:14px 0 0!important}
body .shell .offline-lottery-designated-row{display:grid;grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;padding:14px;border:1px solid #e0e7f1;border-radius:12px;background:#fbfcff}
body .shell .offline-lottery-designated-row label{display:grid;gap:7px;color:#687991;font-size:12px}
body .shell .offline-lottery-designated-row input,body .shell .offline-lottery-designated-row select{width:100%;height:38px;box-sizing:border-box;border:1px solid #d9e2ef!important;border-radius:8px!important;background:#fff!important;color:#33425a!important}
body .shell .offline-lottery-winner-status{display:flex;height:38px;align-items:center;padding:0 12px;border-radius:8px;background:#edf4ff;color:#5578ae;font-size:12px}
body .shell .offline-lottery-winner-status.off{background:#f2f4f7;color:#8a96a8}
body .shell .offline-lottery-designated-row button{width:100%;height:38px;white-space:nowrap}
body .shell .offline-lottery-designated-settings .empty{margin-top:14px}
body .shell #offlineLotterySettingsForm .offline-lottery-prize-settings .lottery-prizes-head{position:static!important;display:flex!important;width:100%!important;margin:0 0 12px!important;align-items:center!important;justify-content:space-between!important}
body .shell #offlineLotterySettingsForm #offlineLotteryPrizesGrid{display:grid!important;width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0!important;overflow:visible!important;box-sizing:border-box!important}
body .shell #offlineLotterySettingsForm #offlineLotteryPrizesGrid .offline-lottery-prize-card{width:auto!important;min-width:0!important;min-height:112px!important;margin:0!important;padding:12px!important;box-sizing:border-box!important}
body .shell #offlineLotterySettingsForm .offline-lottery-preview-panel{grid-column:2!important;grid-row:1!important;position:relative!important;top:auto!important;display:block!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:520px!important;margin:0!important;overflow:hidden!important;align-self:start!important;box-sizing:border-box!important;flex:none!important}
body .shell #offlineLotterySettingsForm>.editor-actions{position:static!important;width:100%!important;margin:22px 0 0!important;clear:both!important;box-sizing:border-box!important}
body .shell .offline-lottery-plan-picker{margin-top:22px;padding:18px;border:1px solid #e1e8f3;border-radius:12px;background:#fbfcff}
body .shell .offline-lottery-plan-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.offline-lottery-plan-picker-actions{display:flex;align-items:center;gap:8px}.offline-lottery-plan-picker-head h3{margin:0;color:#294b78;font-size:15px}.offline-lottery-plan-picker-head p{margin:5px 0 0;color:#8290a4;font-size:12px}
body .shell .offline-lottery-plan-picker .offline-lottery-plans-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin-top:16px}
body .shell #offlineLotteryPlansView .offline-lottery-plans-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:16px}
body .shell .offline-lottery-plan-card{padding:16px;border:1px solid #dfe8f4;border-radius:12px;background:#fff;box-shadow:0 6px 16px rgba(42,73,127,.04);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.offline-lottery-plan-card:hover,.offline-lottery-plan-card.selected{border-color:#8cb6f4;box-shadow:0 9px 22px rgba(65,119,203,.12);transform:translateY(-1px)}
body .shell .offline-lottery-plan-card h3{margin:0;color:#294b78;font-size:14px}.offline-lottery-plan-card p{margin:8px 0;color:#71829a;font-size:12px;line-height:1.6}.offline-lottery-plan-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.offline-lottery-plan-card footer span{font-size:11px;color:#8191a7}.offline-lottery-plan-card footer button{min-height:32px;padding:6px 11px}
body .shell .offline-lottery-plan-card .offline-lottery-qr-btn{padding:5px 8px;font-size:11px}.offline-lottery-qr-dialog{width:min(390px,calc(100vw - 32px));text-align:center}.offline-lottery-qr-dialog>p{margin:12px 0;color:#71829a;font-size:12px;line-height:1.6}.offline-lottery-qr-image{display:block;width:250px;height:250px;margin:16px auto;background:#f5f7fb}.offline-lottery-qr-dialog .editor-actions{justify-content:center}.offline-lottery-qr-dialog .editor-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.offline-lottery-qr-version-actions{display:flex;justify-content:center;gap:8px;margin:12px 0 6px}.offline-lottery-qr-version-actions button{min-height:34px;padding:7px 13px}.offline-lottery-qr-version-tip{display:block;color:#8795a8;font-size:11px}
@media(max-width:1180px){body .shell .offline-lottery-plan-picker .offline-lottery-plans-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){body .shell #offlineLotterySettingsForm .offline-lottery-main-settings .lottery-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body .shell #offlineLotterySettingsForm .offline-lottery-main-settings .lottery-settings-grid>label:first-child{grid-column:1 / -1!important}body .shell .offline-lottery-designated-row{grid-template-columns:repeat(2,minmax(0,1fr))}.offline-lottery-plan-picker-head{align-items:flex-start;flex-direction:column}body .shell .offline-lottery-plan-picker .offline-lottery-plans-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){body .shell #offlineLotterySettingsForm .offline-lottery-layout{grid-template-columns:1fr!important}body .shell #offlineLotterySettingsForm .offline-lottery-preview-panel{grid-column:1!important;grid-row:2!important;width:100%!important;max-width:420px!important;justify-self:center!important}body .shell #offlineLotterySettingsForm #offlineLotteryPrizesGrid,body .shell #offlineLotterySettingsForm .offline-lottery-designated-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){body .shell #offlineLotterySettingsForm{padding:14px!important}body .shell #offlineLotterySettingsForm .offline-lottery-main-settings .lottery-settings-grid{grid-template-columns:1fr!important}body .shell #offlineLotteryPrizesGrid,body .shell #offlineLotterySettingsForm .offline-lottery-designated-list{grid-template-columns:1fr!important}body .shell .offline-lottery-designated-row{grid-column:span 1;grid-template-columns:1fr!important}}

/* 员工推广二维码与短链接并排展示。 */
body .shell #opsPanel .employee-promotion-action-cell{min-width:230px!important;width:230px!important;overflow:hidden!important}
body .shell #opsPanel .employee-promotion-action-cell .ops-row-actions{display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:hidden!important}
body .shell #opsPanel .employee-promotion-action-cell .ops-employee-promotion-qr,body .shell #opsPanel .employee-promotion-action-cell .ops-employee-promotion-short-link{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:9px 7px!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:clip!important}
