:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#183c37;background:#f3f7f6}*{box-sizing:border-box}body{margin:0}.shell{display:flex;min-height:100vh}aside{position:fixed;display:flex;flex-direction:column;width:238px;height:100vh;padding:30px 22px 20px;overflow:hidden;background:#123f3a;color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand>span{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#e4c473;color:#17463f;font-size:20px;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{margin-top:5px;color:#9fc5bf;font-size:12px}nav{display:grid;gap:8px;flex:1;min-height:0;margin-top:28px;padding-bottom:12px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}nav::-webkit-scrollbar{width:6px}nav::-webkit-scrollbar-thumb{background:rgba(168,201,196,.45);border-radius:999px}nav button{padding:13px 16px;border:0;border-radius:12px;background:transparent;color:#a8c9c4;text-align:left;font-size:14px}nav button.active{background:#246158;color:#fff;font-weight:700}nav button:disabled{opacity:.55}.aside-tip{display:none}main{width:calc(100% - 238px);margin-left:238px;padding:34px 42px}header,.toolbar{display:flex;align-items:center;justify-content:space-between}h1,h2,p{margin:0}h1{font-size:26px}header p,.toolbar p{margin-top:7px;color:#81918e;font-size:13px}.ghost,.primary,.search button{border:0;border-radius:10px;cursor:pointer}.ghost{padding:11px 18px;background:#fff;color:#236d62;box-shadow:0 3px 14px #1f635510}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.metrics article{padding:22px 24px;border-radius:16px;background:#fff;box-shadow:0 5px 20px #1c68560a}.metrics label{display:block;color:#81918e;font-size:13px}.metrics strong{display:block;margin-top:10px;font-size:28px}.panel{min-height:440px;padding:25px;border-radius:18px;background:#fff}.toolbar{gap:20px}.toolbar h2{font-size:18px}.search{display:flex;gap:8px}.search input{width:300px;padding:11px 13px;border:1px solid #dfe8e6;border-radius:10px;outline:none}.search button,.primary{padding:11px 20px;background:#217b6d;color:#fff}.notice{margin-top:20px;padding:12px 15px;border-radius:10px;background:#fff8e5;color:#92702e;font-size:13px}.notice.success{background:#eaf6f3;color:#277264}.notice.error{background:#fff0ef;color:#b55248}.table-wrap{overflow:auto;margin-top:14px}table{width:100%;border-collapse:collapse}th,td{padding:15px 12px;border-bottom:1px solid #eef2f1;text-align:left;font-size:13px}th{color:#7a8a87;font-weight:600}.user-name{font-weight:700}.openid{display:block;max-width:180px;margin-top:4px;overflow:hidden;color:#9aa7a5;font-size:11px;text-overflow:ellipsis}.role{display:inline-block;padding:5px 10px;border-radius:12px;background:#eef3f2;color:#647572}.role.employee{background:#e3f4ef;color:#187463}.role-btn{padding:7px 12px;border:1px solid #b9d4cf;border-radius:8px;background:#fff;color:#246d63;cursor:pointer}.user-actions{display:flex;flex-wrap:wrap;gap:8px}.user-actions .danger{padding:7px 12px;border:1px solid #efb8b2;border-radius:8px;background:#fff5f4;color:#b55248;cursor:pointer}.empty{padding:60px;text-align:center;color:#9aa7a5}.modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#0b292566}.modal.hidden{display:none}.banner-form{margin-top:8px}.dialog{width:430px;padding:25px;border-radius:18px;background:#fff;box-shadow:0 30px 80px #0003}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head button{border:0;background:none;color:#71817f;font-size:25px;cursor:pointer}.dialog label{display:block;margin-top:18px;color:#4f615e;font-size:13px}.dialog input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #dce6e4;border-radius:9px}.dialog p{margin-top:14px;color:#8a9996;font-size:12px;line-height:1.6}.wide{width:100%;margin-top:20px}.toast{position:fixed;bottom:35px;left:50%;padding:11px 20px;border-radius:22px;background:#173f3a;color:#fff;opacity:0;transform:translate(-50%,15px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:850px){aside{display:none}main{width:100%;margin:0;padding:24px}.metrics{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.search{width:100%}.search input{width:100%}}

#usersPanel .openid{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal}
#usersPanel .table-wrap table{width:100%;table-layout:fixed}
#usersPanel .table-wrap th,#usersPanel .table-wrap td{width:12.5%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
#usersPanel .user-actions{display:grid;grid-template-columns:repeat(2,104px);gap:9px;width:217px}
#usersPanel .user-actions button{box-sizing:border-box;width:104px;min-height:38px;margin:0;padding:8px 10px;border-radius:9px;line-height:1.35;white-space:nowrap}
#usersPanel .user-actions .danger{border:1px solid #e7aaa4;background:#fff4f3;color:#b6483f;box-shadow:none}
.user-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:0 0 16px;padding:16px;border:1px solid #d7e5e2;border-radius:16px;background:#f8fbfa}
.user-filters label{display:grid;gap:6px;color:#5f7773;font-size:12px}
.user-filters select,.user-filters input{width:100%;min-height:38px;padding:8px 10px;border:1px solid #c9dbd7;border-radius:10px;background:#fff;color:#183c37;font-size:13px}
.user-filters .filter-keyword{grid-column:span 2}
.user-filters .filter-actions{display:flex;align-items:end;gap:8px}
.user-filters .filter-actions button{min-height:38px;padding:0 16px}
#userFilters{grid-template-columns:minmax(130px,1fr) minmax(105px,.75fr) minmax(120px,.85fr) minmax(120px,.85fr) minmax(150px,1.1fr) minmax(260px,2fr) auto;align-items:end}
#userFilters .filter-keyword{grid-column:auto}
#opsFilters.ops-order-filters{grid-template-columns:120px 120px 145px 145px minmax(220px,1fr) auto;align-items:end}
#opsFilters.ops-order-filters .filter-keyword{grid-column:auto}
#opsFilters.ops-activity-filters{grid-template-columns:130px 110px 145px 145px minmax(200px,1fr) auto;align-items:end}
#opsFilters.ops-activity-filters .filter-keyword{grid-column:auto}
#opsFilters.ops-lead-filters{grid-template-columns:120px 145px 145px minmax(220px,1fr) auto;align-items:end}
#opsFilters.ops-employee-filters.employee-list-mode{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(500px,3fr);align-items:end}
#opsFilters.ops-employee-filters.employee-application-mode{grid-template-columns:minmax(140px,.9fr) minmax(130px,.8fr) minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr) minmax(380px,2.4fr);align-items:end}
#opsFilters .employee-keyword-actions{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;min-width:0}
#opsFilters .employee-keyword-actions .filter-keyword{grid-column:auto;min-width:0}
#opsFilters .employee-keyword-actions .filter-actions{white-space:nowrap}
#opsFilters.ops-lead-filters .filter-keyword{grid-column:auto}
#opsFilters.ops-filters-single-row{display:grid;grid-template-columns:120px 140px 140px minmax(160px,1.6fr) auto;align-items:end}
#opsFilters.ops-filters-single-row .filter-keyword{grid-column:auto}
.ops-card-verify{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;padding-top:12px;border-top:1px solid #e5ecea}.ops-card-verify label{margin:0}.ops-card-verify small{grid-column:1/-1;color:#78908b}.ops-card-verify button{min-height:40px}
.ops-card-type-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.ops-card-type-status label{min-width:0}
@media(max-width:850px){.ops-pagination,.ops-page-buttons{flex-wrap:wrap}}
@media (max-width:1200px){.user-filters,#userFilters{grid-template-columns:repeat(2,minmax(140px,1fr))}.user-filters .filter-keyword,#userFilters .filter-keyword{grid-column:span 2}#opsFilters.ops-order-filters,#opsFilters.ops-activity-filters,#opsFilters.ops-lead-filters,#opsFilters.ops-employee-filters.employee-list-mode,#opsFilters.ops-employee-filters.employee-application-mode{grid-template-columns:repeat(3,minmax(140px,1fr))}#opsFilters.ops-order-filters .filter-keyword,#opsFilters.ops-activity-filters .filter-keyword,#opsFilters.ops-lead-filters .filter-keyword,#opsFilters.ops-employee-filters .filter-keyword{grid-column:span 2}#opsFilters.ops-filters-single-row{grid-template-columns:repeat(3,minmax(120px,1fr))}#opsFilters.ops-filters-single-row .filter-keyword{grid-column:span 2}#opsFilters.ops-filters-single-row .filter-actions{grid-column:span 1}}
@media (max-width:850px){.user-filters,#userFilters{grid-template-columns:1fr}.user-filters .filter-keyword,#userFilters .filter-keyword{grid-column:auto}.user-filters .filter-actions{justify-content:stretch}.user-filters .filter-actions button{flex:1}#opsFilters.ops-order-filters,#opsFilters.ops-activity-filters,#opsFilters.ops-lead-filters,#opsFilters.ops-employee-filters.employee-list-mode,#opsFilters.ops-employee-filters.employee-application-mode,#opsFilters.ops-filters-single-row{grid-template-columns:1fr}#opsFilters.ops-order-filters .filter-keyword,#opsFilters.ops-order-filters .filter-actions,#opsFilters.ops-activity-filters .filter-keyword,#opsFilters.ops-activity-filters .filter-actions,#opsFilters.ops-lead-filters .filter-keyword,#opsFilters.ops-lead-filters .filter-actions,#opsFilters.ops-employee-filters .filter-keyword,#opsFilters.ops-employee-filters .filter-actions,#opsFilters.ops-filters-single-row .filter-keyword,#opsFilters.ops-filters-single-row .filter-actions{grid-column:auto}.ops-card-verify{grid-template-columns:1fr}.ops-card-verify small{grid-column:auto}}

.metric-card{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;user-select:none}
.metric-card:hover{border-color:#2c8877;box-shadow:0 8px 18px rgba(28,92,83,.1);transform:translateY(-1px)}

/* 左侧导航保持可滚动，但隐藏浏览器滚动条，避免破坏原有视觉。 */
nav{scrollbar-width:none;-ms-overflow-style:none}
nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

.flash-schedule-item{display:grid!important;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr) 100px!important;gap:12px!important;align-items:end!important;width:100%!important}
.flash-schedule-item label{display:grid;gap:7px;min-width:0;color:#62738d;font-size:12px;font-weight:600}
.flash-schedule-item label input,.flash-schedule-item label select{width:100%;margin:0!important}
.flash-schedule-item .flash-schedule-end.hidden{display:none!important}
@media(max-width:700px){.flash-schedule-item{min-width:680px}.flash-schedule-editor{overflow-x:auto}.flash-schedule-item .schedule-remove-btn{width:100%}}
.metric-card.active{border-color:#2c8877;background:linear-gradient(180deg,#f3faf8,#fff);box-shadow:0 0 0 2px rgba(44,136,119,.12)}
.metric-card:focus{outline:2px solid #2c8877;outline-offset:2px}

.nav-group-label{margin:18px 0 8px;padding:8px 12px;border-radius:10px;background:rgba(228,196,115,.14);color:#e8d39a;font-size:14px;font-weight:700;letter-spacing:.12em;line-height:1.2}.nav-group-label:first-child{margin-top:8px}
.shell nav button{position:relative;padding-right:42px}.nav-record-badge{position:absolute;right:9px;top:6px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border:2px solid #123f3a;border-radius:999px;background:#ef654f;color:#fff;font-size:10px;font-weight:800;line-height:1}.nav-record-badge.hidden{display:none}.shell nav button.active .nav-record-badge{border-color:#246158}
.ops-panel .openid,.table-wrap .openid{display:block;margin-top:4px;color:#8a9a98;font-size:12px;word-break:break-all}
#opsPanel .table-wrap table{table-layout:fixed;width:100%}
#opsPanel .table-wrap col{width:1%}
#opsPanel .table-wrap th,#opsPanel .table-wrap td{width:1%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;word-break:break-word}
#opsPanel .table-wrap .openid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal}
.ops-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #e8efed;color:#748783;font-size:12px}.ops-pagination.hidden{display:none}.ops-page-buttons{display:flex;align-items:center;gap:7px}.ops-page-buttons button{min-width:36px;height:36px;padding:0 11px;border:1px solid #d5e4e0;border-radius:9px;background:#fff;color:#316c63;cursor:pointer}.ops-page-buttons button:hover:not(:disabled){border-color:#6eaaa0;background:#f2faf8}.ops-page-buttons button.active{border-color:#217b6d;background:#217b6d;color:#fff}.ops-page-buttons button:disabled{opacity:.4;cursor:not-allowed}
.employee-review-dialog{width:min(470px,calc(100vw - 32px))}.employee-review-dialog .dialog-head p{margin-top:7px}.employee-review-dialog label{display:block;margin-top:20px;color:#4f615e;font-size:13px}.employee-review-dialog textarea{display:block;width:100%;min-height:100px;margin-top:8px;padding:12px;border:1px solid #dce6e4;border-radius:9px;resize:vertical;font:inherit}.employee-review-dialog .hidden{display:none}
.ops-row-actions,.ops-referral-actions{display:grid;grid-template-columns:repeat(2,104px);gap:9px;width:217px}.ops-row-actions:empty::after{content:"—";color:#8a9a98}.ops-row-actions button,.ops-referral-actions button{display:flex;box-sizing:border-box;width:104px;min-height:38px;margin:0;padding:8px 10px;border-radius:9px;align-items:center;justify-content:center;line-height:1.35;text-align:center;white-space:nowrap}.ops-row-actions .ops-checkin{padding-right:4px;padding-left:4px;font-size:12px}.ops-row-actions .ghost,.ops-referral-actions .ghost{border:1px solid #d3dcda;background:#fff}.ops-row-actions .danger,.ops-referral-actions .danger{border:1px solid #e7aaa4;background:#fff4f3;color:#b6483f;cursor:pointer}.ops-action-note{grid-column:1/-1;color:#879693;font-size:11px}.ops-row-actions .ops-cancel-action,.ops-referral-actions .ops-cancel-action,#cancelReferralConsume,#cancelReferralVisit,#cancelReferralDelete,#cancelReferralPayout,#cancelEmployeeReview{border:1px solid #cbd3d1;background:#eef1f0;color:#66716f;box-shadow:none}

#opsPanel .table-wrap>table.ops-employee-promotion-table{width:100%;min-width:1080px;table-layout:fixed}
#opsPanel .ops-employee-promotion-table col:nth-child(1){width:120px}
#opsPanel .ops-employee-promotion-table col:nth-child(2){width:130px}
#opsPanel .ops-employee-promotion-table col:nth-child(3){width:125px}
#opsPanel .ops-employee-promotion-table col:nth-child(4){width:120px}
#opsPanel .ops-employee-promotion-table col:nth-child(5){width:145px}
#opsPanel .ops-employee-promotion-table col:nth-child(6){width:125px}
#opsPanel .ops-employee-promotion-table col:nth-child(7){width:140px}
#opsPanel .ops-employee-promotion-table col:nth-child(8){width:230px}
#opsPanel .ops-employee-promotion-table td:last-child{overflow:visible}
#opsPanel .ops-employee-promotion-table .ops-row-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#opsPanel .ops-employee-promotion-table .ops-employee-promotion-qr,#opsPanel .ops-employee-promotion-table .ops-employee-promotion-short-link{width:100%;min-width:0;padding-right:7px;padding-left:7px;white-space:nowrap}
.activity-points-status{display:grid;width:100%;min-width:0;overflow:hidden;gap:4px}.activity-points-status>div{display:flex;min-width:0;min-height:24px;overflow:hidden;align-items:center;justify-content:space-between;gap:9px;line-height:1.35}.activity-points-status>div:nth-child(3){height:44px}.activity-points-status span{color:#667975;white-space:nowrap}.activity-points-status>div>span{min-width:0}.activity-points-status .activity-share-copy{display:flex;min-width:0;overflow:hidden;flex-direction:column;align-items:flex-start;gap:12px}.activity-points-status .activity-share-copy small{display:flex;width:100%;max-width:100%;min-width:0;overflow:hidden;align-items:center;gap:5px;color:#3f5752;font-size:11px;line-height:1;white-space:nowrap}.activity-points-status .activity-share-copy small>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.activity-attribution-tag{flex:0 0 auto;padding:1px 5px;border-radius:7px;font-size:10px;font-style:normal;font-weight:700}.activity-attribution-tag.employee{background:#e8f0ff;color:#356cb6}.activity-attribution-tag.customer{background:#e6f5f1;color:#1e7568}.activity-points-status strong{flex:0 0 auto;padding:3px 7px;border-radius:9px;font-size:11px;font-weight:700;white-space:nowrap}.activity-points-status .is-granted{background:#e6f5f1;color:#1e7568}.activity-points-status .is-pending{background:#fff5df;color:#9a6b24}.activity-points-status .is-na{background:#f0f3f2;color:#84918f}
.ops-sort-head{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.ops-sort-head span{color:#a1afc2;font-size:11px}.ops-sort-head:hover,.ops-sort-head.active{color:#3977cd}.ops-sort-head.active span{color:#2563eb}
.points-rules-section{margin-top:20px}.points-rules-form{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;margin-top:16px}.points-rules-form label{display:grid;grid-template-columns:1fr 112px;align-items:center;gap:7px 12px;padding:15px;border:1px solid #dce8e5;border-radius:13px;background:#f9fbfb;color:#365d57;font-size:13px}.points-rules-form label>span{font-weight:700}.points-rules-form input{width:100%;height:40px;padding:0 11px;border:1px solid #c9dbd7;border-radius:9px;background:#fff;color:#183c37;font:inherit;outline:none}.points-rules-form input:focus{border-color:#278273;box-shadow:0 0 0 3px #27827318}.points-rules-form small{grid-column:1/-1;color:#899995;font-size:11px}.points-rule-rate{position:relative}.points-rule-rate input{padding-right:30px}.points-rule-rate b{position:absolute;right:11px;top:10px;color:#5e7772}.points-rules-submit{display:flex;align-items:end}.points-rules-submit button{height:42px;min-width:150px}@media(max-width:1400px){.points-rules-form{grid-template-columns:repeat(3,minmax(190px,1fr))}}@media(max-width:1150px){.points-rules-form{grid-template-columns:repeat(2,minmax(190px,1fr))}}@media(max-width:750px){.points-rules-form{grid-template-columns:1fr}}
.tab-registration-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;margin-top:18px}.tab-registration-item{display:flex;min-width:0;padding:16px;border:1px solid #d8e5e2;border-radius:14px;background:#f8fbfa;flex-direction:column;justify-content:space-between;gap:16px}.tab-registration-copy strong,.tab-registration-copy small{display:block}.tab-registration-copy strong{font-size:14px}.tab-registration-copy small{margin-top:6px;color:#879895;font-size:11px;line-height:1.5}.tab-registration-switch{display:flex;align-items:center;gap:7px;color:#52706b;font-size:12px}.tab-registration-switch input{width:17px;height:17px;margin:0;accent-color:#217b6d}.tab-registration-section .primary{white-space:nowrap}
.asset-card-summary{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.editor-row.proactive-registration-copy-row{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-row.proactive-registration-settings-row{grid-template-columns:minmax(170px,1fr) minmax(220px,2fr);align-items:end}@media(max-width:850px){.editor-row.proactive-registration-copy-row,.editor-row.proactive-registration-settings-row{grid-template-columns:1fr}}
.panel-lead{margin:0;color:#5f7773;font-size:14px;line-height:1.6}
#opsPanel .toolbar{margin-bottom:4px}
#opsPanel .ops-toolbar .lottery-back-btn{margin-bottom:12px}
#opsPanel .ops-toolbar .panel-lead{margin:0}
.consume-summary{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.consume-summary span{color:#8a9a98;font-size:11px}.consume-records{display:grid;gap:6px;margin-top:8px;min-width:150px}.consume-record{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#60716e;font-size:12px}.consume-record.hidden{display:none}.consume-record button{padding:3px 7px;border:1px solid #b9d4cf;border-radius:6px;background:#fff;color:#246d63;cursor:pointer;white-space:nowrap}.ops-consume-more{justify-self:start;padding:4px 9px;border:0;border-radius:7px;background:#eef6f4;color:#247568;font-size:11px;cursor:pointer}.ops-consume-more:after{content:"⌄";display:inline-block;margin-left:4px;transition:transform .15s}.ops-consume-more.expanded:after{transform:rotate(180deg)}
.referral-consume-dialog{width:min(460px,calc(100vw - 32px));padding:0;overflow:hidden;border:1px solid #dce9e6;box-shadow:0 28px 80px #092b2640}.referral-consume-head{padding:24px 26px 18px;background:linear-gradient(135deg,#f0faf7,#fff)}.referral-consume-heading{display:flex;align-items:center;gap:13px}.referral-consume-heading h2{font-size:19px}.referral-consume-heading small{display:block;margin-top:4px;color:#8b9b98;font-size:11px}.referral-consume-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:#1e786a;color:#fff;font-size:21px;font-weight:800;box-shadow:0 8px 18px #1e786a30}.referral-consume-desc{min-height:40px;margin:20px 26px 0!important;color:#6e7f7c!important;font-size:13px!important}.referral-consume-label{margin:18px 26px 0!important;font-weight:700;color:#334c48!important}.referral-amount-input{display:flex;align-items:center;margin:9px 26px 0;border:1px solid #ccdeda;border-radius:12px;background:#fbfdfc;transition:.2s}.referral-amount-input:focus-within{border-color:#1f7b6d;box-shadow:0 0 0 3px #1f7b6d18}.referral-amount-input span{padding-left:16px;color:#1f6f63;font-size:22px;font-weight:800}.referral-amount-input input{margin:0!important;padding:14px 14px 14px 8px!important;border:0!important;background:transparent;font-size:23px;font-weight:750;color:#173f39;outline:0}.referral-consume-error{height:20px;margin:5px 26px 0;color:#c2544a;font-size:12px}.referral-reward-preview{display:flex;align-items:center;justify-content:space-between;margin:4px 26px 0;padding:14px 16px;border-radius:11px;background:#f1f7f5;color:#687976;font-size:12px}.referral-reward-preview strong{color:#1d7467;font-size:16px}.referral-consume-actions{margin:22px 26px 26px}.referral-consume-actions button{min-width:110px}
.referral-date-label{margin-top:14px!important}.referral-business-date{width:calc(100% - 52px)!important;margin:8px 26px 0!important}.consume-record span small{display:block;margin-top:3px;color:#96a5a2;font-size:10px}.ops-referral-filters{grid-template-columns:120px 120px 145px 145px minmax(190px,1fr) auto!important;align-items:end}.ops-referral-filters .filter-keyword{grid-column:auto}.referral-visit-dialog{width:min(430px,calc(100vw - 32px));padding:26px}.referral-visit-heading{display:flex;align-items:center;gap:12px}.referral-visit-heading>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#e8f6f2;color:#1e786a;font-size:20px;font-weight:800}.referral-visit-heading small{display:block;margin-top:4px;color:#8a9996;font-size:11px}.referral-visit-dialog p{margin-top:20px;color:#667774;font-size:13px}.referral-visit-dialog p strong{color:#254b45}.referral-visit-dialog label{font-weight:700}.referral-visit-error{margin-left:0}.referral-visit-actions{margin-top:18px}.referral-visit-actions button{min-width:110px}@media(max-width:1200px){.ops-referral-filters{grid-template-columns:repeat(3,minmax(140px,1fr))!important}.ops-referral-filters .filter-keyword{grid-column:span 2}}@media(max-width:850px){.ops-referral-filters{grid-template-columns:1fr!important}.ops-referral-filters .filter-keyword{grid-column:auto}}
.referral-delete-dialog{width:min(430px,calc(100vw - 32px));padding:26px}.referral-delete-heading{display:flex;align-items:center;gap:11px}.referral-delete-heading span{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:#fff0ee;color:#bd4d43;font-size:20px;font-weight:800}.referral-delete-dialog p{margin-top:20px;color:#667774;font-size:13px;line-height:1.8}.referral-delete-dialog p strong{color:#254b45}.referral-delete-actions{margin-top:24px}.referral-delete-actions button{min-width:110px}
#opsPanel .ops-referral-table{min-width:1235px}#opsPanel .ops-referral-table col:nth-child(1){width:135px}#opsPanel .ops-referral-table col:nth-child(2){width:130px}#opsPanel .ops-referral-table col:nth-child(3){width:135px}#opsPanel .ops-referral-table col:nth-child(4){width:100px}#opsPanel .ops-referral-table col:nth-child(5){width:220px}#opsPanel .ops-referral-table col:nth-child(6){width:150px}#opsPanel .ops-referral-table col:nth-child(7){width:140px}#opsPanel .ops-referral-table col:nth-child(8){width:225px}

/* 记录页在宽屏优先展示内容，不保留无意义的右侧留白。 */
#opsPanel .table-wrap{width:100%;overflow-x:auto}
#opsPanel .ops-referral-table{width:100%;min-width:0;table-layout:fixed}
#opsPanel .ops-referral-table col:nth-child(1){width:11%}
#opsPanel .ops-referral-table col:nth-child(2){width:12%}
#opsPanel .ops-referral-table col:nth-child(3){width:12%}
#opsPanel .ops-referral-table col:nth-child(4){width:9%}
#opsPanel .ops-referral-table col:nth-child(5){width:20%}
#opsPanel .ops-referral-table col:nth-child(6){width:13%}
#opsPanel .ops-referral-table col:nth-child(7){width:11%}
#opsPanel .ops-referral-table col:nth-child(8){width:12%}
#opsPanel .ops-referral-table th,#opsPanel .ops-referral-table td{width:auto;overflow:visible;text-overflow:clip;word-break:break-word}
#opsPanel .ops-referral-table .openid{overflow:visible;text-overflow:clip;white-space:normal;word-break:break-all}
#opsPanel .ops-referral-table .consume-records{min-width:0;gap:5px}
#opsPanel .ops-referral-table .consume-record{align-items:flex-start;gap:5px}
#opsPanel .ops-referral-table .consume-record span{min-width:0;line-height:1.4}
#opsPanel .ops-referral-table .consume-record button{flex:0 0 auto}
#opsPanel .ops-referral-actions{display:flex;flex-wrap:wrap;width:100%;gap:7px}
#opsPanel .ops-referral-actions button{flex:1 1 calc(50% - 4px);width:auto;min-width:88px;min-height:34px;padding:7px 8px}
@media(max-width:1100px){#opsPanel .ops-referral-table{min-width:1180px}}

main{max-width:none}
#opsPanel{width:100%}
#opsPanel .table-wrap{margin-top:12px}
#opsPanel .table-wrap>table:not(.ops-referral-table){width:100%;table-layout:auto}
#opsPanel .table-wrap>table:not(.ops-referral-table) th,#opsPanel .table-wrap>table:not(.ops-referral-table) td{width:auto;overflow:visible;text-overflow:clip}
#opsPanel .ops-referral-table th,#opsPanel .ops-referral-table td{padding:13px 10px;line-height:1.45}
#opsPanel .ops-referral-table col:nth-child(1){width:10%}
#opsPanel .ops-referral-table col:nth-child(2){width:11%}
#opsPanel .ops-referral-table col:nth-child(3){width:12%}
#opsPanel .ops-referral-table col:nth-child(4){width:9%}
#opsPanel .ops-referral-table col:nth-child(5){width:19%}
#opsPanel .ops-referral-table col:nth-child(6){width:12%}
#opsPanel .ops-referral-table col:nth-child(7){width:15%}
#opsPanel .ops-referral-table col:nth-child(8){width:12%}
.referral-status{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eef3f8;color:#5c6c82;font-size:11px;font-weight:700;white-space:nowrap}
.referral-status-visited{background:#e9f4ff;color:#3776af}.referral-status-converted{background:#e8f7f2;color:#187463}.referral-status-cancelled,.referral-status-deleted{background:#f2f3f5;color:#8b929d}
.referral-timeline{display:grid;gap:5px}.referral-timeline span{display:grid;grid-template-columns:30px minmax(0,1fr);gap:5px;color:#58677d;font-size:11px}.referral-timeline small{color:#9aa5b5;font-size:10px}

/* 全后台统一设计系统：宽度、字体、色彩和组件均与新版导航保持一致。 */
: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}
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}
main{display:block;width:calc(100vw - 216px)!important;max-width:none!important;min-width:0;margin:0 0 0 216px!important;padding:0 24px 32px!important}
main>header,main>.panel{width:100%;max-width:none}
header{color:var(--admin-text)}
.panel:not(.dashboard-panel){width:100%;max-width:none;padding:20px;border-color:var(--admin-line);border-radius:12px;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}
.primary,.search button{border-color:transparent!important;background:var(--admin-blue)!important;color:#fff!important;box-shadow:none!important}
.primary:hover,.search button:hover{background:var(--admin-blue-dark)!important}
.ghost{border:1px solid #dce4f0!important;background:#fff!important;color:#4770ad!important;box-shadow:none!important}
.danger{border-color:#f2a7aa!important;background:#fff6f6!important;color:#d94b52!important}
.danger.solid{background:var(--admin-danger)!important;color:#fff!important}
.notice{border:0;border-radius:8px;background:var(--admin-blue-soft);color:#4c6f9f;font-size:12px}
.notice.success{background:#eef5ff;color:#3569ae}.notice.error{background:#fff1f1;color:#c74f55}
.user-filters{width:100%;max-width:none;border-color:#dfe6f0;border-radius:11px;background:#f8faff}
.user-filters label{color:#68778f;font-size:12px}
.user-filters select,.user-filters input,.search input,.lottery-records-filters select,.lottery-records-filters input{border-color:#d9e2ef!important;border-radius:8px!important;background:#fff;color:#33425a;outline:none}
.user-filters select:focus,.user-filters input:focus,.search input:focus{border-color:#80acf6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.table-wrap{width:100%;max-width:none}
.table-wrap table{width:100%;max-width:none}
th{height:42px;padding:11px 10px;border-color:var(--admin-line);background:#fafbfe;color:#718097;font-size:12px;font-weight:650}
td{padding:13px 10px;border-color:#edf0f5;color:#35435a;font-size:12px}
tbody tr:hover td{background:#fbfdff}
.openid,.ops-panel .openid,.table-wrap .openid{color:#98a4b6!important;font-size:11px!important}
.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}
.cms-card,.asset-section,.points-manage-section,.lottery-settings-card,.lottery-records-card,.tab-registration-item{border-color:var(--admin-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.cms-card:hover{border-color:#9ebff5!important;box-shadow:0 8px 20px rgba(45,91,168,.08)!important}
.cms-card-meta span:not(.off),.points-drag-hint{background:var(--admin-blue-soft);color:#4577ba}
.modal{background:rgba(24,38,62,.42)}
.dialog{border-color:var(--admin-line);border-radius:14px;color:var(--admin-text)}
.dialog input,.dialog textarea,.dialog select,.editor-fields input,.editor-fields textarea,.editor-fields select{border-color:#d9e2ef!important;border-radius:8px!important;color:#33425a}
.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}
#opsPanel .ops-row-actions{display:flex;flex-wrap:wrap;width:100%;gap:7px}
#opsPanel .ops-row-actions button{flex:1 1 auto;width:auto;min-width:76px;min-height:34px;padding:7px 10px}
#opsPanel .ops-referral-actions button{min-width:76px}
#opsPanel .table-wrap>table{width:100%!important;max-width:none!important}
#usersPanel .table-wrap table{width:100%;table-layout:auto}
#usersPanel .table-wrap th,#usersPanel .table-wrap td{width:auto;overflow:visible;text-overflow:clip}
#promotionPanel .table-wrap table{min-width:100%;table-layout:auto}
#promotionPanel .promotion-sort{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}
#promotionPanel .promotion-sort span{color:#a1afc2;font-size:11px;line-height:1}
#promotionPanel .promotion-sort:hover,#promotionPanel .promotion-sort.active{color:#3977cd}
#promotionPanel .promotion-sort.active span{color:#2563eb}
@media(min-width:1500px){main{padding-right:20px!important;padding-left:20px!important}.panel:not(.dashboard-panel){padding:18px}#opsPanel .ops-referral-table{min-width:0}}
@media(max-width:950px){main{width:calc(100vw - 70px)!important;margin-left:70px!important;padding:0 18px 28px!important}}
@media(max-width:620px){main{width:100vw!important;margin-left:0!important;padding:0 14px 22px!important}.panel:not(.dashboard-panel){padding:14px}}
.referral-audit-dialog{width:min(680px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 40px));padding:0;overflow:hidden}.referral-audit-head{padding:24px 26px 18px;border-bottom:1px solid #e8efed;background:linear-gradient(135deg,#eff9f6,#fff)}.referral-audit-head h2{font-size:20px}.referral-audit-head p{margin-top:5px;color:#7b8d89;font-size:12px}.referral-audit-head p strong{color:#28564f}.referral-audit-notice{margin:16px 24px 0;padding:11px 13px;border-radius:9px;background:#eef6f4;color:#53726c;font-size:12px}.referral-audit-list{max-height:570px;padding:18px 26px 28px;overflow:auto}.referral-audit-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:20px}.referral-audit-item:not(:last-child):before{position:absolute;top:14px;bottom:0;left:6px;width:2px;background:#dce9e6;content:""}.referral-audit-dot{position:relative;z-index:1;width:14px;height:14px;margin-top:3px;border:3px solid #cae4de;border-radius:50%;background:#24786b}.referral-audit-content{padding:14px 16px;border:1px solid #e0ebe8;border-radius:12px;background:#fbfdfc}.referral-audit-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.referral-audit-title strong{color:#214b44;font-size:14px}.referral-audit-title time{color:#8d9c99;font-size:11px;white-space:nowrap}.referral-audit-content>p{margin-top:9px;color:#566b67;font-size:13px;line-height:1.6}.referral-audit-operator{display:flex;align-items:center;gap:7px;margin-top:11px;padding-top:10px;border-top:1px dashed #dce7e4;font-size:11px}.referral-audit-operator span{color:#91a09d}.referral-audit-operator strong{color:#296c61}.referral-audit-operator small{color:#9aa8a5}.referral-audit-empty{padding:60px 20px;text-align:center;color:#8c9b98;font-size:13px;line-height:1.8}.referral-audit-empty small{color:#adb8b6}.referral-audit-empty.error{color:#b65349}
.reward-summary{display:flex;align-items:baseline;gap:6px}.reward-summary span{color:#8e9d9a;font-size:10px}.reward-payout-summary{display:grid;gap:3px;margin-top:7px;font-size:11px}.reward-payout-summary span{color:#899996}.reward-payout-summary strong{color:#237568;font-size:11px}.referral-payout-dialog{width:min(470px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0 26px 26px;overflow:auto}.referral-payout-head{margin:0 -26px;padding:23px 26px 18px;background:linear-gradient(135deg,#edf9f6,#fff)}.referral-payout-heading{display:flex;align-items:center;gap:12px}.referral-payout-heading>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:#1f786b;color:#fff;font-size:21px;font-weight:800}.referral-payout-heading small{display:block;margin-top:4px;color:#879793;font-size:11px}.referral-payout-heading small strong{color:#3c625c}.referral-payout-available{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:14px 16px;border-radius:11px;background:#eff7f5;color:#657975;font-size:12px}.referral-payout-available strong{color:#1e786a;font-size:20px}.referral-payout-dialog label{font-weight:700}.referral-payout-amount{display:flex;align-items:center;margin-top:8px;border:1px solid #ccdeda;border-radius:10px}.referral-payout-amount:focus-within{border-color:#1f786b;box-shadow:0 0 0 3px #1f786b18}.referral-payout-amount span{padding-left:14px;color:#1f786b;font-size:20px;font-weight:800}.referral-payout-amount input{margin:0!important;border:0!important;font-size:20px;font-weight:750;outline:0}.referral-payout-dialog textarea{display:block;width:100%;min-height:74px;margin-top:8px;padding:11px 12px;resize:vertical;border:1px solid #d5e2df;border-radius:10px;font:inherit;color:#294a45}.referral-payout-error{margin-left:0}.referral-payout-actions{margin-top:14px}.referral-payout-actions button{min-width:115px}
.qualification-review-dialog{width:min(520px,calc(100vw - 32px));padding:24px}.qualification-review-dialog .dialog-head p{margin-top:5px;color:#8a97aa;font-size:12px}.qualification-review-name{display:block;margin:18px 0 10px;color:#2b3c57}.qualification-review-options{display:grid;gap:9px}.qualification-review-options label{display:flex;align-items:center;gap:11px;margin:0;padding:12px 14px;border:1px solid #dce4f0;border-radius:10px;cursor:pointer}.qualification-review-options label:has(input:checked){border-color:#75a5ef;background:#f2f7ff}.qualification-review-options input{width:17px;height:17px;margin:0}.qualification-review-options span{display:grid;gap:2px}.qualification-review-options b{font-size:13px}.qualification-review-options small{color:#8b98aa;font-size:11px}.qualification-reason{display:block;margin-top:14px;font-weight:700}.qualification-reason textarea{display:block;width:100%;min-height:76px;margin-top:7px;padding:10px;resize:vertical}.qualification-review-dialog .editor-actions{margin-top:10px}.partner-performance-records{display:grid;gap:4px;margin-top:7px}.partner-performance-record{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#8592a4;font-size:10px}.partner-performance-record button{padding:2px 6px;border:1px solid #d6e1ef;border-radius:5px;background:#fff;color:#4b76b6;font-size:10px;cursor:pointer}

.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
.dashboard-card{padding:18px 18px 14px;border:1px solid #d7e5e2;border-radius:16px;background:#fff}
.dashboard-card.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.dashboard-card.clickable:hover{border-color:#2c8877;box-shadow:0 8px 18px rgba(28,92,83,.1);transform:translateY(-1px)}
.dashboard-card h3{margin:0 0 14px;font-size:16px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dashboard-metrics label{display:block;color:#7b918e;font-size:12px}
.dashboard-metrics strong{display:block;margin-top:4px;color:#173d39;font-size:22px}
#dashboardPanel .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media (max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 高密度运营驾驶舱：保留原有模块结构，只提升页面层级与扫读效率。 */
:root{color:#202b3f;background:#f5f7fb}body{background:radial-gradient(circle at 82% 0,#e9f0ff 0,transparent 28%),#f5f7fb}.shell{min-height:100vh}aside{width:216px;padding:22px 14px 16px;background:linear-gradient(180deg,#fff 0%,#f8faff 100%);color:#26334a;border-right:1px solid #e9edf5;box-shadow:8px 0 28px rgba(42,73,127,.035)}.brand{padding:0 10px;gap:9px}.brand>span{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#3b8cff,#5668e8);color:#fff;font-size:17px;box-shadow:0 7px 15px #4d78df35}.brand strong{font-size:15px;letter-spacing:.01em}.brand small{margin-top:3px;color:#93a0b6;font-size:11px}nav{gap:3px;margin-top:22px;padding:0 2px 10px}nav button{padding:10px 13px;border-radius:9px;color:#627088;font-size:13px;transition:.16s}nav button:hover{background:#f0f5ff;color:#397ce8}nav button.active{background:linear-gradient(90deg,#e7f0ff,#f1f6ff);color:#3579e9;font-weight:700}.nav-group-label{margin:17px 5px 5px;padding:0;background:none;color:#a5b0c2;font-size:11px;font-weight:600;letter-spacing:.08em}.nav-group-label:first-child{margin-top:5px}.shell nav button{padding-right:36px}.nav-record-badge{border-color:#fff;background:#f05d6c}.shell nav button.active .nav-record-badge{border-color:#edf4ff}main{width:calc(100% - 216px);margin-left:216px;padding:0 30px 32px;max-width:1800px}header{min-height:74px;border-bottom:1px solid #e8edf5}.page-heading{display:flex;align-items:baseline;gap:12px}.page-eyebrow{color:#95a1b4;font-size:12px}h1{font-size:20px;color:#1e2a3d}.header-actions{display:flex;align-items:center;gap:18px}.global-search{display:flex;width:205px;height:34px;padding:0 11px;border:1px solid #e4eaf3;border-radius:18px;background:#fff;color:#a2afc0;align-items:center;gap:7px}.global-search input{width:100%;border:0;outline:0;color:#40506a;font-size:12px}.global-search input::placeholder{color:#aeb8c7}.admin-user{display:flex;align-items:center;gap:10px;color:#64728a;font-size:13px}.ghost{padding:8px 13px;border:1px solid #e2e8f1;border-radius:8px;background:#fff;color:#4a6eaf;box-shadow:none;font-size:12px}.panel{min-height:440px;margin-top:22px;padding:0;border-radius:0;background:transparent}.panel:not(.dashboard-panel){padding:22px;border:1px solid #e8edf5;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(37,61,105,.03)}.dashboard-panel .toolbar{padding:0 2px 16px}.dashboard-panel .toolbar h2{color:#202b3f;font-size:18px}.dashboard-panel .toolbar .panel-lead{margin-top:5px;color:#96a2b5}.dashboard-panel .notice{display:none}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:0;align-items:stretch}.dashboard-card{min-height:144px;padding:15px 16px 14px;border:1px solid #e8edf5;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(37,61,105,.035)}.dashboard-card.clickable:hover{border-color:#9bbcf6;box-shadow:0 10px 24px rgba(54,101,185,.11);transform:translateY(-2px)}.dashboard-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.dashboard-card h3{margin:0;color:#2d3a50;font-size:14px}.dashboard-card-head span{color:#8da0be;font-size:11px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.dashboard-metrics label{overflow:hidden;color:#95a1b4;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboard-metrics strong{margin-top:4px;color:#1f2d43;font-size:20px;line-height:1}.dashboard-card.orders-card{grid-column:span 2;background:linear-gradient(115deg,#437fe9,#5e91ed);border:0;box-shadow:0 12px 26px #3f77d539}.dashboard-card.orders-card h3,.dashboard-card.orders-card strong{color:#fff}.dashboard-card.orders-card .dashboard-card-head span,.dashboard-card.orders-card label{color:#dbe8ff}.dashboard-card.orders-card .dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-card.members-card{background:linear-gradient(145deg,#fff,#f8fbff)}.dashboard-card.promotion-card{background:linear-gradient(145deg,#f5f9ff,#fff)}.dashboard-card.invite-card{background:linear-gradient(145deg,#f8f6ff,#fff)}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-card.orders-card{grid-column:span 2}}@media(max-width:950px){aside{width:70px;padding:18px 10px}.brand div,.nav-group-label,nav button::first-letter{display:none}.brand{padding:0;justify-content:center}.shell nav button{padding:12px 5px;text-align:center;font-size:0}.shell nav button::after{content:"•";font-size:20px}.shell nav button.active::after{content:"●"}.nav-record-badge{right:2px}main{width:calc(100% - 70px);margin-left:70px;padding:0 20px 25px}.page-eyebrow,.global-search{display:none}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card.orders-card{grid-column:span 2}}@media(max-width:620px){main{width:100%;margin:0;padding:0 15px 20px}aside{display:none}header{min-height:62px}.dashboard-grid{grid-template-columns:1fr}.dashboard-card.orders-card{grid-column:auto}.dashboard-card.orders-card .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user span{display:none}}

.lottery-settings-card{margin:0 0 20px;padding:20px;border:1px solid #d7e5e2;border-radius:16px;background:#fff}
.lottery-settings-card h3{margin:0 0 14px;font-size:16px;color:#173d39}
.lottery-settings-grid{display:grid;grid-template-columns:minmax(200px,280px) 88px;gap:14px;align-items:start;margin-bottom:12px}
.lottery-settings-card label{display:grid;gap:6px;color:#5f7773;font-size:13px;line-height:1.2}
.lottery-cost-field{display:grid;gap:6px;min-width:0}
.lottery-cost-field label{margin:0}
.lottery-settings-card input,.lottery-settings-card textarea{width:100%;padding:10px 12px;border:1px solid #c9dbd7;border-radius:10px;background:#fff;color:#183c37;font-size:14px;box-sizing:border-box}
.lottery-cost-field input{min-height:42px;height:42px}
.lottery-settings-card textarea{resize:vertical;min-height:96px}
.lottery-settings-card .field-advice{display:block;margin:0;color:#96a5a2;font-size:11px;line-height:1.4}
.lottery-enabled{display:grid!important;gap:6px;align-self:start;padding:0;margin:0}
.lottery-enabled .switch-row{display:flex;box-sizing:border-box;width:100%;height:42px;min-height:42px;margin:0!important;padding:0 12px;border:1px solid #c9dbd7;border-radius:10px;background:#fff;color:#52625f;font-size:12px;align-items:center;justify-content:flex-start;gap:8px;cursor:pointer}
.lottery-enabled .switch-row input[type="checkbox"]{display:inline-block;flex:0 0 16px;width:16px!important;min-width:16px;max-width:16px;height:16px;margin:0;padding:0;accent-color:#187668;cursor:pointer}
.capsule-settings-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}.capsule-prizes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 20px}.capsule-prize-card{cursor:pointer;min-width:0}.capsule-prize-card:hover{border-color:#2c8877;box-shadow:0 0 0 2px rgba(44,136,119,.12)}.capsule-prize-card .cms-card-head h3{font-size:14px}.capsule-prize-card p{font-size:12px}.cms-dialog.capsule-prize-dialog{width:min(760px,calc(100vw - 64px))}.editor-fields.capsule-prize-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.lottery-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start;margin-top:16px}
.lottery-main{min-width:0}
.lottery-prizes-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 12px}
.points-manage-section{margin-top:22px;padding:18px;border:1px solid #e4ecea;border-radius:16px;background:#fff}
.points-manage-section:first-of-type{margin-top:12px}
.points-manage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.points-manage-head h3{margin:0;font-size:16px}
.points-manage-head p{margin:4px 0 0;color:#6b7c79;font-size:13px}
.points-manage-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.points-manage-actions .ghost{border:1px solid #d3dcda;box-shadow:none}
.points-goods-card,.points-tasks-card{cursor:grab;user-select:none}
.points-goods-card.dragging,.points-tasks-card.dragging{opacity:.55;cursor:grabbing;box-shadow:0 10px 24px rgba(24,92,80,.16)}
.points-drag-hint{margin-left:auto;padding:4px 8px;border-radius:9px;background:#eef6f4;color:#3f6f66;font-size:11px}
.lottery-prizes-title{margin:0;font-size:16px;color:#173d39}
.lottery-percent-summary{margin:0;color:#5f7773;font-size:13px}
.lottery-percent-summary.warn{color:#b45309}
.lottery-percent-summary.ok{color:#1f6f5b}
.lottery-prizes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.lottery-prize-card{cursor:pointer;min-width:0}
.lottery-prize-card.preview-active{border-color:#2c8877;box-shadow:0 0 0 2px rgba(44,136,119,.12)}
.lottery-prize-card .cms-card-head h3{font-size:14px}
.lottery-prize-card p{font-size:12px}
.lottery-balance-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#e8f5f1;color:#1f6f5b;font-size:11px;font-weight:600}
.lottery-conflict-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#fdeceb;color:#b42318;font-size:11px;font-weight:600}
.lottery-prize-card.lottery-prize-conflict{border-color:#f3b0a8;background:#fff8f7}
.lottery-conflict-tip{margin:6px 0 0;color:#b42318;font-size:12px;line-height:1.4}
.lottery-preview-panel{position:sticky;top:16px;align-self:start;width:280px;height:auto;max-height:none;margin:0;padding:14px 12px 12px;border:1px solid #ead7b8;border-radius:16px;background:linear-gradient(165deg,#fff7ea,#ffe8c8 55%,#f7d7a8);box-shadow:0 8px 18px rgba(120,72,24,.08);overflow:visible}
.lottery-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.lottery-preview-head h3{margin:0;color:#6b3d1c;font-size:15px}
.lottery-preview-head p{margin:0;color:#9a6840;font-size:12px}
.lottery-preview-head strong{color:#b45309;font-size:13px}
.lottery-preview-stage{display:flex;justify-content:center;align-items:center;padding:18px 0 8px}
.lottery-preview-wheel-wrap{position:relative;flex:0 0 auto;width:220px;height:220px;aspect-ratio:1/1;border:8px solid #fff1c6;border-radius:50%;background:#fff;box-shadow:0 8px 18px rgba(115,61,23,.14),inset 0 0 0 4px #e7a64c;box-sizing:border-box}
.lottery-preview-wheel{position:absolute;inset:6px;border-radius:50%;aspect-ratio:1/1;background:conic-gradient(#f08b55 0 45deg,#ffe9ad 45deg 90deg,#55a18e 90deg 135deg,#ffe9ad 135deg 180deg,#f08b55 180deg 225deg,#ffe9ad 225deg 270deg,#55a18e 270deg 315deg,#ffe9ad 315deg 360deg)}
.lottery-preview-pointer{position:absolute;z-index:5;left:50%;top:-14px;width:0;height:0;border-right:10px solid transparent;border-bottom:20px solid #9b421f;border-left:10px solid transparent;transform:translateX(-50%)}
.lottery-preview-center{position:absolute;z-index:6;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border:5px solid #fff2c7;border-radius:50%;background:linear-gradient(145deg,#e06d32,#b94b24);color:#fff;transform:translate(-50%,-50%);box-shadow:0 4px 10px rgba(100,43,19,.22);text-align:center}
.lottery-preview-center strong{font-size:13px;line-height:1.1}
.lottery-preview-center small{margin-top:3px;color:#ffe3b8;font-size:9px}
.lottery-preview-prize{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;width:48px;margin-left:-24px;margin-top:-20px;transform-origin:24px 20px;color:#75401f;pointer-events:none}
.lottery-preview-prize span{font-size:14px;font-weight:800;line-height:1}
.lottery-preview-prize small{margin-top:2px;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700}
.lottery-preview-prize.p0{transform:rotate(22.5deg) translateY(-74px) rotate(-22.5deg)}
.lottery-preview-prize.p1{transform:rotate(67.5deg) translateY(-74px) rotate(-67.5deg)}
.lottery-preview-prize.p2{transform:rotate(112.5deg) translateY(-74px) rotate(-112.5deg)}
.lottery-preview-prize.p3{transform:rotate(157.5deg) translateY(-74px) rotate(-157.5deg)}
.lottery-preview-prize.p4{transform:rotate(202.5deg) translateY(-74px) rotate(-202.5deg)}
.lottery-preview-prize.p5{transform:rotate(247.5deg) translateY(-74px) rotate(-247.5deg)}
.lottery-preview-prize.p6{transform:rotate(292.5deg) translateY(-74px) rotate(-292.5deg)}
.lottery-preview-prize.p7{transform:rotate(337.5deg) translateY(-74px) rotate(-337.5deg)}
.lottery-preview-prize.is-active span,.lottery-preview-prize.is-active small{color:#9b421f}
.lottery-preview-hint{margin:8px 2px 0;color:#9a6840;font-size:11px;line-height:1.45}
.lottery-home-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.lottery-home-toolbar .panel-lead{flex:1;min-width:0}
.lottery-home-toolbar .primary{flex:0 0 auto;white-space:nowrap}
.lottery-records-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.lottery-back-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 10px;border:1px solid #c9dbd7;border-radius:999px;background:#fff;color:#1f6f5b;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.lottery-back-btn:hover{border-color:#2c8877;background:#f3faf8;color:#155f4f;box-shadow:0 4px 12px rgba(28,92,83,.08)}
.lottery-back-icon{width:16px;height:16px;flex:0 0 auto}
.lottery-records-page-title{margin:10px 0 6px;font-size:22px;color:#173d39}
.lottery-records-card{margin-top:20px;padding:18px 18px 12px;border:1px solid #d7e5e2;border-radius:16px;background:#fff}
.lottery-records-page{margin-top:0}
.lottery-records-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;margin-bottom:12px;align-items:end}
.lottery-records-filters label{display:grid;gap:6px;color:#5f7773;font-size:12px;min-width:0}
.lottery-records-filters select,.lottery-records-filters input{width:100%;min-height:38px;padding:8px 10px;border:1px solid #c9dbd7;border-radius:10px;background:#fff;color:#183c37;font-size:13px;box-sizing:border-box}
.lottery-record-actions{display:flex;align-items:end}
.lottery-record-actions button{min-height:38px;padding:0 16px}
.lottery-records-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.lottery-records-summary span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f3faf8;color:#2c5f57;font-size:12px}
.lottery-records-summary strong{color:#173d39}
#lotteryRecordsView .table-wrap table{table-layout:fixed;width:100%}
#lotteryRecordsView .table-wrap th,#lotteryRecordsView .table-wrap td{width:auto;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;word-break:break-word}
#lotteryRecordsBody .openid{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a9a98;font-size:12px;word-break:normal}
#capsuleRecordsBody .openid{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a9a98;font-size:12px;word-break:normal}
@media (max-width:1200px){.lottery-layout{grid-template-columns:minmax(0,1fr) 260px}.lottery-preview-panel{width:260px}.lottery-prizes-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}
@media (max-width:980px){
  .lottery-layout{grid-template-columns:1fr}
  .lottery-preview-panel{position:relative;top:auto;width:100%;max-width:320px;margin:0 auto;order:-1}
  .lottery-settings-grid{grid-template-columns:1fr}
  .lottery-prizes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lottery-records-filters{grid-template-columns:1fr}
  .lottery-record-actions button{width:100%}
}

/* 全局操作提示必须显示在编辑弹窗与遮罩层之上。 */
.toast{
  z-index:20000;
  max-width:min(640px,calc(100vw - 40px));
  text-align:center;
  white-space:normal;
  box-shadow:0 8px 28px #061d1952;
}

.editor-title-actions{display:flex;align-items:center;gap:10px}.dialog-head .product-preview-trigger{min-width:72px;padding:8px 16px;border:1px solid #9dc9c1;border-radius:9px;background:#edf7f5;color:#1f7468;font-size:13px;font-weight:700;line-height:1.3}.dialog-head .product-preview-trigger.hidden{display:none}.product-preview-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 28px);padding:0;overflow:hidden}.product-preview-dialog-head{padding:18px 22px;border-bottom:1px solid #e5eeec}.product-preview-dialog-head p{margin-top:4px}.product-preview-content{display:grid;max-height:calc(100vh - 110px);padding:20px;overflow:auto;place-items:center;background:#e9efed}.product-preview-phone{position:relative;width:min(390px,100%);height:min(750px,calc(100vh - 150px));min-height:560px;overflow:hidden;border:8px solid #173d39;border-radius:34px;background:#f4f7f6;box-shadow:0 18px 50px #123b3530}.product-preview-navbar{display:flex;height:48px;padding:0 15px;background:#fff;align-items:center;justify-content:space-between;color:#173d39}.product-preview-navbar span{min-width:34px;font-size:18px}.product-preview-navbar span:last-child{text-align:right}.product-preview-scroll{height:calc(100% - 112px);padding-bottom:12px;overflow:auto}.product-preview-hero{position:relative;display:grid;height:255px;overflow:hidden;background:linear-gradient(145deg,#e5f7f2,#bae5db);color:#6b8883;font-size:13px;place-items:center}.product-preview-hero img{width:100%;height:100%;object-fit:cover}.product-preview-hero em{position:absolute;top:15px;left:15px;padding:5px 10px;border-radius:12px;background:#247e70;color:#fff;font-size:11px;font-style:normal}.product-preview-main{padding:16px;background:#fff}.product-preview-price{display:flex;align-items:center;justify-content:space-between;color:#e46850}.product-preview-price strong{font-size:28px}.product-preview-price small{font-size:15px}.product-preview-price span{color:#8da09d;font-size:11px}.product-preview-main h2{margin-top:9px;font-size:19px}.product-preview-main p{margin-top:5px;color:#829592;font-size:13px}.product-preview-main label{display:inline-block;margin-top:11px;padding:5px 8px;border-radius:9px;background:#fff1d9;color:#b7762b;font-size:10px}.product-preview-main label b{margin-left:4px}.product-preview-highlights{display:flex;gap:8px;margin-top:9px;padding:13px 10px;background:#fff;color:#617c78;font-size:10px;justify-content:space-around}.product-preview-highlights span{white-space:nowrap}.product-preview-card{margin-top:9px;padding:16px;background:#fff}.product-preview-card h3{margin:0 0 10px;font-size:16px}.product-preview-card>div{display:flex;padding:10px 0;border-bottom:1px solid #edf2f1;justify-content:space-between;font-size:12px}.product-preview-card>div b{color:#2b8878}.product-preview-card>p{color:#738b87;font-size:12px;line-height:1.7}.product-preview-quantity{justify-content:flex-end!important;align-items:center;gap:16px}.product-preview-quantity i{display:grid;width:30px;height:27px;border-radius:7px;background:#edf5f3;color:#277f71;font-size:17px;font-style:normal;place-items:center}.product-preview-notice>div span{color:#849794}.product-preview-notice>div b{max-width:68%;color:#344f4c;text-align:right}.product-preview-bottom{position:absolute;right:0;bottom:0;left:0;display:flex;gap:8px;height:64px;padding:10px 13px;background:#fff;box-shadow:0 -4px 14px #18464112}.product-preview-bottom button{margin:0;border:0;border-radius:23px;font-size:13px;font-weight:700}.product-preview-bottom button:first-child{width:105px;background:#eef6f4;color:#17665b}.product-preview-bottom button:last-child{flex:1;background:#247e70;color:#fff}.product-preview-bottom button b{margin-right:5px;color:#f0d287}@media(max-width:600px){.product-preview-content{padding:10px}.product-preview-phone{height:calc(100vh - 130px);min-height:500px;border-width:5px;border-radius:24px}}
.product-preview-companion{background:linear-gradient(145deg,#fffaf0,#fff)}.product-preview-companion>strong{display:block;margin-bottom:12px;color:#b67527;font-size:12px}.product-preview-companion>label{display:block;margin:9px 0 5px;color:#6f7f7c;font-size:11px}.product-preview-companion>.product-preview-companion-input{display:block;padding:10px 12px;border:1px solid #eadfc9;border-radius:8px;background:#fff;color:#a2aaa8;font-size:12px}.product-preview-companion>p{margin-top:11px!important;color:#8b9795!important;font-size:10px!important}
.product-preview-main .product-preview-share-reward{margin-top:10px;color:#8a6b31;font-size:10px;line-height:1.5}
.product-preview-bottom .product-preview-share-button{position:relative;overflow:visible}.product-preview-share-button>em{position:absolute;top:-9px;right:-3px;display:flex;height:19px;padding:0 7px;border:2px solid #fff;border-radius:10px;background:#f19a3e;color:#fff;font-size:9px;font-style:normal;font-weight:800;line-height:19px;align-items:center;justify-content:center;box-shadow:0 3px 7px rgba(205,112,31,.24);white-space:nowrap}

/* 后台表单控件统一高度：输入框、选择框和开关外框均为 42px。 */
body .cms-dialog .editor-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body .cms-dialog .editor-field select,
body .admin-editor-grid input:not([type="checkbox"]):not([type="radio"]),
body .admin-editor-grid select,
body .shell .user-filters input:not([type="checkbox"]):not([type="radio"]),
body .shell .user-filters select,
body .shell .lottery-records-filters input:not([type="checkbox"]):not([type="radio"]),
body .shell .lottery-records-filters select{box-sizing:border-box!important;height:42px!important;min-height:42px!important;max-height:42px!important}
body .cms-dialog .editor-field .switch-row{box-sizing:border-box!important;height:42px!important;min-height:42px!important;max-height:42px!important;padding-top:0!important;padding-bottom:0!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;max-height:16px!important;margin:0!important;padding:0!important}
.activity-preview-scroll{background:#f4f6f5}.activity-preview-hero{position:relative;display:flex;min-height:180px;overflow:hidden;background:linear-gradient(145deg,#17554e,#36a08c);align-items:flex-end}.activity-preview-hero img{display:block;width:100%;height:auto}.activity-preview-hero>i{position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,rgba(17,50,46,.58))}.activity-preview-hero h2{position:absolute;z-index:2;right:17px;bottom:22px;left:17px;margin:0;color:#fff;font-size:23px;line-height:1.3;text-shadow:0 2px 8px #0006}.activity-preview-info{position:relative;z-index:3;margin:-11px 12px 0;padding:6px 14px 12px;border-radius:15px;background:#fff;box-shadow:0 6px 15px #19464114}.activity-preview-info>div{display:flex;padding:10px 0;border-bottom:1px solid #edf2f1;align-items:center}.activity-preview-info>div>b{display:grid;width:29px;height:29px;margin-right:9px;border-radius:9px;background:#e5f4f0;color:#2d8778;font-size:11px;place-items:center}.activity-preview-info>div>span,.activity-preview-info footer>span{display:flex;flex-direction:column}.activity-preview-info strong{font-size:12px}.activity-preview-info small{margin-top:3px;color:#829592;font-size:10px}.activity-preview-info .quota{color:#d56c54}.activity-preview-info footer{display:flex;padding-top:11px;align-items:center;justify-content:space-between}.activity-preview-info footer>span>strong{color:#df674f;font-size:17px}.activity-preview-info footer button{border:0;background:transparent;color:#298777;font-size:11px}.activity-preview-section{margin-top:9px;padding:15px;background:#fff}.activity-preview-section h3{margin:0 0 10px;font-size:15px}.activity-preview-section>p,.activity-preview-gifts>p,.activity-preview-schedule>p{margin:0;color:#657c78;font-size:12px;line-height:1.7}.activity-preview-gifts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.activity-preview-gifts span{display:flex;padding:9px;border-radius:10px;background:#f0f7f5;color:#426a64;font-size:11px;align-items:center}.activity-preview-gifts b{display:grid;width:17px;height:17px;margin-right:5px;border-radius:50%;background:#2d8d7a;color:#fff;font-size:10px;place-items:center}.activity-preview-schedule>div{display:grid;min-height:54px;grid-template-columns:42px 18px 1fr}.activity-preview-schedule time{padding-top:2px;color:#2a8576;font-size:11px;font-weight:700}.activity-preview-schedule>div>i{position:relative;border-left:1px solid #d8e8e5}.activity-preview-schedule>div>i:after{position:absolute;top:3px;left:-4px;width:7px;height:7px;border-radius:50%;background:#3c9a88;content:""}.activity-preview-schedule span{display:flex;flex-direction:column}.activity-preview-schedule span strong{font-size:12px}.activity-preview-schedule span small{margin-top:3px;color:#8c9c99;font-size:10px}.activity-preview-registration{margin:11px;border:1px solid #d7ebe6;border-radius:15px;background:linear-gradient(145deg,#edf8f5,#f7fbfa)}.activity-preview-registration label{display:flex;min-height:44px;padding:0 8px;border-bottom:1px solid #dcebe8;font-size:11px;align-items:center;justify-content:space-between}.activity-preview-registration label>span{color:#93a29f}.activity-preview-registration label>i{width:38px;height:21px;border-radius:12px;background:#dbe5e3}.activity-preview-registration>p{margin-top:12px;color:#829592;font-size:10px}.activity-preview-counter{padding:6px 8px;border-radius:7px;background:#eaf3f1!important;color:#287f71!important}.activity-preview-bottom button:first-child{border:1px solid #2b8978;background:#fff;color:#2b8978}.activity-preview-bottom button:last-child{background:#247e70;color:#fff}
.commerce-card-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: auto; padding-top: 14px; }
.commerce-card-actions .commerce-qr,.commerce-card-actions .commerce-short-link { width: 100%; min-width: 0; min-height: 40px; white-space: nowrap; }
