@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";.number-pad-field{display:flex;flex-direction:column;gap:8px;width:100%}.number-pad-display{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 14px;border:1px solid #cfdad3;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.number-pad-display:hover:not(:disabled){border-color:#45ad75}.number-pad-display.open{border-color:#1fa563;box-shadow:0 0 0 3px #1fa6621f}.number-pad-display:disabled{opacity:.5;cursor:not-allowed}.number-pad-label{font-size:13px;font-weight:700;color:#425047;white-space:nowrap}.number-pad-value{font-size:20px;font-weight:700;color:#1d2b23;letter-spacing:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.number-pad-value.empty{font-size:14px;font-weight:400;letter-spacing:0;color:#9aa8a0}.number-pad-hint{font-size:12px;color:#758078;white-space:nowrap}.number-pad{padding:12px;border:1px solid #dbe6df;border-radius:14px;background:#f7fbf8}.number-pad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.number-pad-key{height:58px;border:0;border-radius:12px;background:#fff;box-shadow:0 1px 2px #18302414;color:#1d2b23;font-size:24px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .06s,background .12s}.number-pad-key:active{transform:scale(.95);background:#e8f7ef}.number-pad-key.fn{background:#eef2ef;color:#4a5a51;font-size:15px;display:grid;place-items:center}.number-pad-key.fn svg{width:24px;height:24px}.number-pad-confirm{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:54px;margin-top:10px;border:0;border-radius:12px;background:#1fa563;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.number-pad-confirm:disabled{background:#cfd7d2;cursor:not-allowed}.number-pad-confirm svg{width:20px;height:20px}.management-pad{display:flex;flex-direction:column;gap:6px}.management-pad-warn{font-size:12px;color:#c8821a;font-weight:600}.number-pad-field.pad-inline .number-pad-label{display:none}.number-pad-field.pad-inline .number-pad-display{grid-template-columns:1fr auto}.number-pad-field.pad-inline .number-pad-value{font-size:17px}.login-pad-field .number-pad{max-height:340px;overflow-y:auto}.login-pad-field .number-pad-display{min-height:50px}.modal .number-pad{max-height:380px;overflow-y:auto}.pad-field-caption{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#425047}@media(max-width:720px){.number-pad-key{height:52px;font-size:21px}.number-pad-display{min-height:52px}.login-pad-field .number-pad,.modal .number-pad{max-height:300px}}.expense-row-actions{display:flex;align-items:center;gap:8px}.expense-row-actions button{display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:0 10px;border:1px solid #efc8c2;border-radius:8px;background:#fff7f5;color:#bd493c;font-weight:700}.expense-row-actions button svg{width:15px}.expense-live-row.is-reversed{color:#8e948f;background:#fafafa}.expense-live-row.is-reversed>span:nth-child(4){text-decoration:line-through}.expense-reverse-modal{width:min(520px,calc(100vw - 28px))}.expense-reverse-modal .payment-warning{margin:0 0 16px}.expense-reverse-modal .expense-form{grid-template-columns:1fr}.expense-reverse-modal .modal-actions{position:sticky;bottom:0;background:#fff}.expense-status-filter{display:flex;gap:8px;padding:0 22px 16px}.expense-status-filter button{min-height:40px;padding:0 14px;border:1px solid #dedfda;border-radius:10px;background:#fff;color:#626862;font-weight:700}.expense-status-filter button.active{border-color:#71bd91;background:#eaf7f0;color:#148650}.expense-status-filter span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:7px;padding:0 5px;border-radius:12px;background:#f0f1ed;font-size:11px}.expense-status-filter button.active span{background:#cfead9}.expense-description{display:flex;flex-direction:column;gap:4px}.expense-description small{color:#bd493c;line-height:1.35}@media(max-width:720px){.expense-row-actions{justify-content:space-between}.expense-row-actions button{min-height:44px}.expense-reverse-modal{max-height:calc(100dvh - 24px);overflow:auto}.expense-status-filter{overflow-x:auto;padding:0 14px 14px}.expense-status-filter button{min-width:92px;min-height:44px}}.member-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.member-stats-grid>div{border:1px solid #dcebe2;border-radius:12px;background:#f4fbf7;padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}.member-stats-grid span{font-size:11px;color:#7d857f}.member-stats-grid b{font-size:22px;color:#168f55;white-space:nowrap}.member-stats-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.member-stats-times>div{border:1px solid #ecece7;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.member-stats-times span{font-size:11px;color:#949894}.member-stats-times b{font-size:13px;color:#202a24;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-stats-title{font-size:13px;margin:18px 0 8px;color:#202a24}.member-stats-rows>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 2px;border-bottom:1px solid #efefeb;font-size:12px}.member-stats-rows b{color:#168f55}.member-stats-rows time{color:#999;font-size:11px;white-space:nowrap}.member-stats-months>div{display:grid;grid-template-columns:64px 1fr 44px;gap:10px;align-items:center;padding:7px 0;font-size:12px;color:#5d665f}.member-stats-months .bar{height:10px;background:#eef2ef;border-radius:6px;overflow:hidden}.member-stats-months .bar i{display:block;height:100%;background:#22aa65;border-radius:6px;min-width:4px}.member-stats-months b{text-align:right;color:#168f55;white-space:nowrap}.member-stats-note{margin:16px 0 0;font-size:11px;color:#949894}.member-phone-cell{display:flex;align-items:center;gap:6px;min-width:0}.member-phone-cell em{font-style:normal;white-space:nowrap}.member-phone-cell i{display:inline-flex;color:#9aa39c;cursor:pointer;padding:2px;border-radius:6px}.member-phone-cell i:hover{color:#168f55;background:#eef6f1}.member-phone-cell i svg{width:16px;height:16px}.card-management-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.card-management-head h3,.card-management-head p{margin:0}.card-management-head h3{font-size:20px}.card-management-head p{margin-top:5px;color:#7d8981;font-size:12px}.card-management-head .primary{flex:0 0 auto;min-height:44px}.card-operation{border-color:#cfe2d6;box-shadow:0 8px 28px #1c5d3914}.card-operation .adjustment-heading{display:flex;align-items:center;gap:12px}.card-operation .adjustment-heading>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#e8f7ef;color:#168f55;font-size:21px}.card-operation-actions{position:sticky;bottom:-22px;z-index:3;display:flex;justify-content:flex-end;gap:10px;margin:2px -22px -22px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #e8eeea;background:#fff;box-shadow:0 -8px 20px #1c2a220a}@media(pointer:coarse){.card-operation:focus-within .card-operation-actions{bottom:35vh}}.benefit-list .benefit-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 18px}.benefit-list .benefit-card>strong{align-self:center}.benefit-list .card-type i{margin-left:5px;padding:3px 8px;border-radius:999px;background:#e8f7ef;color:#168f55;font-style:normal;font-size:10px}.benefit-list .status-frozen,.benefit-list .status-exhausted,.benefit-list .status-expired,.benefit-list .status-cancelled,.benefit-list .status-refunded{background:#fbfbf9}.benefit-list .status-frozen .card-type i,.benefit-list .status-exhausted .card-type i,.benefit-list .status-expired .card-type i{background:#fff3d9;color:#a36b00}.benefit-list .status-cancelled .card-type i,.benefit-list .status-refunded .card-type i{background:#f1f1ee;color:#777}.benefit-card-actions{grid-column:1 / -1;display:flex;gap:8px;padding-top:12px;border-top:1px solid #edf1ee}.benefit-card-actions button{min-height:42px;display:inline-flex;align-items:center;gap:6px;padding:0 13px;border:1px solid #dce6df;border-radius:9px;background:#fff;color:#27714b;font-weight:600}.benefit-card-actions button:hover{border-color:#70bc91;background:#f4faf6}.member-danger-note{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #f0c6c0;border-radius:10px;background:#fff7f5;color:#b34438;font-size:12px}.card-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed #dce5df;border-radius:14px;color:#7e8b83}.card-empty b{color:#2d3931}@media(max-width:720px){.card-management-head{align-items:stretch;flex-direction:column}.card-management-head .primary{width:100%;justify-content:center}.benefit-list .benefit-card{grid-template-columns:1fr}.benefit-list .benefit-card>strong{justify-self:start}.benefit-card-actions,.card-operation-actions{flex-direction:column}.card-operation-actions{bottom:-17px;margin:2px -14px -17px;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.benefit-card-actions button,.card-operation-actions button{width:100%;min-height:48px;justify-content:center}}.coupon-admin{padding-top:2px}.coupon-redeem-guard{margin-top:14px;padding:12px;border:1px dashed #d9e2dc;border-radius:10px;background:#fafcfb}.coupon-redeem-guard .pad-field-caption{display:block;margin-bottom:8px;font-size:11px;color:#6f7771}.card-head-actions{display:flex;gap:8px;flex:0 0 auto}.card-head-actions button{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 15px;border-radius:10px;font-weight:700}.member-head-actions .member-quick-redeem-trigger{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 16px;border-radius:10px;background:#1f7a4d;color:#fff;font-weight:700}.member-head-actions .member-quick-redeem-trigger:hover{background:#19603e}.quick-redeem-card-btn{background:#eef8f2!important;border-color:#9ed3b4!important}.quick-redeem-done{display:flex;align-items:center;gap:9px;border-color:#a8d8bb!important;background:#f0faf4!important;color:#1f6b41;font-weight:600}.quick-redeem-done svg{flex:0 0 auto;color:#2f9e63}.quick-redeem .redeem-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.quick-redeem .redeem-form>label.wide,.quick-redeem .redeem-kids{grid-column:1/-1}.redeem-kids{display:block}.redeem-kids .pad-field-caption{display:block;margin-bottom:8px;font-size:11px;color:#6f7771}.redeem-kid-list{display:flex;flex-wrap:wrap;gap:9px}.redeem-kid{min-height:50px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1.5px solid #dbe5de;border-radius:11px;background:#fff;color:#2d3931;font-size:14px;font-weight:700;cursor:pointer}.redeem-kid:hover:not(:disabled){border-color:#70bc91;background:#f4faf6}.redeem-kid.selected{border-color:#2f9e63;background:#eaf7ef;color:#1f6b41}.redeem-kid.selected svg{color:#2f9e63}.redeem-kid:disabled{opacity:.45;cursor:not-allowed;background:#f6f7f6}.redeem-kid small{font-size:11px;font-weight:500;color:#a2685f}.redeem-empty{margin:0;padding:12px;border:1px dashed #d9e2dc;border-radius:10px;color:#7e8b83;font-size:12px}.quick-redeem-preview{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid #cfe6d8;border-radius:11px;background:#f3faf6}.quick-redeem-preview span{font-size:13px;font-weight:600;color:#236e46}.quick-redeem-preview b{font-size:13px;color:#4d5b53;font-weight:600}.quick-redeem-preview.danger{border-color:#f0c6c0;background:#fff6f4}.quick-redeem-preview.danger span{color:#b34438}.quick-redeem .member-danger-note{grid-column:1/-1}@media(max-width:720px){.card-head-actions{width:100%}.card-head-actions button{flex:1;justify-content:center;min-height:48px}.member-head-actions{flex-wrap:wrap}.member-head-actions .member-quick-redeem-trigger{width:100%;justify-content:center;min-height:48px}.quick-redeem .redeem-form{grid-template-columns:1fr}.redeem-kid{flex:1 1 auto;min-width:120px;justify-content:center}}.member-head-actions{display:flex;align-items:center;gap:10px}.member-edit-trigger{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px}.member-edit-trigger svg{width:17px;height:17px}.member-profile-editor{position:relative;display:flex;flex-direction:column;gap:16px;padding:20px 22px;border-bottom:1px solid #e6ece8;background:#f7faf8;max-height:min(620px,62vh);overflow:auto;overscroll-behavior:contain}.profile-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-editor-heading h3,.profile-children h4{margin:0;color:#202a24}.profile-editor-heading p{margin:5px 0 0;color:#778079;font-size:12px}.profile-editor-heading button{display:inline-flex;align-items:center;gap:6px;min-height:42px;white-space:nowrap}.profile-base-grid,.profile-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.member-profile-editor label{display:flex;min-width:0;flex-direction:column;gap:7px;color:#465148;font-size:12px;font-weight:700}.member-profile-editor input,.member-profile-editor select{width:100%;height:44px;box-sizing:border-box;border:1px solid #ccd8d0;border-radius:10px;background:#fff;padding:0 12px;color:#202823;font:inherit;outline:0}.member-profile-editor input:focus,.member-profile-editor select:focus{border-color:#26a663;box-shadow:0 0 0 3px #26a6631f}.profile-children{display:flex;flex-direction:column;gap:10px;padding-top:3px}.profile-child-row{display:grid;grid-template-columns:1.15fr 1fr .7fr .7fr;gap:9px;padding:12px;border:1px solid #dde7e0;border-radius:12px;background:#fff}.profile-editor-actions{position:sticky;bottom:-20px;z-index:2;display:flex;justify-content:flex-end;gap:10px;margin:0 -22px -20px;padding:13px 22px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #e3eae5;background:#fffffff7;box-shadow:0 -8px 18px #1f392912}.profile-editor-actions button{min-width:112px;min-height:46px}.child-list>div.inactive{opacity:.62}@media(pointer:coarse){.member-profile-editor:focus-within .profile-editor-actions{position:fixed;right:0;bottom:35vh;width:38vw;box-sizing:border-box;margin:0}}@media(max-width:720px){.member-profile-editor{padding:16px 14px;max-height:68vh}.profile-editor-heading{align-items:stretch;flex-direction:column}.profile-base-grid,.profile-security-grid{grid-template-columns:1fr}.profile-child-row{grid-template-columns:1fr 1fr}.profile-editor-actions{margin:0 -14px -16px;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.member-profile-editor:focus-within .profile-editor-actions{width:100vw}.member-edit-trigger{font-size:0;width:44px;padding:0;justify-content:center}.member-edit-trigger svg{width:20px;height:20px}}.member-function-switch{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;gap:6px!important;height:auto!important;padding:8px 18px!important;overflow:visible!important;background:#f5f7f5;border-top:1px solid #e7ebe8;border-bottom:1px solid #e1e7e3}.member-function-switch button{display:flex;align-items:center;justify-content:center;min-height:44px!important;padding:0 10px!important;border:1px solid transparent!important;border-radius:10px!important;color:#667069!important;font-size:13px!important}.member-function-switch button.active{border-color:#b9ddc8!important;background:#fff!important;color:#158d53!important;box-shadow:0 3px 10px #1e583414}.member-function-switch button.active:after{display:none!important}@media(max-width:720px){.member-function-switch{display:flex!important;overflow-x:auto}.member-function-switch button{min-width:82px}}.member-management-page{--member-line:#e6ece8;--member-muted:#7b8780;--member-green:#15965b}.member-management-page,.real-member-detail{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif}.real-member-detail:focus{outline:none}.real-member-detail .adjustment-preview.overdrawn,.real-member-detail .adjustment-preview.overdrawn b{color:#b84437;background:#fff4f2}.member-overview.business-stats{grid-template-columns:repeat(4,minmax(0,1fr));border-color:var(--member-line);border-radius:16px}.member-overview.business-stats>div{padding:22px 24px;min-width:0}.member-overview strong{font-variant-numeric:tabular-nums;color:#213e30!important;font-size:30px!important}.member-overview strong small{font-size:13px;font-weight:500;color:#74867b}.member-overview em{display:block;font-style:normal;font-size:12px;color:var(--member-muted);margin-top:7px}.member-directory{border-radius:16px;overflow:hidden;border-color:var(--member-line)}.member-directory .business-toolbar{padding:20px 22px;gap:12px;flex-wrap:wrap}.member-directory .business-toolbar .search{max-width:420px;flex:1;min-width:220px}.member-list-caption{display:flex;justify-content:space-between;gap:12px;padding:0 22px 18px;align-items:center;font-size:15px;font-weight:650}.member-list-caption small{font-size:12px;font-weight:400;color:var(--member-muted)}.member-management-page .member-live-table{padding:0;overflow-x:auto}.member-management-page .member-live-row{display:grid;grid-template-columns:minmax(205px,1.45fr) minmax(100px,.75fr) minmax(175px,1.3fr) minmax(95px,.7fr) minmax(90px,.65fr) 65px 96px;gap:16px;align-items:center;width:100%;min-width:970px;min-height:100px;padding:17px 22px;border:0;border-top:1px solid #edf1ee;border-radius:0;background:#fff;text-align:left;font-size:14px;color:#273a30;box-sizing:border-box}.member-management-page .member-live-row.head{min-height:44px;padding-top:12px;padding-bottom:12px;background:#f7f9f8;font-size:12px;color:#7b8780}.member-management-page .member-detail-trigger{cursor:pointer;transition:background .15s}.member-management-page .member-detail-trigger:hover{background:#f7fcf9}.member-identity{display:flex;gap:12px;align-items:center;min-width:0}.member-list-avatar{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:13px;background:#eaf6ef;color:#15965b;font-size:18px;font-weight:700}.member-identity>div{min-width:0}.member-identity b{font-size:15px}.member-identity small{display:block;color:#97a29a;font-size:10px;margin-top:4px;overflow-wrap:anywhere}.member-management-page .member-phone-cell{font-size:13px;color:#68776e;margin-top:4px;display:flex;gap:5px}.member-phone-toggle{border:0;background:transparent;color:#7c9586;display:grid;place-items:center;padding:4px;border-radius:6px;cursor:pointer}.member-phone-toggle svg{width:15px;height:15px}.member-child-cell{line-height:1.6;overflow-wrap:anywhere}.member-ticket-cell{min-width:0}.member-ticket-cell>b{font-size:14px;font-weight:600}.member-ticket-cell>b>small{display:inline;color:#688574;font-size:12px;font-weight:400}.member-ticket-cell>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#839087;margin-top:6px}.member-asset-value{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}.member-asset-value small{font-size:12px;font-weight:400}.member-coin-value{color:#b77c18}.member-points-value{color:#179a61}.member-management-page .member-status{display:inline-block;font-style:normal;padding:4px 9px;border-radius:6px;background:#edf8f1;color:#26975d;font-size:12px}.member-management-page .member-status.inactive{color:#976c2f;background:#fff5e3}.member-view-button{border:1px solid #d8e8de;background:#fff;color:#188b55;font-size:12px;border-radius:8px;padding:9px 10px;cursor:pointer;white-space:nowrap}.member-list-empty{padding:60px 20px;text-align:center;font-size:14px;color:#7c8981}.real-member-detail.member-drawer{width:min(820px,100vw)!important;max-width:100vw;height:100dvh;overflow-y:auto!important;display:block!important;background:#fff;box-shadow:-16px 0 60px #15312424}.real-member-detail *{box-sizing:border-box}.real-member-detail .drawer-head{position:sticky;top:0;z-index:3;background:#fff;height:auto;min-height:100px;padding:22px 28px;gap:16px;flex-shrink:0}.real-member-detail .drawer-head>div{min-width:0}.real-member-detail .drawer-head h2{font-size:23px;line-height:1.3}.real-member-detail .drawer-head p{font-size:12px;overflow-wrap:anywhere;line-height:1.6}.real-member-detail .large-avatar{width:50px;height:50px;flex:none;font-size:22px}.real-member-detail .member-head-actions{flex:none;gap:12px}.real-member-detail .member-edit-trigger{white-space:nowrap;background:#f5f8f6;border:1px solid #e1e9e4;min-height:40px;font-size:13px;padding:0 14px;border-radius:9px}.real-member-detail .icon-btn{width:36px;height:36px;flex:none}.real-member-detail .icon-btn svg{width:20px;height:20px}.real-member-detail .member-asset-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px;padding:24px 28px 16px;background:#fff;border:0}.real-member-detail .member-asset-summary>button{position:relative;text-align:left;border:1px solid #e2ebe5;border-radius:12px;background:#fff;display:flex;flex-direction:column;padding:16px 14px;gap:8px;cursor:pointer;min-width:0}.real-member-detail .member-asset-summary>button:hover{border-color:#76c499;background:#fbfefc}.real-member-detail .member-asset-summary svg{width:21px;height:21px;color:#34976a;margin-bottom:2px}.real-member-detail .member-asset-summary>button:nth-child(2) svg,.real-member-detail .member-asset-summary>button:nth-child(2) b{color:#b87d20}.real-member-detail .member-asset-summary span{color:#6b7b70;font-size:12px}.real-member-detail .member-asset-summary b{font-size:27px;line-height:1.15;margin:0;color:#1e5338;font-variant-numeric:tabular-nums}.real-member-detail .member-asset-summary b small{font-size:12px;font-weight:400}.real-member-detail .member-asset-summary em{font-style:normal;font-size:11px;color:#8b978f}.member-spend-line{display:flex;justify-content:space-between;gap:12px;padding:0 28px 20px;color:#8a968f;font-size:12px;border-bottom:1px solid #edf1ee}.member-spend-line b{color:#50665a;font-weight:500;margin-left:6px}.real-member-detail .children-section{padding:20px 28px}.real-member-detail .section-title h3{font-size:14px}.real-member-detail .child-list{gap:10px}.real-member-detail .child-list>div{padding:12px;background:#fff}.real-member-detail .child-list b{font-size:14px}.real-member-detail .child-list small{font-size:11px}.real-member-detail .child-list .detail-empty{grid-column:1/-1;min-height:46px;padding:13px 16px;font-size:13px;color:#8b968f;border:1px dashed #dfe7e2}.real-member-detail .member-function-switch{display:flex!important;flex-wrap:nowrap!important;gap:4px!important;padding:10px 24px!important;background:#fff;overflow-x:auto!important;border-top:0;scrollbar-width:thin}.real-member-detail .member-function-switch button{flex:1 0 auto;min-width:70px;min-height:42px!important;padding:0 10px!important;font-size:13px!important;border:0!important;background:#fff!important;border-radius:8px!important;white-space:nowrap}.real-member-detail .member-function-switch button.active{background:#eaf7ef!important;box-shadow:none;color:#138951!important}.real-member-detail .drawer-content{overflow:visible;flex:none;padding:24px 28px 36px}.real-member-detail .drawer-content[hidden]{display:none}.real-member-detail .member-adjustment{padding:22px;border:1px solid #e0e9e3;border-radius:14px;background:#fff;margin-bottom:20px}.real-member-detail .adjustment-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.real-member-detail .adjustment-heading h3{font-size:17px;margin:0 0 6px}.real-member-detail .adjustment-heading p{font-size:12px;line-height:1.7;color:#879289;margin:0}.real-member-detail .adjustment-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;align-items:start}.real-member-detail .adjustment-grid>label,.real-member-detail .member-profile-editor label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#52645a;min-width:0;font-weight:500}.real-member-detail .adjustment-grid .wide,.real-member-detail .adjustment-grid .reason-field,.real-member-detail .adjustment-grid>label:has(.reason-chips),.real-member-detail .adjustment-grid>.management-pad{grid-column:1/-1}.real-member-detail .benefit-card>strong{position:static}.real-member-detail .card-operation .card-operation-actions{margin:20px 0 0;padding:16px 0 0;bottom:0;box-shadow:none}.real-member-detail input,.real-member-detail select{width:100%;min-width:0;min-height:44px;border:1px solid #dce5df;border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;color:#263e30;background:#fff;outline:none}.real-member-detail input:focus,.real-member-detail select:focus{border-color:#38a66f;box-shadow:0 0 0 3px #209b6014}.real-member-detail .reason-chips{display:flex;flex-wrap:wrap;gap:8px}.real-member-detail .reason-chips button{border:1px solid #e2e9e4;border-radius:7px;background:#f8faf9;padding:7px 12px;color:#78887d;font-size:12px;cursor:pointer}.real-member-detail .reason-chips button.selected{border-color:#a9d7bd;background:#edf8f1;color:#198e55}.real-member-detail .adjustment-submit{min-height:44px;padding:0 22px;margin-top:20px;font-size:14px;border-radius:9px}.real-member-detail button:disabled{opacity:.48;cursor:not-allowed}.adjustment-preview{display:flex;justify-content:space-between;padding:13px 15px;border-radius:8px;background:#f4f9f6;color:#577061;font-size:13px;margin-top:16px}.adjustment-preview b{color:#188e55}.real-member-detail .coin-card{height:auto;min-height:82px;margin:18px 0;padding:16px;border-radius:12px}.real-member-detail .coin-card h3{font-size:14px}.real-member-detail .coin-card p{font-size:11px;line-height:1.6}.real-member-detail .coin-card>strong{font-size:22px;white-space:nowrap}.real-member-detail .detail-empty{padding:36px 12px;text-align:center;font-size:13px;color:#8a978e}.real-member-detail .timeline>div{height:auto;min-height:70px;gap:12px;font-size:12px;padding:12px 0}.real-member-detail .timeline time{font-size:11px}.real-member-detail .card-management-head{gap:14px}.real-member-detail .card-management-head h3{font-size:17px}.real-member-detail .card-management-head p{font-size:12px;line-height:1.6}.real-member-detail .benefit-card{background:#fff;padding:20px}.real-member-detail .benefit-card h3{font-size:17px}.real-member-detail .benefit-card p{font-size:12px}.real-member-detail .member-profile-editor{padding:24px 28px;margin:0;background:#fff;border:0;border-bottom:1px solid #e5ece7;border-radius:0;max-height:none;overflow:visible}.real-member-detail .profile-editor-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:20px}.real-member-detail .profile-editor-heading h3{font-size:18px;margin:0 0 8px}.real-member-detail .profile-editor-heading p{font-size:12px;line-height:1.6;color:#849188;margin:0}.real-member-detail .profile-base-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.real-member-detail .profile-children{margin-top:24px}.real-member-detail .profile-children h4{font-size:14px;margin:0 0 12px}.real-member-detail .profile-child-row{display:grid;grid-template-columns:1.1fr 1.4fr .8fr .8fr;gap:12px;padding:16px;border:1px solid #e3ebe6;background:#fbfcfb;border-radius:12px;margin-bottom:12px}.real-member-detail .profile-security-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}.real-member-detail .member-profile-editor .profile-editor-actions{position:sticky;bottom:0;width:auto;margin:0;display:flex;justify-content:flex-end;gap:10px;padding:16px 0;box-shadow:none}.real-member-detail .profile-editor-actions button{min-height:44px;padding:0 22px}.real-member-detail button:focus-visible,.member-management-page button:focus-visible{outline:3px solid #75c399;outline-offset:3px}@media(max-width:1100px){.member-overview.business-stats>div{padding:18px}.member-overview strong{font-size:25px!important}}@media(max-width:600px){.member-overview.business-stats{grid-template-columns:1fr 1fr!important}.member-overview.business-stats>div{padding:16px}.member-overview em{font-size:10px}.member-list-caption{align-items:start;flex-direction:column;gap:5px}.member-directory .business-toolbar{padding:16px;align-items:stretch}.member-directory .business-toolbar .search{min-width:100%;max-width:none}.member-management-page .member-live-table{overflow:visible}.member-management-page .member-live-row.head{display:none}.member-management-page .member-live-row{min-width:0;grid-template-columns:1fr 1fr;gap:16px;padding:20px 16px}.member-identity{grid-column:1/-1}.member-management-page .member-live-row>span[data-label]{display:block!important}.member-management-page .member-live-row>span[data-label]:before{content:attr(data-label);display:block;font-size:11px;font-weight:400;color:#89978e;margin-bottom:6px}.member-ticket-cell{grid-column:1/-1;grid-row:3}.member-asset-value{font-size:23px}.member-view-button{min-height:40px;grid-column:2;grid-row:5}.real-member-detail .drawer-head{padding:16px;min-height:86px;gap:8px}.real-member-detail .drawer-head h2{font-size:19px}.real-member-detail .drawer-head p{font-size:10px;max-width:180px}.real-member-detail .large-avatar{width:38px;height:38px;font-size:18px}.real-member-detail .drawer-head>div{gap:8px}.real-member-detail .member-edit-trigger{font-size:12px;padding:0 10px;width:auto}.real-member-detail .member-edit-trigger svg{display:none}.real-member-detail .member-asset-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:16px;gap:10px}.real-member-detail .member-asset-summary>button{padding:14px}.real-member-detail .member-asset-summary svg{position:absolute;right:14px;top:14px}.real-member-detail .member-asset-summary b{font-size:25px}.member-spend-line{padding:0 16px 16px;font-size:11px}.real-member-detail .children-section{padding:16px}.real-member-detail .member-function-switch{padding:8px 12px!important}.real-member-detail .drawer-content{padding:18px 16px 32px}.real-member-detail .member-adjustment{padding:16px}.real-member-detail .adjustment-grid{gap:16px 12px}.real-member-detail .member-profile-editor{padding:20px 16px}.real-member-detail .profile-child-row{grid-template-columns:1fr 1fr;padding:12px}.real-member-detail .profile-base-grid{grid-template-columns:1fr}.real-member-detail .profile-editor-heading{flex-direction:column}.real-member-detail .coin-card>strong{font-size:18px}.real-member-detail .child-list{grid-template-columns:1fr}}.business-page{display:flex;flex-direction:column;gap:18px}.business-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.business-stats>div{padding:21px 24px;display:flex;flex-direction:column;gap:10px}.business-stats>div:not(:last-child){border-right:1px solid var(--line)}.business-stats span{font-size:13px;color:#7f847f}.business-stats strong{font-size:26px;color:#252a27}.business-stats>div:nth-child(2) strong{color:#16965a}.business-card{background:#fff;border:1px solid var(--line);border-radius:15px;min-height:510px;overflow:hidden}.business-toolbar{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.business-toolbar>div:last-child{display:flex;gap:10px}.data-table{padding:0 22px}.data-row{min-height:62px;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;border-bottom:1px solid #f0efeb;font-size:13px}.data-head{min-height:48px;color:#858a86;background:#fafaf7;margin:0 -22px;padding:0 22px}.data-row span:nth-child(2),.data-row span:nth-child(4){color:#555}.status-cell{width:max-content;color:#168f55!important;background:#e8f7ef;border-radius:20px;padding:4px 10px;font-size:12px}.pagination{height:70px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;color:#979b97;font-size:12px}.pagination div{display:flex;gap:5px}.pagination button{height:32px;border:1px solid #e1e1dc;background:#fff;border-radius:7px;color:#999}.pagination button.current{width:32px;background:#e8f7ef;color:#168f55;border-color:#ccebd9}.pagination button:disabled{cursor:default;opacity:.6}.order-row-button{width:100%;border:0;border-top:1px solid #f0efeb;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}.order-row-button:hover{background:#f7fbf8}.order-detail-list{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.order-detail-list>div{display:grid;grid-template-columns:105px 1fr;gap:16px;padding:13px 15px;border-top:1px solid var(--line)}.order-detail-list>div:first-child{border-top:0}.order-detail-list span{color:var(--muted);font-size:13px}.order-detail-list b{font-size:13px;word-break:break-all}.order-audit{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.order-audit h3{font-size:14px;margin:0 0 10px}.order-audit>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:9px 0;border-top:1px solid #f1f1ed;font-size:12px}.order-audit>div small{grid-column:1/-1;color:var(--muted)}.order-audit>p{font-size:12px;color:var(--muted)}.danger-action{color:#c8483a;background:#fff0ed}.refund-check{display:flex!important;align-items:center;gap:9px}.refund-check input{width:18px!important;height:18px!important;margin:0!important}.admission-live-table{padding:0 22px 22px}.admission-row{display:grid;grid-template-columns:90px 1.1fr 1.2fr 110px 90px 1fr;gap:14px;align-items:center;min-height:58px;border-top:1px solid var(--line);font-size:13px}.admission-row.head{min-height:44px;color:var(--muted);font-size:12px;border-top:0;background:#fafaf7;padding:0 10px}.admission-row>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.admission-row small{color:var(--muted)}.danger-text{color:#c8483a}.coin-live-table,.expense-live-table{padding:0 22px 22px}.coin-row,.expense-live-row{display:grid;gap:12px;align-items:center;min-height:58px;border-top:1px solid var(--line);font-size:13px}.coin-row{grid-template-columns:80px 100px 1fr 90px 150px 100px 80px}.expense-live-row{grid-template-columns:100px 110px 1.3fr 100px 200px 100px 80px}.coin-row.head,.expense-live-row.head{min-height:44px;color:var(--muted);font-size:12px;border-top:0;background:#fafaf7;padding:0 10px}.member-coin-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:20px}.member-coin-members,.member-coin-work{border:1px solid #e8ece9;border-radius:16px;overflow:hidden}.member-coin-row{width:100%;display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:12px;align-items:center;padding:14px 16px;border:0;border-bottom:1px solid #edf0ee;background:#fff;text-align:left;color:#253029}.member-coin-row.head{background:#f7f9f7;font-size:13px;color:#6c776f}.member-coin-row:not(.head){cursor:pointer}.member-coin-row:not(.head):hover,.member-coin-row.selected{background:#f0f8f2}.member-coin-row span:first-child{display:flex;flex-direction:column}.member-coin-row small{color:#8a938d}.member-coin-row strong{color:#278348;font-size:17px}.member-coin-work{padding:20px}.coin-account-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:16px;border-bottom:1px solid #edf0ee}.coin-account-head div{display:flex;flex-direction:column;gap:4px}.coin-account-head span{color:#768078;font-size:13px}.coin-account-head strong{font-size:28px;color:#278348}.coin-change-form{display:grid;gap:13px;padding:18px 0;border-bottom:1px solid #edf0ee}.coin-change-form label{display:grid;gap:6px;font-size:13px;color:#566159}.coin-change-form input{padding:11px;border:1px solid #dfe5e0;border-radius:10px}.coin-mode{display:grid;grid-template-columns:1fr 1fr;background:#f1f4f2;padding:4px;border-radius:11px}.coin-mode button{border:0;padding:9px;border-radius:8px;background:transparent}.coin-mode button.active{background:#fff;color:#278348;box-shadow:0 1px 5px #00000012}.coin-ledger{padding-top:16px}.coin-ledger h3{margin:0 0 10px}.coin-ledger-row{display:grid;grid-template-columns:1.2fr .55fr .65fr .65fr auto;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0ee;font-size:12px}.coin-ledger-row small{grid-column:1/5;color:#737d75}.coin-ledger-row b.in{color:#278348}.coin-ledger-row b.out{color:#bd4d3d}.coin-ledger-row button{border:0;background:none;color:#bd4d3d;cursor:pointer}.coin-ledger-row i{font-style:normal;color:#89918c}.coin-select-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8a938d}.coin-select-empty b{color:#485249}@media(max-width:900px){.member-coin-layout{grid-template-columns:1fr}.coin-ledger-row{grid-template-columns:1fr 1fr}.coin-ledger-row small{grid-column:1/3}}.member-detail-trigger{border:0;width:100%;text-align:left;cursor:pointer}.member-detail-trigger:hover{background:#f5faf6}.real-member-detail .drawer-content{min-height:280px}.real-member-detail .timeline>div span{display:flex;flex-direction:column}.real-member-detail .timeline small{color:#89918b;font-weight:400}.detail-empty,.drawer-loading{padding:40px 20px;text-align:center;color:#89918b}.drawer-loading{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.order-query{display:flex;flex-direction:column;gap:16px}.order-date-bar{display:flex;align-items:center}.order-date-bar input[type=date]{height:36px;margin-left:10px;padding:0 12px;border:1px solid #e2e1dc;border-radius:9px;background:#fff;color:#3c423e;font-size:13px}.order-query-row{display:grid;grid-template-columns:84px 190px 78px minmax(0,1fr) 74px 82px 98px 74px;gap:10px;align-items:center;font-size:13px;padding:0 4px}.order-query-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-query-row .order-no{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;letter-spacing:-.2px}.order-query-row.head{min-height:44px;color:#858a86;font-size:12px;background:#fafaf7;margin:0 -22px;padding:0 22px;border-top:0}.order-query-row:not(.head){width:100%;min-height:58px;border:0;border-top:1px solid #f0efeb;background:#fff;text-align:left;color:inherit;font:inherit;cursor:pointer}.order-query-row:not(.head):hover{background:#f7fbf8}.order-query-row .muted{color:#979b97}.order-query-empty{padding:34px 0;text-align:center;color:#979b97;font-size:13px}.order-section-title{margin:16px 0 8px;font-size:13px;color:#858a86}.order-items{border:1px solid var(--line);border-radius:12px;overflow:hidden}.order-items>div{display:grid;grid-template-columns:1fr 92px 62px 104px;gap:10px;padding:11px 15px;border-top:1px solid var(--line);font-size:13px}.order-items>div:first-child{border-top:0;background:#fafaf7;color:#858a86;font-size:12px}.order-items>div>span:not(:first-child){text-align:right}.order-flow{border:1px solid var(--line);border-radius:12px;overflow:hidden}.order-flow+.order-flow{margin-top:10px}.order-flow>div{display:grid;grid-template-columns:118px 1fr;gap:16px;padding:12px 15px;border-top:1px solid var(--line);font-size:13px}.order-flow>div:first-child{border-top:0}.order-flow span{color:var(--muted)}.order-flow b{word-break:break-all;font-weight:500}.order-flow .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.order-query-note{margin-bottom:14px;padding:11px 14px;border-radius:10px;background:#eef7f1;color:#1c7a4a;font-size:13px}.order-refunds{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.order-refunds h3{font-size:13px;margin:0 0 8px;color:#858a86}.order-refunds>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:8px 0;border-top:1px solid #f1f1ed;font-size:12px}.order-refunds>div small{grid-column:1/-1;color:var(--muted)}@media(max-width:1100px){.order-query-row{grid-template-columns:72px 160px 62px minmax(0,1fr) 66px 74px 88px 64px;font-size:12px}.order-query-row .order-no{font-size:11px}}.store-head-actions{display:flex;align-items:center;gap:10px}.store-edit-button{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;border:1px solid #b8dcc7;border-radius:10px;background:#f4fbf7;color:#168f55;font-weight:700}.store-edit-button svg{width:17px}.store-save-notice{padding:13px 16px;border:1px solid #bfe4cf;border-radius:12px;background:#edf9f2;color:#167747;font-weight:700}.store-edit-modal{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}.store-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.store-edit-form label{display:flex;flex-direction:column;gap:7px;color:#555d57;font-size:13px;font-weight:700}.store-edit-form .wide{grid-column:1/-1}.store-edit-form input,.store-edit-form select,.store-edit-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d9ddd9;border-radius:10px;background:#fff;color:#222;font:inherit;box-sizing:border-box}.store-edit-form textarea{min-height:78px;resize:vertical}.store-edit-form input:focus,.store-edit-form select:focus,.store-edit-form textarea:focus{outline:3px solid rgba(31,166,94,.12);border-color:#53aa79}.store-edit-modal .payment-warning{margin:14px 0 0}.store-edit-modal .modal-actions{position:sticky;bottom:0;margin-top:18px;padding-top:12px;background:#fff}.store-detail-head>div:first-child{min-width:0}.store-detail-head h2,.store-detail-head p{overflow-wrap:anywhere}@media(max-width:720px){.store-detail{min-height:auto}.store-detail-head{align-items:flex-start;padding:18px;gap:14px}.store-head-actions{flex-direction:column;align-items:flex-end}.store-edit-button{min-height:44px}.store-kpis{grid-template-columns:repeat(2,1fr);padding:12px}.store-kpis div{padding:12px;border-bottom:1px solid var(--line)}.store-kpis div:nth-child(2n){border-right:0}.store-kpis strong{font-size:21px}.store-edit-form{grid-template-columns:1fr}.store-edit-form .wide{grid-column:auto}.store-edit-modal{max-height:calc(100dvh - 18px)}.store-edit-modal .modal-actions{padding-bottom:max(4px,env(safe-area-inset-bottom))}}@media(min-width:721px)and (max-width:1100px){.store-kpis{grid-template-columns:repeat(3,1fr)}.store-kpis div:nth-child(3n){border-right:0}}.store-hours-summary{margin-top:6px!important;color:#168f55!important;font-weight:700}.business-hours-fieldset{margin:0;padding:14px;border:1px solid #d9ddd9;border-radius:12px}.business-hours-fieldset legend{padding:0 6px;color:#333;font-size:14px;font-weight:800}.business-hours-switch{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important;min-height:44px}.business-hours-switch input{width:20px!important;min-height:20px!important;margin:0;accent-color:#168f55}.business-hours-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.business-hours-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:12px}.business-hours-weekdays button{min-height:42px;padding:6px;border:1px solid #d7ddd9;border-radius:9px;background:#fff;color:#4e5751;font-weight:700}.business-hours-weekdays button.selected{border-color:#168f55;background:#eaf7ef;color:#117844}.business-hours-help{margin:10px 0 0;color:#6a726d;font-size:12px;line-height:1.65}@media(max-width:720px){.business-hours-times{grid-template-columns:1fr}.business-hours-weekdays{grid-template-columns:repeat(4,1fr)}}.product-group-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 0;padding:11px 15px;background:#f6faf7;border:1px solid #e6efe9;border-left:3px solid #35a56f;border-radius:0 12px 12px 0}.product-group-bar.is-sorting{background:#eef7f1;border-color:#cfe8d9;border-left-color:#1fa563}.product-group-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;min-width:0}.product-group-name h3{font-size:16px;color:#253129;margin:0}.product-group-name span{font-size:12px;color:#5d6b62;background:#eaf1ec;border-radius:20px;padding:4px 10px;white-space:nowrap}.product-group-name p{flex:1 1 100%;font-size:12px;color:#929a94;margin:2px 0 0}.product-sort-button{flex:0 0 auto;height:34px;padding:0 13px;border:1px solid #d8e2db;border-radius:9px;background:#fff;color:#2f6e4c;font-size:12px;font-weight:700;display:flex;align-items:center;gap:5px;cursor:pointer}.product-sort-button:hover:not(:disabled){border-color:#45ad75;background:#f1faf5}.product-sort-button.done{border-color:#1fa563;background:#1fa563;color:#fff}.product-sort-button:disabled{opacity:.42;cursor:not-allowed}.product-sort-button svg{font-size:17px}.product-table .data-row.sortable{cursor:grab;background:#fff}.product-table .data-row.sortable:hover{background:#f7fbf8}.product-table .data-row.sortable>span:first-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.product-table .data-row.dragging{opacity:.45;background:#eef7f1}.product-drag-handle{display:inline-flex;align-items:center;color:#2f6e4c;font-size:18px;line-height:1}.product-sort-hint{color:#2f6e4c;white-space:nowrap}.product-page-note{margin:14px 22px 0;padding:11px 14px;border-radius:10px;font-size:13px}.product-page-note.ok{background:#eef7f1;color:#1c7a4a}.product-page-note.bad{background:#fdeceb;color:#b3372c}@media(max-width:900px){.product-group-bar{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;border-radius:12px}.product-sort-button{width:100%;justify-content:center}.product-page-note{margin:12px 14px 0}}.schedule-editor{display:flex;flex-direction:column;gap:10px}.schedule-editor>label{font-size:12px;font-weight:600}.weekday-buttons{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday-buttons button{height:38px;border:1px solid #dedfdb;border-radius:9px;background:#fff;color:#656a66}.weekday-buttons button.selected{border-color:#28aa68;background:#eaf8f0;color:#168f55;font-weight:700}.cashier-page{display:grid;grid-template-columns:minmax(720px,1fr) 390px;gap:18px;align-items:start;min-height:calc(100vh - 190px)}.cashier-checkout{background:#fff;border:1px solid #e4e9e5;border-radius:18px;box-shadow:0 8px 28px #1f412e0d}.cashier-menu{min-height:660px}.cashier-toolbar{min-height:76px;padding:0 0 17px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e5eae6}.cashier-toolbar h2{font-size:20px;margin:0;color:#26332b}.cashier-toolbar p{font-size:12px;color:#8b958e;margin:5px 0 0}.cashier-toolbar .search{width:min(430px,48%);height:48px;border:1px solid #dce3dd;background:#f8faf8;border-radius:12px;display:flex;align-items:center;padding:0 14px;color:#91a097;transition:.18s}.cashier-toolbar .search:focus-within{border-color:#34aa70;background:#fff;box-shadow:0 0 0 3px #1fa6621a}.cashier-toolbar .search input{border:0;background:transparent;outline:0;flex:1;min-width:0;padding:0 10px;font-size:14px}.cashier-toolbar .search svg{font-size:20px}.cashier-products-wrap{padding:20px 0 0;min-width:0}.cashier-product-sections{display:flex;flex-direction:column;gap:30px}.cashier-product-section{padding:0 0 28px;border-bottom:1px solid #e5eae6}.cashier-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.cashier-section-title h3{font-size:19px;color:#253129;margin:0}.cashier-section-title p{font-size:12px;color:#929a94;margin:5px 0 0}.cashier-section-title>span{font-size:12px;color:#7d8981;background:#eef3f0;border-radius:20px;padding:5px 10px}.cashier-section-empty{height:76px;border:1px dashed #d8dfda;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#9aa29c;font-size:12px;background:#ffffff73}.cashier-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;align-content:start}.cashier-product-grid>button{min-height:178px;padding:17px;border:1px solid #dfe6e0;border-radius:16px;background:#fff;text-align:left;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s}.cashier-product-grid>button:hover{transform:translateY(-2px);border-color:#70c69b;box-shadow:0 9px 22px #1e854f1a}.cashier-product-grid>button.selected{border:2px solid #1da563;background:#f0faf5;box-shadow:0 8px 20px #1da5631f;padding:16px}.cashier-product-grid>button>svg{position:absolute;right:13px;top:13px;font-size:23px;color:#1da563}.cashier-product-grid span{font-size:11px;font-weight:700;color:#178f58;background:#e9f7ef;border-radius:20px;padding:5px 10px;align-self:flex-start}.cashier-product-grid b{font-size:17px;line-height:1.35;color:#263129;margin:14px 0 7px;word-break:break-word}.cashier-product-grid small{font-size:12px;line-height:1.5;color:#8b958e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cashier-product-grid strong{font-size:25px;line-height:1;color:#ed654f;margin-top:auto;padding-top:14px}.cashier-product-grid strong i{font-size:14px;font-style:normal;margin-right:2px}.cashier-recent{margin-top:22px;border-top:1px solid #edf0ed;padding-top:14px}.cashier-recent summary{font-size:13px;font-weight:700;color:#637068;cursor:pointer}.cashier-recent>button{width:100%;display:grid;grid-template-columns:62px 1fr 78px;gap:10px;padding:10px 0;border:0;border-bottom:1px solid #f0f2ef;background:none;text-align:left;font-size:12px;cursor:pointer}.cashier-recent>button:hover{color:#168f55}.cashier-recent em{text-align:right;font-style:normal}.cashier-checkout{padding:18px;position:sticky;top:16px;min-height:0}.checkout-title{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid #edf0ed}.checkout-title>svg{font-size:26px;color:#1a9d5e}.checkout-title h2{font-size:19px;margin:0}.checkout-title>span{margin-left:auto;padding:5px 10px;border-radius:999px;background:#eef8f2;color:#168f55;font-size:12px;font-weight:700}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin:12px 0 7px}.section-label button{border:0;background:none;color:#16965a;font-size:12px;cursor:pointer}.member-search{display:grid;grid-template-columns:1fr auto auto;gap:7px}.member-search input{min-width:0;height:46px;border:1px solid #dce2dd;border-radius:10px;padding:0 11px;font-size:13px}.member-search button{height:46px;border:1px solid #d8ded9;background:#fff;border-radius:10px;padding:0 11px;font-size:12px;display:flex;align-items:center;gap:5px;cursor:pointer}.member-search button:last-child{background:#edf8f2;border-color:#a9d9bf;color:#168f55}.cashier-member-results{border:1px solid #dfe5e0;border-radius:11px;margin-top:8px;overflow:hidden}.cashier-member-results button{width:100%;display:flex;flex-direction:column;text-align:left;border:0;border-bottom:1px solid #edf0ed;background:#fff;padding:10px 12px;cursor:pointer}.cashier-member-results button:hover{background:#f2faf6}.cashier-member-results small,.guest-hint{font-size:11px;color:#8b938d;margin-top:3px}.guest-hint{padding:9px 1px 0}.selected-member{display:grid;grid-template-columns:34px 1fr 24px;align-items:center;border:1px solid #4db67d;background:#f1faf5;border-radius:12px;padding:13px;color:#168f55}.selected-member span{display:flex;flex-direction:column;color:#343a35}.selected-member small{font-size:11px;color:#78847c;margin-top:4px}.selected-product{margin-top:12px;border:1px solid #8bcdaa;background:#f3fbf6;border-radius:12px;padding:12px 42px 12px 13px;position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px}.selected-product>button{position:absolute;right:8px;top:8px;width:32px;height:32px;border:0;border-radius:8px;background:#fff;cursor:pointer}.selected-product>span{font-size:10px;color:#168f55}.selected-product h3{font-size:15px;margin:0;grid-column:1}.selected-product>strong{font-size:23px;color:#ed654f;grid-column:2;grid-row:1/3}.selected-product label{grid-column:1/3;display:flex;align-items:center;gap:7px;font-size:12px}.selected-product input{width:62px;height:34px;border:1px solid #d9dfda;border-radius:8px;padding:0 7px}.checkout-empty{min-height:86px;margin-top:12px;border:1px dashed #cfd8d1;border-radius:12px;background:#fafbfa;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#98a19a}.checkout-empty svg{display:none}.checkout-empty b{font-size:13px;margin:0 0 3px}.checkout-empty small{font-size:10px}.cashier-pay-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cashier-pay-methods button{height:48px;border:1px solid #dce1dd;border-radius:11px;background:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.cashier-pay-methods button.selected{border:2px solid #24a765;background:#eef9f3;color:#168f55;font-weight:700}.cashier-payment-footer{position:sticky;bottom:0;z-index:4;margin:12px -4px -4px;padding:10px 4px 4px;background:linear-gradient(to bottom,#ffffffe6,#fff 18px)}.cashier-total{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px}.cashier-total span{font-size:13px;font-weight:700}.cashier-total b{font-size:30px;color:#ed654f}.cashier-submit{width:100%;height:54px;border:0;border-radius:12px;background:#20a762;color:#fff;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 7px 16px #20a76233}.cashier-submit:disabled{background:#cfd6d1;box-shadow:none;cursor:not-allowed}.cashier-notice{margin-top:11px;padding:10px 12px;border-radius:9px;background:#eef9f3;color:#168f55;font-size:12px}.cashier-alipay{margin-top:17px;text-align:center;border:2px dashed #1677ff;border-radius:13px;padding:21px;background:#f5f8ff}.cashier-alipay>svg{font-size:38px;color:#1677ff}.cashier-alipay h3{font-size:15px}.cashier-alipay p{font-size:12px}.cashier-alipay button{height:40px;border:0;border-radius:9px;background:#1677ff;color:#fff;padding:0 17px}.cashier-alipay.succeeded{border-color:#20a762;background:#effaf4}.cashier-alipay.succeeded>svg{color:#20a762}@media(max-width:1500px){.cashier-page{grid-template-columns:minmax(560px,1fr) 340px}.cashier-product-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}.cashier-checkout{padding:18px}.member-search button{padding:0 9px}}@media(max-width:1000px){.cashier-page{grid-template-columns:1fr}.cashier-checkout{position:static}.cashier-menu{min-height:auto}}@media(max-width:720px){.cashier-toolbar{height:auto;padding:0 0 16px;align-items:stretch;flex-direction:column}.cashier-toolbar .search{width:100%;box-sizing:border-box}.cashier-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cashier-products-wrap{padding-top:15px}.cashier-product-sections{gap:22px}.cashier-product-section{padding-bottom:21px}.cashier-product-grid>button{min-height:160px;padding:13px}.cashier-product-grid>button.selected{padding:12px}}.cashier-customer-workspace{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cashier-customer-workspace .member-search{order:3;grid-column:1/-1;grid-template-columns:1fr auto}.cashier-member-results{order:4;grid-column:1/-1}.member-code-entry{order:1}.quick-member-toggle{order:2}.member-code-entry,.quick-member-toggle{min-height:44px!important;margin:0!important;padding:7px 10px!important;border:1px solid #d9e8df!important;border-radius:10px!important;background:#f6fbf8!important;color:#25342c;display:flex!important;align-items:center;gap:7px;cursor:pointer;text-align:left}.member-code-entry>b,.quick-member-toggle b{font-size:12px}.member-code-entry>svg:last-child,.quick-member-toggle>svg{margin-left:auto;color:#8b958e}.quick-member-toggle>span:first-child{width:28px;height:28px;border-radius:8px;background:#dff3e8;color:#168f55;display:grid;place-items:center}.quick-member-toggle>span:nth-child(2){display:flex;flex-direction:column}.quick-member-toggle.active{border-color:#67bf91!important;background:#eef9f3!important}.quick-member-toggle.active>svg{transform:rotate(90deg)}.inline-member-form{padding:13px;border:1px solid #dfe7e1;border-radius:12px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-member-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#59645d}.inline-member-form label:nth-child(2){grid-column:1/3}.inline-member-form input{height:40px;border:1px solid #dce2dd;border-radius:9px;padding:0 10px;font-size:12px;outline:0}.inline-member-form input:focus{border-color:#36aa70;box-shadow:0 0 0 3px #1fa66217}.inline-member-submit{grid-column:1/3;height:43px;border:0;border-radius:9px;background:#1fa563;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.inline-member-submit:disabled{background:#cfd7d2;cursor:not-allowed}.cashier-sort-button{height:36px;padding:0 13px;border:1px solid #d8e2db;border-radius:9px;background:#fff;color:#2f6e4c;font-size:12px;font-weight:700;display:flex;align-items:center;gap:5px;cursor:pointer}.cashier-sort-button:hover:not(:disabled){border-color:#45ad75;background:#f1faf5}.cashier-sort-button.done{border-color:#1fa563;background:#1fa563;color:#fff}.cashier-sort-button:disabled{opacity:.42;cursor:not-allowed}.cashier-sort-button svg{font-size:17px}.cashier-product-section.is-sorting{border:1px solid #b9ddc8;border-radius:16px;padding:18px;margin:0 -18px 12px;background:#fbfefc}.cashier-product-grid>button.sortable{cursor:grab;border-style:dashed;padding-top:48px;-webkit-user-select:none;user-select:none}.cashier-product-grid>button.sortable:active{cursor:grabbing}.cashier-product-grid>button.dragging{opacity:.42;transform:scale(.97);border-color:#1fa563}.cashier-product-grid .product-drag-handle{position:absolute;left:12px;right:12px;top:10px;height:28px;padding:0 8px;border-radius:8px;background:#e8f7ef;color:#168f55;display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:700}.cashier-product-grid .product-drag-handle svg{position:static;font-size:18px;color:inherit}.cashier-product-sections{gap:20px}.cashier-product-section{padding-bottom:20px}.cashier-product-section.is-compact .cashier-section-title{margin-bottom:9px}.cashier-product-section.is-compact .cashier-product-grid{grid-template-columns:repeat(auto-fit,212px)}.cashier-product-section.is-compact .cashier-product-grid>button{min-height:142px;padding:14px}.cashier-product-section.is-compact .cashier-product-grid>button.selected{padding:13px}.cashier-product-section.is-compact .cashier-product-grid b{margin:10px 0 5px}.cashier-product-section.is-compact .cashier-product-grid strong{padding-top:10px}.inline-member-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#141c187a;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.inline-member-backdrop .inline-member-form{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 70px #0000003d;display:grid;grid-template-columns:1fr 1fr;gap:16px}.inline-member-backdrop .inline-member-form h3{grid-column:1/-1;margin:0;font-size:20px}.inline-member-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#f3f5f3;display:grid;place-items:center}.inline-member-close svg{width:20px;height:20px}.inline-member-backdrop .inline-member-submit{grid-column:1/-1;min-height:48px;position:sticky;bottom:0}@media(min-width:840px)and (max-width:1400px)and (orientation:landscape){.cashier-layout{grid-template-columns:minmax(0,1fr) minmax(340px,390px)}.cashier-checkout{box-sizing:border-box;max-height:calc(100dvh - 104px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(16px,env(safe-area-inset-bottom));scrollbar-gutter:stable}}@media(max-width:680px){.inline-member-backdrop .inline-member-form{grid-template-columns:1fr;padding:20px 16px}.inline-member-backdrop .inline-member-form h3,.inline-member-backdrop .inline-member-submit{grid-column:auto}}.cashier-pay-methods button.unverified{border-style:dashed}.pay-method-flag{margin-left:1px;color:#c8821a;font-size:11px;font-weight:800;line-height:1}.cashier-pay-warning{display:block;margin:0 0 12px;padding:9px 11px;border:1px solid #f0c775;border-radius:10px;background:#fff8e6;color:#8a5a09;font-size:12px;line-height:1.6}.cashier-pay-warning.confirmed{border-color:#b8ddc6;border-style:dashed;background:#f4fbf6;color:#2c6b45}.cashier-submit.manual-confirm{background:#c8821a;box-shadow:0 7px 16px #c8821a38}.member-code-entry{box-sizing:border-box;width:100%}.member-code-entry b{font-size:12px;color:#1c2a1d}.member-code-modal{background:#fff;border-radius:18px;padding:22px 22px 16px;width:min(560px,92vw);box-shadow:0 24px 60px #00000047}.member-code-input{display:flex;gap:10px;margin:14px 0 6px}.member-code-input input{flex:1;min-height:46px;box-sizing:border-box;padding:10px 14px;border:2px solid #dbe4d6;border-radius:12px;font-size:16px;letter-spacing:.5px}.member-code-input input:focus{outline:none;border-color:#16834b}.member-code-input button{min-width:112px;border-radius:12px}.member-code-error{margin-top:8px;color:#b42318;font-size:13px}.member-code-hint{margin-top:8px;color:#7d8a78;font-size:12px;line-height:1.6}.holiday-toggle{display:flex;flex-direction:column;gap:6px}.holiday-toggle>button{height:38px;border:1px solid #dedfdb;border-radius:9px;background:#fff;color:#656a66;font-size:12px}.holiday-toggle>button.selected{border-color:#28aa68;background:#eaf8f0;color:#168f55;font-weight:700}.holiday-toggle>button:disabled{opacity:.55;cursor:not-allowed}.holiday-toggle>small{font-size:11px;color:#949894;line-height:1.6}.cashier-alipay.unknown,.cashier-alipay.failed{border-color:#d9363e;background:#fff4f4}.cashier-alipay.unknown>svg,.cashier-alipay.failed>svg{color:#d9363e}.cashier-alipay.processing,.cashier-alipay.waiting_buyer,.cashier-alipay.querying{border-color:#e0951a;background:#fffaf0}.cashier-alipay.processing>svg,.cashier-alipay.waiting_buyer>svg,.cashier-alipay.querying>svg{color:#e0951a}.cashier-alipay .pay-status-amount{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:6px}.cashier-alipay .pay-status-amount>b{font-size:26px;color:#1f2420}.cashier-alipay .pay-status-amount>span{font-size:12px;color:#7a857d}.cashier-alipay .pay-status-order{display:block;margin-top:2px;font-size:11px;color:#949894}.cashier-alipay .pay-paid-flag{margin-top:8px;font-size:13px;font-weight:700;color:#168f55}.cashier-alipay .pay-unpaid-flag{margin-top:8px;padding:7px 10px;border-radius:8px;background:#fdeaea;color:#b4231f;font-size:13px;font-weight:700}.cashier-alipay .pay-sound-tests{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.cashier-alipay .pay-sound-test{height:32px;background:transparent;border:1px solid #c9d4cd;color:#656a66;font-size:12px;display:inline-flex;align-items:center;gap:5px}.point-gifts-card{min-height:0}.gift-admin-list{padding:8px 24px}.gift-admin-row{min-height:64px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.4fr;align-items:center;gap:12px;border-bottom:1px solid #efefeb;font-size:12px}.gift-admin-row.head{min-height:44px;color:#8b918c;font-weight:600}.gift-admin-row>span:first-child{display:flex;align-items:center;gap:9px}.gift-admin-row>span:first-child>svg{font-size:22px;color:#1da561}.gift-admin-row>span:last-child{display:flex;gap:10px}.gift-admin-row.record{grid-template-columns:1.5fr 1fr 1.4fr 1fr 1fr}.gift-records{border-top:1px solid var(--line);padding-top:10px}.gift-records h3{margin:14px 24px 4px;font-size:15px}.gift-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gift-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}.gift-form input,.gift-form select{height:42px;border:1px solid #dce3de;border-radius:8px;padding:0 10px;background:#fff}.gift-form small{display:flex;align-items:center;gap:6px;font-weight:400}.gift-form small input{width:16px;height:16px}.gift-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px}.gift-editor-content{padding:28px 24px;max-width:760px}.gift-rule-hint{font-size:13px;color:#68756a;margin:24px 0}.gift-editor-actions{display:flex;justify-content:flex-end;gap:12px}.gift-editor-actions button{min-width:110px}.gift-editor-page{min-height:520px}@media(max-width:640px){.gift-form{grid-template-columns:1fr}.gift-admin-row{grid-template-columns:1.5fr .8fr .7fr .8fr 1.2fr;gap:4px}.gift-admin-list{padding:8px}.gift-editor-content{padding:22px 16px}}.gift-admin-row.record>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:4px;word-break:break-all}.gift-admin-row.record>span:first-child small{color:#929b93}.group-purchase-page{display:flex;flex-direction:column;gap:16px}.group-platform-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.group-platform-card{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;gap:0 15px;padding:18px 20px;border:2px solid #e6ebe8;border-radius:16px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.group-platform-card:hover{border-color:#c9d4cd}.group-platform-card.active{border-color:#54ae7c;background:#f7fcf9;box-shadow:0 6px 18px #1fa65e1a}.group-platform-card.meituan.active{border-color:#eaa755;background:#fffaf3;box-shadow:0 6px 18px #d978241a}.group-platform-icon{grid-row:span 2;align-self:start;width:54px;height:54px;border-radius:15px;background:#eaf7f0;color:#178f55;display:grid;place-items:center}.group-platform-icon svg{width:27px;height:27px}.group-platform-card.meituan .group-platform-icon{background:#fff4e7;color:#d97824}.group-platform-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.group-platform-copy small{color:#98a09a;font-size:11px;font-weight:700;letter-spacing:.04em}.group-platform-copy b{font-size:19px;color:#2f3632}.group-platform-copy em{color:#858e88;font-size:12px;font-style:normal;line-height:1.5}.group-platform-foot{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px;color:#98a09a;font-size:11.5px}.group-platform-foot .dot{width:6px;height:6px;border-radius:50%;background:#25a468}.group-platform-foot .dot.off{background:#cbd1cc}.group-platform-foot .dot.warn{background:#e0a235}.group-platform-foot>em{padding:2px 8px;border-radius:11px;background:#f1f5f3;color:#6d766f;font-size:11px;font-style:normal;font-weight:700}.group-purchase-layout{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(330px,1fr);gap:16px;align-items:start}.group-redeem-card{padding:26px}.group-title{display:flex;align-items:center;gap:13px}.group-title>span{width:48px;height:48px;border-radius:13px;background:#eaf7f0;color:#178f55;display:grid;place-items:center}.group-title svg{width:25px}.group-partner-card .group-title>span{background:#fff4e7;color:#d97824}.group-title h2{margin:0;font-size:19px}.group-title p{margin:5px 0 0;color:#858e88;font-size:12px}.group-warning{display:flex;gap:10px;margin:20px 0 0;padding:14px;border:1px solid #efdba9;border-radius:11px;background:#fffaf0;color:#765d25}.group-warning>svg{flex:0 0 21px;margin-top:2px}.group-warning span{display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.55}.group-form{display:grid;gap:12px;margin-top:22px}.group-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#5c665f}.group-form input{width:100%;height:58px;padding:0 14px;border:1px solid #d9dfdb;border-radius:11px;background:#fff;box-sizing:border-box;font:inherit;font-size:17px;letter-spacing:.03em}.group-form input::placeholder{color:#b6bdb8;font-size:14px;letter-spacing:0}.group-form input:focus{outline:3px solid rgba(31,166,94,.14);border-color:#54ae7c}.group-form input:disabled{background:#f7f9f8;color:#8f9791}.group-submit{width:100%;height:56px;margin-top:16px;font-size:17px;font-weight:700;letter-spacing:.02em}.group-launch{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:92px;margin-top:22px;padding:0 26px;border:0;border-radius:14px;font-size:21px;font-weight:800;letter-spacing:.02em}.group-launch>span{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}.group-launch em{font-size:12px;font-weight:600;font-style:normal;opacity:.78;line-height:1.5}.group-launch>svg{flex:0 0 32px;width:32px;height:32px}.group-partner-notes{margin:16px 0 0;padding-left:18px;color:#87908a;font-size:12px;line-height:1.85}.group-partner-notes b{color:#5c665f}.group-manual-title{display:flex;align-items:baseline;gap:8px;margin:24px 0 12px;color:#5c665f;font-size:13px;font-weight:700}.group-manual-title small{color:#98a09a;font-size:11px;font-weight:500}.group-receipt{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:12px;border-radius:10px;background:#edf8f2;color:#176f47}.group-receipt svg{flex:0 0 21px}.group-receipt span{display:flex;flex-direction:column;gap:3px;font-size:12px}.group-history{overflow:hidden}.group-manual{display:grid;grid-template-columns:1fr 96px;gap:10px}.group-manual label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#5c665f}.group-manual .wide{grid-column:1/-1}.group-manual input,.group-manual select{min-height:44px;padding:0 12px;border:1px solid #d9dfdb;border-radius:9px;background:#fff;box-sizing:border-box;font:inherit}.group-manual button{min-height:44px;align-self:end}.group-record-list article{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:15px 20px;border-top:1px solid #edf0ee}.group-platform-mark{width:38px;height:38px;border-radius:10px;background:#f0f5f2;color:#25875a;display:grid;place-items:center;font-weight:800}.group-record-list article>div{display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}.group-record-list article>div>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-record-list small,.group-record-list em{color:#87908a;font-size:11px;font-style:normal}.group-record-list article>i{padding:5px 9px;border-radius:15px;background:#fff5de;color:#9e7219;font-size:11px;font-style:normal;font-weight:700}.group-confirm-box{margin-top:18px;padding:20px;border:2px solid #bfe0cd;border-radius:12px;background:#f4fbf7}.group-confirm-head{display:flex;align-items:flex-start;gap:10px;color:#176f47}.group-confirm-head>svg{flex:0 0 20px;margin-top:2px}.group-confirm-head span{display:flex;flex-direction:column;gap:3px;font-size:13px}.group-confirm-head b{font-size:17px}.group-confirm-countdown{display:inline-flex;align-items:center;margin-left:auto;padding:4px 11px;border:1px solid #bfe0cd;border-radius:14px;background:#fff;color:#176f47;font-style:normal;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.group-confirm-countdown.urgent{border-color:#e8b3ae;color:#c0392b;background:#fdf3f2;animation:group-confirm-pulse 1.5s ease-in-out infinite}.group-confirm-actions{display:grid;grid-template-columns:1.7fr 1fr;gap:12px;margin-top:16px}.group-confirm-actions .primary{min-height:72px;font-size:21px;font-weight:800;letter-spacing:.06em;animation:group-confirm-pulse 1.5s ease-in-out infinite}.group-confirm-actions .primary:disabled{animation:none;opacity:.7}.group-confirm-actions .ghost{min-height:72px;font-size:13.5px}@keyframes group-confirm-pulse{0%,to{box-shadow:0 0 #1fa65e6b}70%{box-shadow:0 0 0 14px #1fa65e00}}.group-prepared-hint{color:#9e7219;font-weight:700}.group-cert-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.group-cert-list article{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #dfeae4}.group-cert-list svg{width:20px;color:#25875a}.group-cert-list div{display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}.group-cert-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-cert-list small{color:#87908a;font-size:11px}.group-quantity{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:13px;font-weight:700}.group-quantity select{min-height:42px;padding:0 12px;border:1px solid #d9dfdb;border-radius:10px;background:#fff;font:inherit}.group-hint{margin:10px 0 0;color:#87908a;font-size:11px;line-height:1.6}.group-scan-waiting{display:flex;gap:13px;align-items:center;margin:20px 0 0;padding:16px 18px;border:1.5px dashed #bfe0cd;border-radius:13px;background:#f4fbf7;color:#176f47}.group-scan-waiting>svg{flex:0 0 27px;width:27px;height:27px}.group-scan-waiting.busy{border-style:solid;border-color:#a8d4be;background:#eaf7f0}.group-scan-waiting.busy>svg{animation:group-scan-pulse 1.1s ease-in-out infinite}.group-scan-waiting div{display:flex;flex-direction:column;gap:4px;min-width:0}.group-scan-waiting b{font-size:16.5px;letter-spacing:.01em}.group-scan-waiting small{color:#5c8a72;font-size:12.5px;line-height:1.5}@keyframes group-scan-pulse{0%,to{opacity:1}50%{opacity:.35}}.group-cancel-btn{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:5px 10px;border:1px solid #e2c9a5;border-radius:14px;background:#fffaf0;color:#98651a;font-size:11px;font-weight:700;cursor:pointer}.group-cancel-btn svg{width:13px}.home-primary-actions .group-buy .home-action-icon{background:#fff4e7;color:#d97824}.home-primary-actions .group-buy .home-action-enter{color:#c96b1d}@media(max-width:1320px){.group-purchase-layout{grid-template-columns:1fr}}@media(max-width:900px){.group-platform-tabs{grid-template-columns:1fr}.group-platform-card{min-height:0}.group-platform-copy b{font-size:18px}}@media(max-width:720px){.group-confirm-head{flex-wrap:wrap}.group-confirm-countdown{margin-left:0}}@media(max-width:720px){.group-redeem-card,.group-partner-card{padding:18px}.group-purchase-layout{grid-template-columns:1fr}.group-record-list article{grid-template-columns:38px 1fr}.group-record-list article>i{grid-column:2;justify-self:start}.home-primary-actions.group-enabled{grid-template-columns:1fr}.home-primary-actions.group-enabled .group-buy{grid-column:auto}.group-confirm-actions,.group-manual{grid-template-columns:1fr}.group-launch{min-height:78px;padding:0 18px;font-size:18px}}.group-scan-error{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:16px 18px;border:2px solid #e8a49c;border-radius:13px;background:#fff2ef;color:#a8372a;animation:group-error-shake .34s ease}.group-scan-error>svg{flex:0 0 26px;width:26px;height:26px;margin-top:1px;color:#d2473a}.group-scan-error div{display:flex;flex-direction:column;gap:5px;min-width:0}.group-scan-error b{font-size:17px;letter-spacing:.02em}.group-scan-error span{font-size:14px;line-height:1.6;color:#8f3529}.group-scan-error em{font-style:normal;font-size:12.5px;color:#a8544a}.group-scan-timer{margin-left:auto;align-self:center;padding:3px 11px;border-radius:13px;background:#fff;color:#176f47;font-style:normal;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.group-scan-tip{display:block;margin-top:-4px;font-size:11.5px;color:#8a948d;line-height:1.55}.group-not-verified-alert{display:flex;gap:11px;align-items:flex-start;margin-top:14px;padding:14px 16px;border:2px solid #f0b9b1;border-radius:12px;background:#fff6f4;color:#a8372a}.group-not-verified-alert>svg{flex:0 0 22px;width:22px;height:22px;margin-top:1px}.group-not-verified-alert span{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.6}.group-not-verified-alert b{font-size:15px;letter-spacing:.02em}.group-quantity small{grid-column:1/-1;font-size:11.5px;color:#7b8a80;line-height:1.5}@keyframes group-error-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(max-width:720px){.group-scan-error{padding:14px}.group-scan-timer{margin-left:0;align-self:flex-start}}.lottery-admin{display:flex;flex-direction:column;gap:16px}.lottery-admin-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.lottery-admin-bar h2{margin:0 0 6px;font-size:20px}.lottery-admin-bar p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;max-width:760px}.lottery-link{flex:none;height:42px;padding:0 18px;border-radius:9px;background:var(--pale);color:var(--green-dark);font-weight:600;font-size:13px;display:inline-flex;align-items:center;text-decoration:none}.lottery-link:hover{background:#dff0e7}.lottery-notice{display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid #c9e8d8;background:var(--pale);color:var(--green-dark);border-radius:10px;font-size:13px}.lottery-layout{display:grid;grid-template-columns:288px minmax(0,1fr);gap:16px;align-items:start}.lottery-main{display:flex;flex-direction:column;gap:16px;min-width:0}.lottery-list{padding:15px;display:flex;flex-direction:column;gap:8px;position:sticky;top:98px}.lottery-list-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 6px}.lottery-list-head h3{margin:0;font-size:15px}.lottery-list-head span{color:var(--muted);font-size:12px}.lottery-list-item{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px 13px;display:flex;align-items:center;gap:10px;justify-content:space-between;text-align:left}.lottery-list-item:hover{border-color:#b7ddc8}.lottery-list-item.active{border-color:var(--green);background:var(--pale)}.lottery-list-item div{display:flex;flex-direction:column;gap:4px;min-width:0}.lottery-list-item b{font-size:14px}.lottery-list-item small{color:var(--muted);font-size:11px;word-break:break-all}.lottery-list-item i{flex:none;font-size:11px;font-style:normal;padding:3px 9px;border-radius:20px}.lottery-list-item i.ok{background:#e8f7ef;color:#168f55}.lottery-list-item i.warn{background:#fff8e5;color:#b47d0d}.lottery-list-item i.muted{background:#f2f2ef;color:#7d827e}.lottery-head-card{padding:20px 22px;display:flex;flex-direction:column;gap:15px}.lottery-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.lottery-head-top h2{margin:0 0 5px;font-size:19px}.lottery-head-top p{margin:0;color:var(--muted);font-size:13px}.lottery-head-top i{flex:none;font-style:normal;font-size:12px;padding:5px 12px;border-radius:20px}.lottery-head-top i.ok{background:#e8f7ef;color:#168f55}.lottery-head-top i.warn{background:#fff8e5;color:#b47d0d}.lottery-head-top i.muted{background:#f2f2ef;color:#7d827e}.lottery-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lottery-meta div{display:flex;flex-direction:column;gap:6px}.lottery-meta span{color:var(--muted);font-size:12px}.lottery-meta b{font-size:13px;font-weight:600;line-height:1.5}.lottery-actions{display:flex;flex-wrap:wrap;gap:9px}.lottery-actions button{height:40px}.lottery-actions button:disabled{opacity:.45;cursor:not-allowed}.lottery-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.lottery-stat{padding:15px 17px;display:flex;flex-direction:column;gap:8px}.lottery-stat span{color:var(--muted);font-size:12px}.lottery-stat b{font-size:25px;letter-spacing:-.5px;color:#19965a}.lottery-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}.lottery-tabs button{border:0;background:none;padding:11px 15px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.lottery-tabs button.active{color:var(--green-dark);font-weight:700;border-bottom-color:var(--green)}.lottery-prize-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px 12px}.lottery-prize-head h3{margin:0 0 6px;font-size:16px}.lottery-prize-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.lottery-warn{display:flex;align-items:flex-start;gap:9px;margin:0 22px 12px;padding:11px 14px;border:1px solid #f3dfae;background:#fff8e5;color:#8a6108;border-radius:9px;font-size:12.5px;line-height:1.6}.lottery-warn svg{flex:none;margin-top:2px}.lottery-table{margin:0 22px 14px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.lottery-table .data-row{grid-template-columns:1.6fr 1fr .7fr 1.1fr 1.1fr 1.2fr}.lottery-row-actions{display:flex;gap:7px}.lottery-row-actions button{height:32px;padding:0 12px;font-size:12px}.lottery-row-actions button.danger{background:#fff0ed;color:var(--coral)}.lottery-redeem-form{display:flex;gap:11px;padding:16px 22px 18px;align-items:flex-end}.lottery-redeem-form label{flex:1;display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.lottery-redeem-form input{height:46px;border:1px solid #ddd;border-radius:9px;padding:0 14px;font-size:15px;letter-spacing:1px;outline:none;text-transform:uppercase}.lottery-redeem-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #25ad681a}.lottery-redeem-form button{height:46px}.lottery-voucher{margin:0 22px 20px;border:1px solid var(--line);border-radius:12px;padding:17px 19px;display:flex;flex-direction:column;gap:14px}.lottery-voucher.usable{border-color:#bfe3cf;background:#fbfefc}.lottery-voucher.blocked{border-color:#f0d9d4;background:#fffcfb}.lottery-voucher-top{display:flex;align-items:center;gap:12px}.lottery-voucher-top>svg{font-size:26px;color:var(--green)}.lottery-voucher-top div{display:flex;flex-direction:column;gap:4px;flex:1}.lottery-voucher-top b{font-size:16px}.lottery-voucher-top small{color:var(--muted);font-size:12px}.lottery-voucher-top i{font-style:normal;font-size:12px;padding:4px 11px;border-radius:20px}.lottery-voucher-top i.ok{background:#e8f7ef;color:#168f55}.lottery-voucher-top i.warn{background:#fff0ed;color:var(--coral)}.lottery-voucher .order-detail-list{display:flex;flex-direction:column;gap:9px}.lottery-voucher .order-detail-list div{display:flex;justify-content:space-between;gap:16px;font-size:13px}.lottery-voucher .order-detail-list span{color:var(--muted);flex:none}.lottery-voucher .order-detail-list b{text-align:right;font-weight:600}.lottery-voucher .lottery-warn{margin:0}.lottery-voucher .primary{align-self:flex-start;min-width:150px;justify-content:center}.lottery-mgmt-form{display:flex;flex-direction:column;gap:13px;margin-top:14px}.lottery-mgmt-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}.lottery-mgmt-form input{height:41px;border:1px solid #dedfdb;border-radius:9px;padding:0 12px;background:#fff;outline:none}.lottery-mgmt-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #25ad681a}.lottery-card-title{margin:0;padding:18px 22px 12px;font-size:16px}@media(max-width:1440px){.lottery-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.lottery-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1280px){.lottery-layout{grid-template-columns:240px minmax(0,1fr)}.lottery-table .data-row{grid-template-columns:1.4fr 1fr .6fr 1fr 1fr}}.lottery-admin{min-width:0;width:100%;font-size:14px;line-height:1.5}.lottery-admin *{box-sizing:border-box}.lottery-admin .lottery-admin-bar{position:static;inset:auto;width:auto;height:auto;min-height:0;padding:0;background:transparent;box-shadow:none;border:0;display:flex}.lottery-admin .lottery-layout{grid-template-columns:minmax(0,1fr)}.lottery-admin .lottery-list{display:none}.lottery-admin .lottery-tabs{flex-wrap:wrap;gap:4px}.lottery-admin button{min-height:44px;white-space:normal;line-height:1.4}.lottery-admin .lottery-table{overflow-x:auto}.lottery-admin .lottery-table .data-row{display:grid;grid-template-columns:1.6fr 1fr .7fr 1.1fr 1.1fr 1.2fr;min-width:680px;height:auto;min-height:52px;align-items:center;gap:12px;padding:12px 14px}.lottery-admin .data-row>span{min-width:0;overflow-wrap:anywhere;white-space:normal}.lottery-admin .lottery-invite{padding:20px}.lottery-admin .lottery-invite .lottery-card-title{padding:0 0 12px}.lottery-admin .lottery-invite .lottery-table{margin:0}.lottery-admin .lottery-invite .data-row{grid-template-columns:1fr .7fr 1.5fr;min-width:0}.lottery-admin .lottery-invite .lottery-mgmt-form{max-width:520px;margin:0 0 20px}.lottery-admin .lottery-confirm{display:flex;flex-direction:row;align-items:center;font-weight:400;gap:10px}.lottery-admin .lottery-confirm input{width:20px;height:20px;flex:none}.lottery-admin .lottery-mgmt-form input:not([type=checkbox]){min-height:44px;width:100%;font-size:16px}.lottery-admin .privacy-note{line-height:1.7;overflow-wrap:anywhere}@media(max-width:1000px){.lottery-admin .lottery-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.lottery-admin .lottery-head-card{padding:16px}.lottery-admin .lottery-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.lottery-admin .lottery-invite{padding:16px}}@media(max-width:600px){.lottery-admin .lottery-meta{grid-template-columns:1fr}.lottery-admin .lottery-tabs button{padding:10px}.lottery-admin .lottery-invite .data-row{grid-template-columns:1fr .7fr 1.3fr;font-size:12px;gap:8px;padding:10px 8px}.lottery-admin .lottery-redeem-form{flex-wrap:wrap}.lottery-admin .lottery-stat{padding:12px}}body:has(.lottery-admin){min-width:0}.lottery-admin .business-card{min-height:0}.lottery-admin .lottery-stats{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:850px){.lottery-admin .lottery-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.lottery-admin .lottery-head-card.compact .lottery-meta,.lottery-admin .lottery-head-card.compact .lottery-actions,.lottery-admin .lottery-head-card.compact .privacy-note{display:none}.lottery-admin button:disabled{opacity:.45;cursor:not-allowed}.lottery-admin .lottery-invite .lottery-mgmt-form{display:flex;flex-direction:column;align-items:stretch}.lottery-admin .lottery-confirm{font-size:13px}.voucher-scan{display:flex;gap:12px;align-items:center;margin-top:6px}.voucher-scan input{flex:1;min-width:0;height:46px;padding:0 16px;font-size:16px;letter-spacing:1px;border:1px solid #d8dcd6;border-radius:12px;background:#fff}.voucher-scan input:focus{outline:none;border-color:#2aae69}.voucher-scan .primary{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 22px}.voucher-ok{display:flex;align-items:center;gap:8px;margin-top:14px;padding:12px 16px;border-radius:12px;background:#eaf7ee;color:#1f7a44;font-size:14px;font-weight:600}.voucher-detail{margin-top:18px;padding:18px;border:1px solid #e6e9e3;border-radius:16px;background:#fbfcf9}.voucher-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.voucher-detail-head h3{margin:0;font-size:17px;color:#22311f}.voucher-detail-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.voucher-detail-head>b{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;letter-spacing:1px;color:#3d4a3a}.voucher-status{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}.voucher-status.ok{background:#e3f4e9;color:#1f7a44}.voucher-status.bad{background:#f6e6e2;color:#a4442c}.voucher-detail .order-detail-list{margin-top:14px}.voucher-note{display:block;margin-top:14px;font-size:13px;color:#5f6a61}.voucher-note input{display:block;width:100%;margin-top:6px;height:42px;padding:0 14px;border:1px solid #d8dcd6;border-radius:10px;background:#fff;font-size:14px}.voucher-detail .modal-actions{margin-top:16px;justify-content:flex-end}.voucher-filters{display:flex;gap:8px;margin:8px 0 14px;flex-wrap:wrap}.voucher-filters button{padding:7px 16px;border-radius:20px;border:1px solid #d8dcd6;background:#fff;color:#4b554f;font-size:13px;font-weight:600;cursor:pointer}.voucher-filters button.selected{background:#2aae69;border-color:#2aae69;color:#fff}.expire-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 4px}.expire-summary>div{background:#f7f8fa;border:1px solid #ececf0;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.expire-summary span{font-size:12px;color:#8b8f98}.expire-summary b{font-size:15px;color:#2b2f36;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expire-summary b.hot{color:#e0483b}.expire-note{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff8ec;border:1px solid #ffe0b2;color:#8a5a12;font-size:13px;line-height:1.6}.expire-note svg{flex:none;margin-top:2px}.expire-reason{color:#8b8f98}.data-row i.ok{color:#2aae69;font-style:normal}.data-row i.warn{color:#d98b0a;font-style:normal}.data-row i.bad{color:#e0483b;font-style:normal}.data-row b.hot{color:#e0483b}.screens-studio{--screen-green:#15985a;--screen-deep:#123d2a;--screen-mint:#e9f7ef;--screen-line:#e4e9e5;--screen-muted:#77827a;display:flex;flex-direction:column;gap:18px;color:#202722}.screen-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.screen-summary article{min-height:82px;padding:16px 18px;background:#fff;border:1px solid var(--screen-line);border-radius:14px;display:flex;align-items:center;gap:14px}.screen-summary article>svg{width:38px;height:38px;padding:9px;border-radius:12px;color:#526057;background:#f4f6f4}.screen-summary article.online>svg,.screen-summary article.playing>svg{color:var(--screen-green);background:var(--screen-mint)}.screen-summary article.offline>svg{color:#8c9690;background:#f2f3f2}.screen-summary article.waiting>svg{color:#b7791f;background:#fff6e6}.screen-summary article div{display:flex;flex-direction:column;gap:5px}.screen-summary span{font-size:12px;color:var(--screen-muted)}.screen-summary strong{font-size:26px;line-height:1;color:#162119}.screen-flash{position:relative;border-radius:10px;padding:12px 44px 12px 14px;font-size:13px}.screen-flash.success{background:#eaf8ef;color:#087443}.screen-flash.error{background:#fff0ed;color:#bd4438}.screen-flash button{position:absolute;right:12px;top:8px;border:0;background:none;color:inherit;font-size:20px;cursor:pointer}.device-strip{min-height:94px;background:#fff;border:1px solid var(--screen-line);border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:start}.device-strip-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.device-strip-title>svg{font-size:24px;color:var(--screen-green)}.device-strip-title h2{font-size:16px;margin:0}.device-strip-title p{font-size:11px;color:var(--screen-muted);margin:4px 0 0}.device-strip-title .ghost-button{margin-left:auto}.device-strip-list{min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px}.device-strip-list article{min-width:0;display:flex;flex-direction:column;gap:9px;padding:11px 13px;border:1px solid #edf0ed;border-radius:10px;background:#fbfcfb}.dot{width:7px;height:7px;border-radius:50%;background:#aeb5b0;flex-shrink:0}.dot.online{background:#20ae68;box-shadow:0 0 0 5px #e3f7eb}.device-head{display:flex;align-items:center;gap:9px;min-width:0}.device-name{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.device-name b{font-size:13px;color:#1c2620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-actions{display:flex;gap:2px;align-items:center;flex-shrink:0}.text-action{padding:5px 7px;border:0;background:none;color:#168f55;font-size:12px;cursor:pointer;white-space:nowrap;border-radius:6px}.text-action:hover{background:#eef5f0}.text-action.strong{font-weight:700}.text-action.danger{color:#c1483d}.text-action.danger:hover{background:#fdf1ef}.device-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:#69736c;min-width:0}.device-meta span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed #e2e7e3;padding-top:9px;font-size:11px;color:#69736c;min-width:0}.device-state small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-state time{margin-left:auto;white-space:nowrap}.play-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;background:#eff1ef;color:#747c77;font-weight:650;flex-shrink:0}.play-tag svg{font-size:11px}.play-tag.live{background:#e5f7ec;color:#0f9153}.play-tag.status{background:#fdf1e0;color:#a25f13}.status-pill{width:max-content;border-radius:14px;padding:3px 9px;background:#eff1ef;color:#747c77;font-size:11px;flex-shrink:0}.status-pill.online{background:#e5f7ec;color:#0f9153}.device-strip small{color:#89928c;font-size:10px}.ghost-button{height:40px;padding:0 14px;border:1px solid #cfe0d5;border-radius:9px;background:#fff;color:#158951;font-weight:650;display:flex;align-items:center;gap:7px;white-space:nowrap}.ghost-button svg{font-size:17px}.studio-empty{min-height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#879189;text-align:center}.studio-empty svg{font-size:34px;color:#a8b2ab}.studio-empty p{margin:0;color:#929b95;font-size:12px}.screen-log-modal{width:620px}.screen-log-list{max-height:440px;overflow:auto}.screen-log-list>div{display:flex;gap:10px;padding:10px;border-top:1px solid #eee}.screen-log-list svg{color:#29985f}.screen-log-list span{display:flex;flex-direction:column;gap:3px}.screen-log-list small{color:#888}@media(max-width:1280px){.screen-summary{grid-template-columns:repeat(3,1fr)}.device-strip{grid-template-columns:1fr}.device-strip-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}}@media(max-width:800px){.screen-summary{grid-template-columns:1fr 1fr}.device-strip-list{grid-template-columns:1fr}}.screens-studio .modal{border:1px solid #e3e9e5}.screens-studio .modal-title{padding-right:32px}.screens-studio .modal-title h2{font-size:20px}.screens-studio .modal-title p{line-height:1.5}.modal-icon>svg{font-size:24px}.modal-close{position:absolute;right:17px;top:17px;width:34px;height:34px;border:0;border-radius:9px;background:#f4f6f4;color:#68736b;display:grid;place-items:center}.modal-close:hover{background:#eaefeb;color:#29342c}.screens-studio .modal label{color:#414b44}.screens-studio .modal-actions button{justify-content:center;min-width:92px;font-weight:650}.screens-studio .modal-actions .primary{background:var(--screen-green)}.screens-studio .modal-actions .danger-button{height:42px;padding:0 19px;border:0;border-radius:9px;background:#c94d42;color:#fff}.screens-studio .modal-actions .danger-button:hover{background:#b94036}.screens-studio .modal-actions button:disabled{opacity:.55;cursor:not-allowed}.screens-studio .modal-actions{margin-top:22px}.screens-studio .modal fieldset{border:0;padding:0;margin:18px 0}.screens-studio .modal legend{font-size:13px;font-weight:650;margin-bottom:9px;color:#414b44}.choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-cards button{height:62px;border:1px solid #dfe5e1;border-radius:10px;background:#fff;color:#5b665f;display:flex;align-items:center;justify-content:center;gap:9px}.choice-cards button.selected{border-color:#32a96b;background:#edf9f2;color:#148d50;font-weight:700;box-shadow:0 0 0 2px #16985a14}.choice-cards svg{font-size:22px}.choice-cards .portrait-icon{transform:rotate(90deg)}.screen-confirm-modal{width:min(430px,calc(100vw - 32px));padding-top:30px}.confirm-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff0ed;color:#c14b40;font-size:25px;margin-bottom:16px}.confirm-icon.refresh{background:#eaf8ef;color:#15985a}.screen-confirm-modal h2{font-size:21px;margin:0 40px 8px 0}.screen-confirm-modal>p{font-size:13px;line-height:1.65;color:#737e76;margin:0}.confirm-target{display:block;margin:13px 0;padding:11px 13px;border-radius:9px;background:#f5f7f5;color:#344039;font-size:12px;word-break:break-all}.upload-actions{display:flex;gap:8px;flex-wrap:wrap}.upload-actions .ghost-button{height:36px}.target-picker{margin-top:12px;padding:10px 12px;border:1px solid #dfe5e0;border-radius:12px;background:#f7faf8}.target-picker-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#5d6b62}.target-picker-head svg{font-size:15px;color:#168f55}.target-picker-head b{color:#1c2620}.target-picker-head .text-action{margin-left:auto}.target-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.target-chip{padding:6px 10px;border-radius:999px;border:1px solid #d3dbd6;background:#fff;color:#4d5a52;font-size:12px;cursor:pointer}.target-chip.active{border-color:#16834b;background:#e8f5ee;color:#0f6b3c;font-weight:650}.media-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(390px,.85fr);gap:16px;align-items:start}.media-library-panel,.playlist-panel{background:#fff;border:1px solid var(--screen-line);border-radius:16px}.media-library-panel{padding:20px;min-height:620px}.media-library-panel>header,.playlist-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.media-library-panel h2,.playlist-panel h2{font-size:19px;margin:0;display:flex;align-items:center;gap:9px}.media-library-panel h2 svg,.playlist-panel h2 svg{color:var(--screen-green);font-size:23px}.media-library-panel header p,.playlist-panel header p{margin:5px 0 0;color:var(--screen-muted);font-size:12px}.upload-button{height:42px;padding:0 17px;display:flex;align-items:center;gap:7px;border-radius:9px}.media-filter{display:flex;gap:8px;margin:18px 0 16px;padding-bottom:12px;border-bottom:1px solid #edf0ed}.media-filter button{padding:8px 13px;border:0;border-radius:8px;background:#f5f6f5;color:#667169;font-size:12px}.media-filter button:hover{background:#edf2ef}.media-filter button.active{background:#e6f6ec;color:#118a4f;font-weight:700}.media-filter b{margin-left:4px;font-size:10px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.media-card{position:relative;min-width:0;border:1px solid #e6eae7;border-radius:12px;overflow:visible;background:#fff;transition:border-color .16s,box-shadow .16s,transform .16s}.media-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #1d492f14;z-index:30}.media-card:has(.asset-popover){z-index:30}.media-card.selected{border-color:#1aa663};box-shadow:0 0 0 2px rgba(26,166,99,.12)}.media-select{position:absolute;z-index:3;left:10px;top:10px;width:23px;height:23px;border:1px solid rgba(255,255,255,.9);border-radius:6px;background:#ffffffeb;display:grid;place-items:center;color:#fff}.media-card.selected .media-select{border-color:#1aa663;background:#1aa663}.media-preview{position:relative;height:126px;overflow:hidden;border-radius:11px 11px 0 0;background:#e8eee9;cursor:pointer}.media-preview video{width:100%;height:100%;display:block;object-fit:cover;background:#edf1ee}.media-preview>span{position:absolute;right:8px;bottom:8px;padding:3px 7px;border-radius:5px;background:#0f1812c7;color:#fff;font-size:10px}.media-meta{position:relative;padding:11px 38px 7px 11px;display:flex;align-items:center}.media-meta>div{min-width:0;display:flex;flex-direction:column;gap:4px}.media-meta b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-meta small{color:#87918a;font-size:10px}.icon-menu{position:absolute;right:8px;top:9px;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#536159;display:grid;place-items:center}.icon-menu:hover{background:#f0f4f1}.asset-popover{position:absolute;z-index:8;right:8px;top:38px;width:120px;padding:5px;background:#fff;border:1px solid #e0e5e1;border-radius:9px;box-shadow:0 10px 30px #14322029}.asset-popover button{width:100%;padding:8px;border:0;border-radius:6px;background:none;display:flex;align-items:center;gap:7px;color:#38433c;font-size:11px}.asset-popover button:hover{background:#f2f7f4}.asset-popover button.danger{color:#c2483d}.download-state{padding:0 11px 11px;display:flex;align-items:center;gap:5px;font-size:10px}.download-state svg{font-size:14px}.download-state.ready{color:#118f52}.download-state.partial{color:#b0741e}.download-state.waiting{color:#8c9590}.download-state.orphan{color:#b84439}.media-card.orphan{border-color:#e8cdc9;background:#fffaf9}.media-card.orphan .media-preview:after{content:"已下线";position:absolute;left:8px;top:8px;padding:3px 7px;border-radius:5px;background:#b84439eb;color:#fff;font-size:10px}.media-empty{grid-column:1/-1;min-height:330px}.media-empty .primary{margin-top:6px}.playlist-panel{position:sticky;top:18px;min-height:620px;overflow:hidden}.playlist-panel>header{height:74px;padding:0 18px;border-bottom:1px solid #ebefec}.playlist-panel>header>div{display:flex;align-items:center;gap:8px}.playlist-panel>header p{margin:0}.clear-button{border:0;background:none;color:#818b84;display:flex;align-items:center;gap:5px;font-size:11px}.playlist-items{padding:12px;display:grid;gap:9px;max-height:285px;overflow:auto}.playlist-items article{min-height:68px;padding:8px;border:1px solid #e5e9e6;border-radius:10px;display:grid;grid-template-columns:14px 24px 68px minmax(0,1fr) auto;align-items:center;gap:8px}.drag-mark{color:#97a099;font-size:17px}.order-number{width:24px;text-align:center;font-size:14px}.playlist-thumb{width:68px;height:48px;border-radius:7px;overflow:hidden;background:#edf1ee}.playlist-thumb video{width:100%;height:100%;object-fit:cover}.playlist-item-meta{display:flex;min-width:0;flex-direction:column;gap:4px}.playlist-item-meta b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-item-meta small{font-size:10px;color:#87918a}.order-actions{display:flex;gap:2px}.order-actions button{width:25px;height:25px;border:0;border-radius:6px;background:#f4f6f4;color:#5d6961;display:grid;place-items:center}.order-actions button:disabled{opacity:.3}.order-actions button.remove{background:none;color:#bd4b40;font-size:17px}.playlist-empty{min-height:165px}.playlist-settings{padding:2px 18px 18px;border-top:1px solid #edf0ed}.playlist-settings h3{font-size:15px;margin:16px 0 11px}.schedule-toggle{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dfe5e1;border-radius:9px;overflow:hidden}.schedule-toggle button{height:40px;border:0;background:#fff;color:#657068;display:flex;align-items:center;justify-content:center;gap:7px}.schedule-toggle button.active{background:#15985a;color:#fff;font-weight:700}.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.schedule-fields label,.playlist-name{display:grid;gap:6px;color:#667069;font-size:11px}.schedule-fields input,.playlist-name input{height:38px;padding:0 10px;border:1px solid #dfe4e0;border-radius:8px;background:#fff;color:#273029}.playlist-name{margin-top:12px}.loop-note{margin-top:12px;padding:10px;border-radius:9px;background:#f0f8f3;display:flex;align-items:center;gap:9px;color:#138d51}.loop-note>svg{width:21px;height:21px;padding:4px;border-radius:5px;background:#179a59;color:#fff}.loop-note span{display:flex;flex-direction:column;gap:2px}.loop-note b{font-size:11px}.loop-note small{font-size:9px;color:#728078}.playlist-panel>footer{padding:14px 16px;border-top:1px solid #e8ece9;background:#fbfcfb;display:grid;grid-template-columns:118px 1fr;gap:10px}.stop-button{height:52px;border:1px solid #e5d1ce;border-radius:9px;background:#fff;color:#b84439;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:650}.publish-button{height:52px;border:0;border-radius:9px;background:#15985a;color:#fff;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-content:center;justify-content:center;column-gap:7px;font-weight:750}.publish-button svg{grid-row:1/3;align-self:center}.publish-button small{grid-column:2;font-size:8px;font-weight:400;opacity:.78}.publish-button:disabled{background:#b9c8bf;color:#eef3ef}@media(max-width:1350px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-workspace{grid-template-columns:minmax(0,1.35fr) minmax(370px,.8fr)}}@media(max-width:980px){.media-workspace{grid-template-columns:1fr}.playlist-panel{position:static}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.media-grid,.schedule-fields{grid-template-columns:1fr}.playlist-panel>footer{grid-template-columns:1fr}.media-library-panel>header{align-items:flex-start;flex-direction:column}}.confirm-typed{display:grid;gap:6px;margin-top:14px;color:#667069;font-size:11px}.confirm-typed input{height:40px;padding:0 11px;border:1px solid #dfe4e0;border-radius:8px;background:#fff;color:#273029;font-size:13px}.confirm-typed input:focus{outline:none;border-color:#15985a}:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#292d2b;background:#fbfaf6;font-synthesis:none;--green:#25ad68;--green-dark:#167647;--pale:#eaf7f0;--coral:#ff705f;--yellow:#f5bb35;--line:#ecebe5;--muted:#858a86}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;-webkit-font-smoothing:antialiased;background:#fbfaf6}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;background:radial-gradient(circle at 77% 12%,rgba(37,173,104,.035),transparent 27%),#fbfaf6}.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#ffffffc7;border-right:1px solid #ebe9e1;padding:24px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:4px 7px 22px}.brand img{width:59px;height:59px;object-fit:contain}.brand h1{font-size:24px;line-height:1.1;margin:0;color:#239d58;font-weight:800;letter-spacing:-1px}.brand p{font-size:11px;margin:6px 0 0;color:#8a8d89;white-space:nowrap}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{border:0;background:transparent;border-radius:12px;height:49px;padding:0 17px;display:flex;align-items:center;gap:15px;color:#4c514e;font-weight:500}.sidebar nav button:hover{background:#f1f8f4}.sidebar nav button.active{background:#e6f5ed;color:#169559;font-weight:700}.sidebar-store{margin-top:auto;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;background:#fff}.store-symbol{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--pale);color:var(--green)}.store-symbol svg{width:20px}.sidebar-store div{display:flex;flex:1;flex-direction:column}.sidebar-store small{color:var(--muted);font-size:11px}.sidebar-store b{font-size:14px;margin-top:2px}.sidebar-store>svg{color:#aaa}.main{margin-left:252px;min-width:0;width:calc(100% - 252px)}header{height:82px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:#ffffffb8;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.store-wrap{position:relative}.store-select,.select{border:1px solid #dfdfd9;background:#fff;border-radius:10px;height:42px;padding:0 14px;display:flex;align-items:center;gap:9px;color:#363a37}.store-select>svg:first-child{color:var(--green);font-size:20px}.store-menu{position:absolute;top:50px;width:230px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px #202a241f;border-radius:12px;padding:7px;z-index:10}.store-menu button{width:100%;border:0;background:none;text-align:left;border-radius:8px;padding:10px;display:grid;grid-template-columns:22px 1fr auto;align-items:center}.store-menu button:hover{background:#f4f8f5}.store-menu svg{color:var(--green)}.store-menu small{font-size:11px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:12px;color:#555b57}.date{display:flex;gap:8px;align-items:center;font-size:14px}.date svg{color:#3e8e62;font-size:20px}.divider{height:25px;width:1px;background:#ddd}.icon-btn{border:0;background:transparent;display:grid;place-items:center;color:#555}.notice{position:relative;font-size:22px}.notice i{position:absolute;right:-3px;top:-5px;background:var(--coral);color:#fff;width:16px;height:16px;border-radius:50%;font: 10px/16px sans-serif}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dff2e7;color:#188a51;font-weight:700}.user{display:flex;flex-direction:column}.user b{font-size:13px}.user small{font-size:10px;color:#999}.content{padding:27px 32px 40px;max-width:1590px;margin:0 auto}.page-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.page-title h1{font-size:27px;margin:0 0 5px;letter-spacing:-.5px}.page-title p{margin:0;color:#949792;font-size:13px}.report-link,.text-btn{border:0;background:none;color:#16965a;font-weight:600;display:flex;align-items:center;gap:6px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 3px 15px #26302a06;margin-bottom:18px}.metric{padding:22px 25px;position:relative}.metric:not(:last-child){border-right:1px solid var(--line)}.metric-name{color:#5d625f;font-size:14px;display:flex;align-items:center;gap:7px}.info{width:15px;height:15px;border:1px solid #bbb;border-radius:50%;font:10px/13px serif;text-align:center;color:#999}.metric strong{display:block;font-size:34px;letter-spacing:-1px;color:#242927;margin:13px 0}.metric-0 strong,.metric-3 strong{color:#19965a}.compare{display:flex;justify-content:space-between;font-size:12px;color:#999}.compare b{display:flex;align-items:center;gap:3px}.compare svg{width:14px}.up{color:#f05c4b}.down{color:#16a065}.dashboard-grid{display:grid;grid-template-columns:minmax(600px,1.55fr) minmax(330px,.85fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 3px 15px #26302a06}.panel-head{height:68px;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:17px;margin:0}.legend{display:flex;gap:20px;margin-top:7px;color:#8b8f8c;font-size:11px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%}.green{background:var(--green)}.yellow{background:var(--yellow)}.select{height:36px;font-size:12px}.trend-panel{min-height:400px}.chart-wrap{padding:2px 24px 18px 61px;position:relative}.chart-wrap svg{width:100%;height:240px;overflow:visible}.grid line{stroke:#eceeea;stroke-width:1}.income-line,.profit-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.income-line{stroke:var(--green)}.profit-line{stroke:var(--yellow)}.income-dot{fill:var(--green)}.profit-dot{fill:var(--yellow)}.axis-labels{position:absolute;left:20px;top:18px;bottom:51px;display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:#9a9e9b;text-align:right}.x-labels{display:grid;grid-template-columns:repeat(7,1fr);font-size:10px;color:#929692;text-align:center;margin-top:-7px}.x-labels span{display:flex;flex-direction:column}.composition{min-height:400px}.sales-list{padding:1px 22px}.sale-row{height:56px;display:grid;grid-template-columns:16px 1fr 90px 60px;align-items:center;border-bottom:1px solid #f0efeb;font-size:13px}.sale-row b,.sale-row strong{text-align:right}.sale-dot{width:10px;height:10px;border-radius:50%}.sales-total{display:flex;justify-content:space-between;margin:10px 22px 0;padding:16px 0;border-top:1px solid #ddd}.todo,.quick{min-height:290px}.todo-row{height:66px;margin:0 16px;width:calc(100% - 32px);display:grid;grid-template-columns:42px 1fr 30px 18px;align-items:center;text-align:left;border:0;border-top:1px solid #f0efeb;background:#fff}.todo-row:first-of-type{border-top:0}.todo-row>span:nth-child(2){display:flex;flex-direction:column}.todo-row b{font-size:13px}.todo-row small{font-size:10px;color:#9b9e9b;margin-top:3px}.todo-row>strong{font-size:19px}.todo-row>svg{color:#aaa}.todo-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:19px}.todo-icon.danger{background:#fff0ed;color:var(--coral)}.todo-icon.warning{background:#fff8e5;color:#e8a91b}.todo-icon.good{background:#e9f8ef;color:var(--green)}strong.danger{color:var(--coral)}strong.warning{color:#e4a215}strong.good{color:var(--green)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 18px 18px}.quick-grid button{height:188px;border:1px solid var(--line);background:#fff;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center}.quick-grid button:hover{border-color:#b7ddc8;box-shadow:0 7px 22px #208c5417;transform:translateY(-2px)}.quick-grid span{width:52px;height:52px;border-radius:50%;background:#e7f5ed;color:#159256;display:grid;place-items:center;font-size:25px}.quick-grid span.coral{background:#fff0ed;color:var(--coral)}.quick-grid b{font-size:15px;margin-top:13px}.quick-grid small{color:#999;margin-top:5px}.modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;background:#191f1b59;display:grid;place-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:470px;background:#fff;border-radius:18px;padding:26px;box-shadow:0 30px 80px #0003;position:relative}.close{position:absolute;right:18px;top:18px}.modal-title{display:flex;gap:13px;align-items:center;margin-bottom:25px}.modal-title h2{margin:0;font-size:21px}.modal-title p{margin:5px 0 0;color:#999;font-size:12px}.modal-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#e8f7ef;color:var(--green);font-size:25px}.modal-icon.expense{background:#fff0ed;color:var(--coral)}.modal label{display:block;font-size:13px;font-weight:600;margin:16px 0}.modal input{width:100%;height:44px;border:1px solid #ddd;border-radius:9px;padding:0 13px;margin-top:8px;outline:none}.modal input:focus{border-color:var(--green);box-shadow:0 0 0 3px #25ad681a}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.primary,.secondary{height:42px;border-radius:9px;padding:0 19px;border:0;display:inline-flex;align-items:center;gap:7px}.primary{background:var(--green);color:#fff;font-weight:600}.secondary{background:#f2f2ef;color:#555}.success{text-align:center;padding:25px 10px 5px}.success>svg{color:var(--green)}.success h2{margin:12px 0 5px}.success p{color:#999;font-size:13px;margin-bottom:24px}.success .primary{min-width:120px;justify-content:center}.subpage{background:#fff;border:1px solid var(--line);border-radius:15px;min-height:660px}.subpage-head{padding:25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.subpage-head h1{font-size:20px;margin:0 0 6px}.subpage-head p{font-size:12px;color:#999;margin:0}.toolbar{padding:18px 24px;display:flex;justify-content:space-between}.search{width:360px;height:39px;border:1px solid #ddd;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#999}.search input{border:0;outline:0;flex:1;font-size:12px}.empty-table{margin:0 24px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-head,.table-demo{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr .7fr;align-items:center;height:52px;padding:0 18px;font-size:12px}.table-head{background:#fafaf7;color:#858a86}.table-demo{border-top:1px solid var(--line)}.tag{width:max-content;background:#e8f7ef;color:#168f55;border-radius:20px;padding:4px 9px}@media(max-width:1280px){.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}.brand img{width:52px}.brand h1{font-size:21px}.content{padding-left:22px;padding-right:22px}.metric{padding:18px}.metric strong{font-size:29px}.dashboard-grid{grid-template-columns:1.45fr .9fr}.quick-grid{gap:7px;padding:0 12px 14px}}.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.sidebar .nav-group{display:flex;flex-direction:column;gap:3px;margin-top:9px}.sidebar .nav-group:first-child{margin-top:0}.sidebar .nav-group>p{margin:0;padding:5px 17px 3px;color:#a0a5a1;font-size:10px;font-weight:700;letter-spacing:.12em}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:#d8e8de;border-radius:999px}.operation-bar{display:flex;flex-direction:column;align-items:stretch;gap:11px;margin-bottom:18px;padding:15px 16px 16px;border:1px solid #dfece4;border-radius:15px;background:linear-gradient(105deg,#f3fbf6,#fff 42%);box-shadow:0 4px 18px #1f70450d}.operation-intro{width:auto;flex:none;display:flex;flex-direction:row;align-items:baseline;gap:10px;padding-left:3px}.operation-intro span{font-size:16px;font-weight:800;color:#244a34}.operation-intro small{margin-top:0;color:#829087;font-size:11px;line-height:1.5}.operation-actions{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.operation-actions button{min-height:70px;padding:10px 12px;border:1px solid #e5e9e5;border-radius:12px;background:#fff;display:grid;grid-template-columns:40px 1fr 16px;align-items:center;gap:10px;text-align:left;color:#303733;transition:.18s ease}.operation-actions button:hover{border-color:#9ed4b7;box-shadow:0 7px 20px #1f8f5317;transform:translateY(-1px)}.operation-actions button>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#e7f6ed;color:#17975a;font-size:21px}.operation-actions button>span.coral{background:#fff0ed;color:#ed6655}.operation-actions button div{display:flex;min-width:0;flex-direction:column}.operation-actions button b{font-size:14px}.operation-actions button small{margin-top:4px;color:#929992;font-size:10px;white-space:nowrap}.operation-actions button>svg{color:#a4aaa5}.operation-actions .operation-primary{border-color:#e5e9e5;background:#fff;color:#303733}.operation-actions .operation-primary>span{background:#e7f6ed;color:#17975a}.operation-actions .operation-primary small{color:#929992}.operation-actions .operation-primary>svg{color:#a4aaa5}.dashboard-status{min-height:290px}.status-list{display:flex;flex-direction:column;gap:10px;padding:1px 22px 20px}.status-list>span{height:42px;border-radius:10px;padding:0 12px;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}.status-list>span svg{font-size:19px}.status-list .ready{background:#ecf8f1;color:#168d53}.status-list .building{background:#fff7e6;color:#af7410}.status-list p{margin:2px 2px 0;color:#858b87;font-size:11px;line-height:1.7}@media(max-width:1320px){.operation-bar{gap:9px}.operation-intro{width:auto}.operation-actions{gap:7px}.operation-actions button{padding:9px;grid-template-columns:36px 1fr 13px}.operation-actions button>span{width:36px;height:36px}.operation-actions button small{display:none}}html,body,#root,.app-shell,.main,.content{background:#fff!important}.app-shell{background-image:none!important}.main header{background:#fff!important}.operation-bar,.business-page,.report-page,.stores-page,.settings-page,.subpage,.business-toolbar,.data-head,.profit-main,.store-note,.device-help,.fixed-rule{background:#fff!important}.page-title.with-back{justify-content:flex-start;align-items:center;gap:22px}.page-title.with-back .back-home{flex:0 0 auto}.page-title.with-back>div{min-width:0}.page-title.with-back h1{text-align:left}@media(max-width:720px){.page-title.with-back{align-items:flex-start;flex-direction:column;gap:12px}}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.workflow-card{min-height:246px;padding:21px;border:1px solid #e4e8e5;border-radius:16px;background:#fff;box-shadow:0 4px 18px #20302709;display:flex;flex-direction:column}.workflow-head{display:flex;align-items:center;gap:12px;margin-bottom:19px}.workflow-head>span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#eaf7f0;color:#17945a;font-size:23px}.workflow-card.sales-work .workflow-head>span{background:#edf5ff;color:#3979b8}.workflow-card.daily-work .workflow-head>span{background:#fff3ea;color:#dc7047}.workflow-head h2{font-size:17px;margin:0}.workflow-head p{font-size:11px;color:#939a95;margin:5px 0 0}.workflow-main{width:100%;min-height:76px;border:1px solid #dce9e1;border-radius:13px;background:#f7fbf8;padding:12px;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:11px;text-align:left;color:#27322b}.workflow-main>svg:first-child{width:38px;height:38px;padding:9px;border-radius:10px;background:#dff3e8;color:#178f55}.workflow-main>svg:last-child{color:#a1aaa4}.workflow-main span{display:flex;flex-direction:column}.workflow-main b{font-size:15px}.workflow-main small{font-size:10px;color:#8e9791;margin-top:5px}.workflow-main:hover{border-color:#9fd2b5;background:#f1faf5;box-shadow:0 6px 18px #1c8b5114}.workflow-link{margin-top:auto;height:38px;border:0;background:none;color:#238c57;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between;padding:0 5px}.workflow-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.workflow-links button{height:38px;border:1px solid #e3e7e4;border-radius:9px;background:#fff;color:#536159;font-size:12px}.workflow-links button:hover{border-color:#9fd2b5;color:#178f55}.operation-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e4e8e5;border-radius:15px;background:#fff;margin-bottom:18px;overflow:hidden}.operation-summary article{min-height:92px;padding:18px 21px;display:flex;align-items:center;gap:13px}.operation-summary article:not(:last-child){border-right:1px solid #e8ebe9}.operation-summary article>span{width:38px;height:38px;border-radius:10px;background:#f0f6f2;color:#35835b;display:grid;place-items:center;font-size:20px}.operation-summary div{display:flex;flex-direction:column}.operation-summary small{font-size:11px;color:#89918c}.operation-summary strong{font-size:25px;margin-top:3px}.operation-summary em{font-size:11px;font-style:normal;color:#8b948e;margin-left:4px;font-weight:500}.home-bottom-grid{display:grid;grid-template-columns:minmax(560px,1.4fr) minmax(330px,.8fr);gap:18px}.home-bottom-grid .todo,.home-bottom-grid .dashboard-status{min-height:290px}.core-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.core-action-grid>button{min-height:96px;padding:17px 18px;border:1px solid #dde4df;border-radius:14px;background:#fff;display:grid;grid-template-columns:48px 1fr 18px;align-items:center;gap:13px;text-align:left;color:#27312b;box-shadow:0 3px 14px #20302708;transition:.16s ease}.core-action-grid>button:hover{border-color:#8dccaa;background:#f8fcf9;box-shadow:0 7px 20px #1c8b5114;transform:translateY(-1px)}.core-action-grid>button>span{width:48px;height:48px;border-radius:12px;background:#e8f6ee;color:#178f55;display:grid;place-items:center;font-size:24px}.core-action-grid>button>span.coral{background:#fff0ed;color:#e36c58}.core-action-grid>button>div{display:flex;flex-direction:column}.core-action-grid b{font-size:16px}.core-action-grid small{font-size:11px;color:#8d9690;margin-top:6px}.core-action-grid>button>svg{color:#a2aaa5}.home-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7f8c84;text-align:center}.home-empty>svg{font-size:35px;color:#3bad72}.home-empty b{margin-top:11px;color:#405048}.home-empty small{margin-top:6px;font-size:11px;color:#9aa19c}.flow-empty,.table-empty{padding:34px 20px;text-align:center;color:#8b948e;font-size:13px;background:#fff}.flow-empty.large{min-height:180px;display:grid;place-items:center}.table-empty{border-top:1px solid #ecefeb}.monitor-empty{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#84908a;text-align:center}.monitor-empty svg{width:42px;height:42px;color:#20a464}.monitor-empty h2{margin:4px 0 0;color:#26332d}.monitor-empty p{margin:0;max-width:520px}.notice i{display:none!important}.quick-product-list{display:grid;gap:9px;margin:18px 0}.quick-product-list>button{min-height:66px;padding:12px 14px;border:1px solid #dfe5e1;border-radius:11px;background:#fff;display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:12px;text-align:left}.quick-product-list>button.selected{border-color:#28a968;background:#f3fbf7}.quick-product-list span{display:flex;flex-direction:column}.quick-product-list small{margin-top:4px;color:#89938d}.quick-checkout{border-top:1px solid #e7ebe8;padding-top:15px}.quick-checkout>label{display:flex;align-items:center;justify-content:space-between}.quick-checkout>label input{width:100px}.quick-total{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:14px;border-radius:10px;background:#f3faf6}.quick-total b{font-size:22px;color:#159058}.product-editor{width:min(650px,calc(100vw - 32px))}.page-title.with-back{display:flex;align-items:center;gap:16px}.back-home{height:38px;padding:0 13px;border:1px solid #dde4df;border-radius:10px;background:#fff;color:#526159;display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}.back-home:hover{border-color:#83c9a4;color:#158d54;background:#f7fbf8}.back-home svg{font-size:18px}.cashier-entry-modal{width:min(720px,calc(100vw - 32px))}.cashier-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.cashier-mode-grid>button{min-height:118px;padding:18px;border:1px solid #dfe7e2;border-radius:14px;background:#fff;color:#25342c;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:4px 12px;text-align:left}.cashier-mode-grid>button:hover{border-color:#72c298;background:#f6fbf8}.cashier-mode-grid svg{grid-row:1/3;width:42px;height:42px;padding:10px;border-radius:11px;background:#e8f6ee;color:#19955a}.cashier-mode-grid b{font-size:16px;align-self:end}.cashier-mode-grid small{font-size:12px;color:#8c9690;align-self:start}.cashier-mode-detail{min-height:250px;padding:12px 0}.cashier-mode-detail h3{font-size:20px;margin:24px 0 6px}.cashier-mode-detail>p{margin:0;color:#77837c}.group-modal{width:min(620px,calc(100vw - 32px))}@media(max-width:1320px){.workflow-grid{gap:11px}.workflow-card{padding:17px}.workflow-head p{display:none}.workflow-main{grid-template-columns:34px 1fr 15px}.core-action-grid{grid-template-columns:repeat(2,1fr)}.operation-summary article{padding:15px}.home-bottom-grid{grid-template-columns:1.35fr .85fr}}.home-primary-actions.group-enabled{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(2,minmax(235px,1fr));gap:20px;max-width:1560px;margin-top:10px}.home-primary-actions>button{padding:30px;border:1px solid #dfe6e1;border-radius:22px;background:#fff;color:#26332b;display:grid;grid-template-columns:70px 1fr;grid-template-rows:1fr auto;gap:18px 22px;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.home-primary-actions>button:hover{border-color:#73c99c;box-shadow:0 14px 34px #1d8b511a;transform:translateY(-2px)}.home-primary-actions .cashier{grid-row:1/3;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;align-content:start;background:linear-gradient(150deg,#ecf9f2,#fff 60%);border-color:#b7dfc8}.home-primary-actions .cashier .home-action-icon{width:86px;height:86px;border-radius:22px;font-size:43px}.home-primary-actions .cashier .home-action-copy b{font-size:34px}.home-primary-actions .cashier .home-action-copy em{font-size:14px;max-width:420px}.home-primary-actions .cashier .home-action-enter{grid-column:1/2;font-size:16px}.home-action-icon{width:70px;height:70px;border-radius:18px;background:#e8f7ef;color:#15945a;display:grid;place-items:center;font-size:34px}.home-primary-actions .admission .home-action-icon{background:#eef5ff;color:#3978c6}.home-action-copy{display:flex;flex-direction:column;align-self:center}.home-action-copy small{font-size:12px;color:#829087;margin-bottom:8px}.home-action-copy b{font-size:27px;line-height:1.2}.home-action-copy em{font-size:13px;line-height:1.7;font-style:normal;color:#7e8982;margin-top:12px}.home-action-enter{grid-column:1/3;border-top:1px solid #edf0ee;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;color:#168f55}.home-primary-actions .admission .home-action-enter{color:#3978c6}.home-action-enter svg{font-size:20px}@media(max-width:1320px){.home-primary-actions.group-enabled{grid-template-columns:1.3fr 1fr}}@media(max-width:900px){.home-primary-actions.group-enabled{grid-template-columns:1fr;grid-template-rows:none}.home-primary-actions.group-enabled .cashier{grid-row:auto}.home-primary-actions.group-enabled>button{min-height:200px}}.report-page,.stores-page{display:flex;flex-direction:column;gap:18px}.report-filters{display:flex;justify-content:space-between;align-items:center}.report-filters>div{display:flex;gap:8px}.period{height:36px;padding:0 17px;border:1px solid #e2e1dc;background:#fff;color:#747975}.period:first-child{border-radius:9px 0 0 9px}.period:nth-child(4){border-radius:0 9px 9px 0}.period.active{background:#e7f6ed;border-color:#bfe4cf;color:#168f55;font-weight:600}.profit-summary{min-height:160px;border-radius:16px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:330px 1fr;align-items:center;overflow:hidden}.profit-main{height:100%;padding:26px 32px;background:#eaf7f0;display:flex;flex-direction:column}.profit-main span{font-size:14px;color:#438064}.profit-main strong{font-size:38px;color:#168f55;margin:8px 0}.profit-main small{color:#6e927d}.formula{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;align-items:center;padding:0 45px}.formula>div{display:flex;flex-direction:column;gap:10px}.formula span{font-size:12px;color:#8b8f8b}.formula b{font-size:23px}.formula i{text-align:center;font-size:25px;color:#bbb;font-style:normal}.green-text{color:#16965a!important}.report-grid{display:grid;grid-template-columns:1.55fr .75fr;gap:18px}.report-chart{height:390px}.report-chart .chart-wrap{padding-top:0}.expense-breakdown{height:390px}.expense-row{height:66px;margin:0 20px;display:grid;grid-template-columns:1fr 90px 55px;align-items:center;border-top:1px solid #f0efeb;font-size:13px}.expense-row b,.expense-row small{text-align:right}.expense-row small{color:#999}.profit-table{overflow:hidden;padding-bottom:10px}.profit-table .data-row{padding:0 22px}.store-tabs{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:13px}.store-tabs>button{height:92px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;display:flex;align-items:center;gap:13px;text-align:left}.store-tabs>button.active{border-color:#7bc49b;box-shadow:0 0 0 2px #25ad681a}.store-tabs>button>svg:first-child{width:35px;height:35px;padding:8px;border-radius:10px;background:#e8f7ef;color:#16965a}.store-tabs button span{display:flex;flex-direction:column;flex:1}.store-tabs button b{font-size:14px}.store-tabs button small{color:#999;margin-top:5px}.store-tabs button>svg:last-child{color:#22a966}.store-tabs .add-store{justify-content:center;border-style:dashed;color:#168f55}.store-detail{background:#fff;border:1px solid var(--line);border-radius:15px;min-height:480px}.store-detail-head{padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.store-detail-head>div{display:flex;align-items:center;gap:14px}.store-large{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:#e8f7ef;color:#16965a}.store-large svg{font-size:25px}.store-detail h2{margin:0;font-size:19px}.store-detail p{margin:5px 0 0;color:#929692;font-size:12px}.open-tag,.plan-tag,.rest-tag{border-radius:20px;padding:6px 12px;font-size:12px}.open-tag{background:#e8f7ef;color:#168f55}.plan-tag{background:#fff6df;color:#be8510}.rest-tag{background:#f1efef;color:#5f5e5a}.store-kpis{display:grid;grid-template-columns:repeat(4,1fr);padding:25px}.store-kpis div{display:flex;flex-direction:column;padding:12px 20px;border-right:1px solid var(--line)}.store-kpis div:last-child{border:0}.store-kpis span{color:#8d918d;font-size:12px}.store-kpis strong{font-size:27px;margin-top:9px}.store-note{margin:0 25px 25px;padding:20px;background:#fafaf6;border-radius:12px}.store-note h3{font-size:14px;margin:0}.store-note p{line-height:1.8;color:#6f7470}.scan-modal{width:540px}.steps{display:flex;align-items:center;justify-content:center;margin:5px 0 24px}.steps span{font-size:12px;color:#a3a7a3;white-space:nowrap}.steps span.active{color:#168f55;font-weight:600}.steps i{width:55px;height:1px;background:#dedfdc;margin:0 10px}.scan-step label{display:block;font-size:13px;font-weight:600}.scan-step label input{width:100%;height:46px;margin-top:8px;border:1px solid #dcdedb;border-radius:9px;padding:0 13px;outline:none}.member-found{margin-top:15px;padding:13px;background:#f3faf6;border:1px solid #d2ebdd;border-radius:11px;display:flex;align-items:center;gap:11px}.member-found>div:nth-child(2){display:flex;flex:1;flex-direction:column}.member-found small{color:#7f9186;margin-top:3px}.member-found>svg{color:#1fa563;font-size:21px}.step-tip{font-size:12px;color:#808580;margin:0 0 12px}.kid-card{width:100%;height:66px;border:1px solid #e2e3df;background:#fff;border-radius:11px;margin-bottom:10px;padding:0 13px;display:flex;align-items:center;gap:12px;text-align:left}.kid-card.selected{border-color:#4fbb81;background:#f2faf5}.kid-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff0cf;color:#b57a00;font-weight:700}.kid-card>span:nth-child(2){display:flex;flex:1;flex-direction:column}.kid-card small{color:#939793;margin-top:3px}.check-circle{color:#1faa66;font-size:21px}.benefit-row{margin-top:15px;padding:14px 15px;border-radius:11px;background:#fafaf6;display:flex;justify-content:space-between;align-items:center}.benefit-row div{display:flex;flex-direction:column}.benefit-row small{color:#929692;margin-top:3px}.benefit-row strong{color:#f06452}.confirm-scan{border:1px solid #ebece8;border-radius:11px;padding:4px 16px}.confirm-scan>div{height:47px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #efefeb;font-size:13px}.confirm-scan>div.deduct b{font-size:20px;color:#f06452}.confirm-scan p{font-size:11px;line-height:1.7;color:#7f857f;background:#f3faf6;padding:10px;border-radius:8px}.modal-actions .primary:disabled{opacity:.45;cursor:not-allowed}.bind-hint{margin:8px 0 0;font-size:12px;line-height:1.5;color:#8a5a1f;background:#fdf6ec;border:1px solid #f0dfc0;border-radius:8px;padding:8px 10px}.kid-card:disabled{opacity:.45;cursor:not-allowed}.settings-page{display:flex;flex-direction:column;gap:16px}.settings-tabs{height:50px;display:flex;gap:7px;border-bottom:1px solid var(--line)}.settings-tabs button{border:0;background:none;padding:0 17px;color:#777c78;position:relative}.settings-tabs button.active{color:#168f55;font-weight:600}.settings-tabs button.active:after{content:"";height:3px;background:#22aa65;border-radius:3px;position:absolute;left:10px;right:10px;bottom:-1px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:15px;min-height:540px;overflow:hidden}.settings-head{height:86px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.settings-head h2{font-size:18px;margin:0 0 5px}.settings-head p{margin:0;color:#959995;font-size:12px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:24px}.role-grid article{border:1px solid #e7e7e2;border-radius:13px;padding:20px}.role-title{display:flex;align-items:center;gap:12px}.role-title h3{margin:0;font-size:15px}.role-title small{display:block;color:#999;margin-top:5px}.role-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#e8f7ef;color:#16965a;font-size:22px}.rule-list{min-height:150px;display:flex;flex-direction:column;gap:12px;margin:22px 0}.rule-list span{display:flex;align-items:center;gap:8px;font-size:12px;color:#626763}.rule-list svg{color:#21a765}.pending-count{background:#fff1ee;color:#f06452;border-radius:20px;padding:6px 12px;font-size:12px}.approval-list{padding:8px 24px}.approval-item{min-height:92px;display:grid;grid-template-columns:45px 1fr 100px 62px 88px;align-items:center;gap:12px;border-bottom:1px solid #efefeb}.approval-type{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;font-size:21px}.approval-type.refund{background:#fff0ed;color:#f06452}.approval-type.cancel{background:#fff7df;color:#d39712}.approval-item>div{display:flex;flex-direction:column}.approval-item small{margin-top:5px;color:#929692}.approval-item time{font-size:11px;color:#999}.approval-item .primary,.approval-item .secondary{height:36px;padding:0 11px;font-size:12px}.device-card{margin:24px;border:1px solid #dce8e0;border-radius:14px;background:#fbfefc;padding:20px;display:flex;align-items:center;gap:15px}.device-visual{width:58px;height:58px;border-radius:15px;background:#e6f6ed;color:#159357;display:grid;place-items:center;font-size:29px}.device-main{flex:1}.device-main h3{margin:0;font-size:15px}.device-main p{font-size:11px;color:#969a96}.device-capabilities{display:flex;gap:14px;margin-top:9px}.device-capabilities span{display:flex;align-items:center;gap:4px;font-size:11px;color:#56705f}.device-capabilities svg{color:#1da561}.online-tag{background:#e7f7ed;color:#158f54;border-radius:20px;padding:6px 11px;font-size:12px}.device-help{margin:0 24px;padding:18px 20px;background:#fafaf6;border-radius:12px}.device-help b{font-size:13px}.device-help p{font-size:12px;line-height:1.8;color:#767b77}.setting-form{padding:10px 24px}.setting-form>label{min-height:82px;border-bottom:1px solid #efefeb;display:grid;grid-template-columns:220px 1fr;align-items:center;font-size:13px;font-weight:600}.setting-form select{height:42px;border:1px solid #dedfda;border-radius:9px;background:#fff;padding:0 12px;color:#555}.fixed-rule{height:52px;border:1px solid #cde9d9;background:#f1faf5;border-radius:9px;padding:0 13px;display:flex;align-items:center;gap:10px}.fixed-rule svg{color:#1ea461;font-size:21px}.fixed-rule span{display:flex;flex-direction:column}.fixed-rule small{font-weight:400;color:#789181;margin-top:3px}.phone-search{display:grid;grid-template-columns:1fr 92px;gap:8px;margin-top:8px}.phone-search input{margin-top:0!important}.phone-search button{border:0;border-radius:9px;background:#e7f6ed;color:#168f55;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px}.match-hint{font-size:11px;color:#858a86;margin:14px 0 8px}.member-results{display:flex;flex-direction:column;gap:8px}.member-results>button{min-height:64px;width:100%;padding:10px 12px;border:1px solid #e1e2de;border-radius:10px;background:#fff;display:flex;align-items:center;gap:11px;text-align:left}.member-results>button.selected{border-color:#4db77d;background:#f1faf5}.member-results>button>span{display:flex;flex:1;flex-direction:column}.member-results small{color:#878d88;margin-top:4px}.member-results>svg{font-size:21px;color:#1ba35f}.avatar.other{background:#fff0d7;color:#b97b12}.sale-modal{width:560px}.selected-customer{width:100%;min-height:68px;margin-top:14px;border:1px solid #55b982;border-radius:11px;background:#f1faf5;display:flex;align-items:center;gap:12px;padding:10px 13px;text-align:left}.selected-customer>span{display:flex;flex:1;flex-direction:column}.selected-customer small{color:#7c8d82;margin-top:4px}.selected-customer>svg{color:#1ba35f;font-size:21px}.product-list{display:flex;flex-direction:column;gap:9px}.product-list>button{min-height:74px;border:1px solid #e0e1dd;border-radius:11px;background:#fff;padding:10px 12px;display:grid;grid-template-columns:45px 1fr 75px 22px;align-items:center;gap:10px;text-align:left}.product-list>button.selected{border-color:#4db67d;background:#f3faf6}.product-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#e8f7ef;color:#159257;font-size:22px}.product-icon.p1{background:#fff6db;color:#ce9417}.product-icon.p2{background:#fff0ed;color:#f06452}.product-list button>span:nth-child(2){display:grid;grid-template-columns:1fr auto;align-items:center}.product-list b{font-size:13px}.product-list small{grid-column:1;font-size:11px;color:#929692;margin-top:4px}.product-list em{grid-row:1/3;grid-column:2;font-style:normal;font-size:10px;color:#16965a;background:#e6f6ed;border-radius:12px;padding:3px 7px}.product-list strong{text-align:right;font-size:16px}.product-list>button>svg{color:#1ba35f;font-size:20px}.checkout-summary{border:1px solid #e5e6e2;border-radius:11px;padding:5px 15px}.checkout-summary>div{height:44px;border-bottom:1px solid #efefeb;display:flex;justify-content:space-between;align-items:center;font-size:12px}.checkout-summary>div:last-child{border:0}.checkout-summary .total{height:56px}.checkout-summary .total b{font-size:23px;color:#f06452}.pay-title{font-size:12px;font-weight:600}.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pay-methods button{height:53px;border:1px solid #dedfdb;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;gap:7px;color:#565b57}.pay-methods button.selected{border-color:#48b477;background:#f1faf5;color:#168f55}.pay-methods button>svg:last-child{font-size:17px}.payment-warning,.receipt-note{font-size:11px;line-height:1.7;background:#fff9e9;color:#8b712d;border-radius:8px;padding:9px 11px;margin-top:13px}.receipt-note{background:#f4faf6;color:#65806d;margin:12px auto 20px;max-width:330px}.sale-modal .success .primary{min-width:175px}.alipay-scan-state{margin:18px 0;padding:28px;text-align:center;border:2px dashed #1677ff;border-radius:18px;background:#f4f8ff;outline:none}.alipay-scan-state svg{color:#1677ff}.alipay-scan-state h3{margin:10px 0 6px}.alipay-scan-state p{margin:0 0 8px;font-weight:600}.alipay-scan-state small{color:#667085}.alipay-scan-state.processing,.alipay-scan-state.querying{border-style:solid}.alipay-scan-state.succeeded{border-color:#19a15f;background:#f1fbf6}.alipay-scan-state.succeeded svg{color:#19a15f}.alipay-scan-state.unknown,.alipay-scan-state.waiting_buyer{border-color:#e89a17;background:#fff9ec}.alipay-scan-state.failed{border-color:#d64545;background:#fff4f4}.expense-modal{width:580px}.expense-form{display:flex;flex-direction:column;gap:13px}.expense-form label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:7px}.expense-form input,.expense-form select{height:42px;border:1px solid #dedfdb;border-radius:9px;background:#fff;padding:0 12px;outline:none}.expense-form input:focus,.expense-form select:focus{border-color:#48b477}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-options button{height:62px;border:1px solid #dedfdb;background:#fff;border-radius:10px;padding:9px 11px;display:flex;align-items:center;gap:9px;text-align:left}.mode-options button.selected{border-color:#48b477;background:#f1faf5}.mode-options svg{font-size:20px;color:#a5a8a5}.mode-options button.selected svg{color:#1ba35f}.mode-options span{display:flex;flex-direction:column}.mode-options small{font-size:10px;color:#939793;margin-top:4px;font-weight:400}.allocation-preview{padding:12px 14px;border-radius:10px;background:#fff9e9;border:1px solid #f5e7b8}.allocation-preview>span{font-size:11px;color:#8c7742}.allocation-preview>div{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.allocation-preview div b{font-size:13px}.allocation-preview div svg{color:#b9a46e}.allocation-preview div strong{color:#d68d16}.allocation-preview small{font-size:10px;color:#95845a}.expense-modal .success{padding-top:36px}.expense-modal{max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:thin}.expense-modal .close{position:sticky;float:right;top:-10px;margin-bottom:-20px;background:#fff;border-radius:50%;z-index:2}.expense-modal .modal-actions{position:sticky;bottom:-26px;background:#fff;padding:12px 0 18px;margin-top:10px;z-index:2}.expense-modal{padding-bottom:94px}.expense-modal .modal-actions{position:absolute;left:26px;right:26px;bottom:0;background:#fff;border-top:1px solid #efefeb;padding:14px 0 18px;margin:0;z-index:3}.expense-live-modal{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;display:flex;flex-direction:column;overflow:hidden}.expense-live-modal>.close{top:22px;right:22px;z-index:4}.expense-live-modal>.modal-title{flex:0 0 auto;margin:0;padding:26px 26px 18px}.expense-live-modal>.expense-form{min-height:0;padding:0 26px 18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.expense-live-modal>.login-error{margin:0 26px 12px}.expense-live-modal>.modal-actions{flex:0 0 auto;margin:0;padding:14px 26px calc(18px + env(safe-area-inset-bottom));border-top:1px solid #efefeb;background:#fff;box-shadow:0 -8px 20px #1c2a220a;z-index:3}.expense-live-modal textarea{min-height:62px;border:1px solid #dedfdb;border-radius:9px;padding:10px 12px;resize:vertical;outline:none;font:inherit}.expense-live-modal textarea:focus{border-color:#48b477}@media(max-width:720px){.expense-live-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.expense-live-modal>.modal-title{padding:20px 20px 14px}.expense-live-modal>.expense-form{padding:0 20px 14px}.expense-live-modal>.modal-actions{padding:12px 20px calc(14px + env(safe-area-inset-bottom))}.expense-live-modal .form-row{grid-template-columns:1fr}}.data-row.clickable{cursor:pointer}.data-row.clickable:hover{background:#f6fbf8}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c221e52;z-index:45}.member-drawer{position:absolute;right:0;top:0;bottom:0;width:520px;background:#fff;box-shadow:-20px 0 50px #141e1829;display:flex;flex-direction:column}.drawer-head{height:92px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.drawer-head>div{display:flex;align-items:center;gap:12px}.large-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e2f3e9;color:#168f55;font-size:18px;font-weight:700}.drawer-head h2{margin:0;font-size:19px}.drawer-head p{margin:5px 0 0;color:#969a96;font-size:11px}.member-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 16px;background:#fafaf7;border-bottom:1px solid var(--line)}.member-summary div{display:flex;flex-direction:column;padding:0 9px;border-right:1px solid #e7e7e2}.member-summary div:last-child{border:0}.member-summary span{font-size:10px;color:#949894}.member-summary b{font-size:14px;margin-top:6px}.member-summary b.normal{color:#168f55}.member-summary b.frozen{color:#f06452}.children-section{padding:17px 22px;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h3{font-size:14px;margin:0}.section-title button{border:0;background:none;color:#168f55;font-size:11px;display:flex;align-items:center;gap:4px}.child-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.child-list>div{min-height:62px;border:1px solid #e4e5e1;border-radius:10px;padding:9px;display:flex;align-items:center;gap:9px;position:relative}.kid-avatar.blue{background:#e6f2fb;color:#297aa9}.child-list p{display:flex;flex-direction:column;margin:0}.child-list b{font-size:12px}.child-list small{font-size:9px;color:#929692;margin-top:4px}.child-list em{position:absolute;right:7px;top:7px;font-size:8px;font-style:normal;color:#168f55;background:#e7f6ed;padding:2px 5px;border-radius:8px}.drawer-tabs{height:49px;padding:0 22px;display:flex;gap:20px;border-bottom:1px solid var(--line)}.drawer-tabs button{border:0;background:none;color:#7d827e;font-size:12px;position:relative}.drawer-tabs button.active{color:#168f55;font-weight:600}.drawer-tabs button.active:after{content:"";position:absolute;height:2px;left:2px;right:2px;bottom:0;background:#1fa763}.drawer-content{padding:17px 22px;overflow-y:auto;flex:1}.benefit-card{border:1px solid #cde8d8;border-radius:12px;background:#f4fbf7;padding:16px;position:relative}.benefit-card h3{margin:9px 0 4px;font-size:15px}.benefit-card p{font-size:10px;color:#849087;margin:0}.card-type{font-size:9px;background:#dff2e7;color:#168f55;padding:3px 7px;border-radius:9px}.benefit-card>strong{position:absolute;right:16px;top:17px;font-size:11px;color:#6f7771}.benefit-card>strong b{font-size:20px;color:#168f55}.progress{height:6px;background:#dfe7e2;border-radius:4px;margin:15px 0 9px;overflow:hidden}.progress i{display:block;height:100%;background:#22aa65}.benefit-card>small{color:#78847b;font-size:9px}.coin-card{height:70px;border:1px solid #eee7d7;border-radius:11px;margin-top:11px;padding:12px;display:flex;align-items:center;gap:11px}.coin-card>span{width:38px;height:38px;border-radius:10px;background:#fff5dc;color:#d79b16;display:grid;place-items:center;font-size:21px}.coin-card>div{flex:1}.coin-card h3{font-size:13px;margin:0}.coin-card p{font-size:9px;color:#999;margin:4px 0 0}.coin-card>strong{color:#d79212}.timeline div{height:59px;display:grid;grid-template-columns:90px 1fr 80px;align-items:center;border-bottom:1px solid #efefeb;font-size:11px}.timeline time{color:#999}.timeline b{text-align:right}.drawer-actions{height:74px;padding:0 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:8px;background:#fff}.drawer-actions button{height:38px;font-size:12px}.card-editor{width:600px;max-height:calc(100vh - 36px);overflow-y:auto;padding-bottom:90px}.card-form{display:flex;flex-direction:column;gap:13px}.card-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}.card-form input,.card-form select,.card-form textarea{border:1px solid #dedfdb;border-radius:9px;padding:0 12px;background:#fff;outline:none}.card-form input,.card-form select{height:41px}.card-form textarea{height:62px;padding-top:9px;resize:none}.type-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.type-options button{height:38px;border:1px solid #dedfdb;border-radius:8px;background:#fff}.type-options button.selected{border-color:#45b277;background:#eaf7f0;color:#168f55;font-weight:600}.share-setting{min-height:62px;border:1px solid #e3e4df;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:11px}.share-setting>button{width:39px;height:22px;border:0;border-radius:12px;background:#cfd2cf;padding:2px}.share-setting>button i{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}.share-setting>button.on{background:#27aa67}.share-setting>button.on i{transform:translate(17px)}.share-setting>span{display:flex;flex-direction:column}.share-setting small{font-size:10px;color:#8c918d;font-weight:400;margin-top:4px}.rule-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px;border-radius:9px;background:#fafaf7}.rule-checks span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:400;color:#636864}.rule-checks svg{color:#1ca35f}.card-editor .modal-actions{position:absolute;left:26px;right:26px;bottom:0;background:#fff;border-top:1px solid #efefeb;padding:14px 0 18px;margin:0;z-index:3}.product-editor{width:600px;max-height:calc(100vh - 32px);padding-bottom:0;display:flex;flex-direction:column;overflow:hidden}.product-editor .modal-title{flex:0 0 auto}.product-editor .card-form{min-height:0;overflow-y:auto;padding-right:7px;scrollbar-width:thin}.product-editor .card-form input,.product-editor .card-form select{height:41px}.product-editor .card-form textarea{height:62px;resize:none}.product-editor .login-error{flex:0 0 auto}.product-editor .modal-actions{position:static;flex:0 0 auto;margin:0 -26px;padding:14px 26px 18px;border-top:1px solid #efefeb;background:#fff;box-shadow:0 -7px 18px #1c30240d;z-index:3}@media(max-height:720px){.product-editor{max-height:calc(100vh - 16px)}.product-editor .modal-title{margin-bottom:14px}}.product-row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.product-row-actions .danger-text{color:#cf4f42}.product-delete-modal{width:460px}.product-delete-modal .danger-icon{color:#cf4f42;background:#fff0ed}.product-delete-modal .card-form{margin-top:16px}.product-image-field{grid-column:1/-1}.product-image-uploader{position:relative;width:152px;height:152px;border:1px dashed #b9c9bf;border-radius:14px;overflow:hidden;background:#f7faf8;cursor:pointer}.product-image-uploader img{width:100%;height:100%;object-fit:cover;display:block}.product-image-uploader input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer}.product-image-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#258557;font-size:13px;font-weight:700}.product-image-empty svg{font-size:26px}.product-image-field>small{color:#7f8982;font-weight:400;line-height:1.5}.redemption-stack{display:grid;gap:14px}.redemption-section{display:grid;gap:12px;padding:14px;border:1px solid #e7ece8;border-radius:14px;background:#fff}.redemption-heading{display:flex;align-items:center;gap:10px}.redemption-heading>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9f7ef;color:#209358;font-weight:700}.redemption-heading>div{display:flex;flex-direction:column;gap:2px}.redemption-heading small{color:#7f8982}@media(max-width:900px){.product-table{overflow:visible}.product-table .data-head{display:none}.product-table .data-row:not(.data-head){min-width:0;display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0 0 12px;padding:14px;border:1px solid #e8ece9;border-radius:12px}.product-table .data-row>span:nth-child(1){grid-column:1/2}.product-table .data-row>span:nth-child(2){grid-column:2/3;text-align:right;color:#6d776f}.product-table .data-row>span:nth-child(3),.product-table .data-row>span:nth-child(4){grid-column:1/3;color:#59645d}.product-table .data-row>span:nth-child(5){grid-column:1/2;color:#278348}.product-table .data-row>span:nth-child(6){grid-column:2/3;justify-content:flex-end}.product-delete-modal{width:calc(100vw - 20px)}.redemption-section{padding:12px}}.login-page{min-height:100vh;min-width:980px;display:grid;grid-template-columns:minmax(480px,1.12fr) minmax(460px,.88fr);background:#fff}.login-visual{position:relative;overflow:hidden;padding:56px 64px;color:#fff;background:radial-gradient(circle at 20% 15%,rgba(255,221,67,.34),transparent 22%),radial-gradient(circle at 85% 82%,rgba(255,255,255,.15),transparent 24%),linear-gradient(145deg,#168b4c,#2caf69)}.login-brand{display:flex;align-items:center;gap:14px}.login-brand img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:22px;padding:5px;box-shadow:0 14px 35px #0849272e}.login-brand h1{font-size:28px;margin:0}.login-brand p{margin:5px 0 0;opacity:.74;letter-spacing:1px}.login-copy{position:absolute;left:64px;right:55px;top:42%;transform:translateY(-35%)}.login-copy span{display:inline-block;padding:7px 13px;border:1px solid rgba(255,255,255,.32);border-radius:20px;font-size:13px;background:#ffffff14}.login-copy h2{font-size:49px;line-height:1.3;margin:24px 0 17px;letter-spacing:1px}.login-copy p{font-size:16px;line-height:1.9;opacity:.82;max-width:520px}.login-bubbles i{position:absolute;border-radius:50%;background:#ffffff17}.login-bubbles i:nth-child(1){width:240px;height:240px;right:-70px;top:-60px}.login-bubbles i:nth-child(2){width:120px;height:120px;left:-35px;bottom:80px}.login-bubbles i:nth-child(3){width:48px;height:48px;right:17%;bottom:14%}.login-panel{display:grid;place-items:center;position:relative;background:radial-gradient(circle at 80% 15%,rgba(39,174,105,.05),transparent 25%),#fff}.login-panel form{width:390px}.login-kicker{color:#1da15e;font-weight:700;font-size:14px;margin:0 0 10px}.login-panel h2{font-size:32px;color:#242a26;margin:0}.login-tip{color:#959b96;margin:12px 0 34px;font-size:14px}.login-panel label{display:flex;flex-direction:column;gap:9px;color:#4a504c;font-size:14px;font-weight:600;margin:19px 0}.login-panel input{height:50px;border:1px solid #dfe3df;border-radius:12px;padding:0 15px;font-size:14px;outline:0;background:#fbfcfb}.login-panel input:focus{border-color:#2bae69;box-shadow:0 0 0 4px #2bae691a;background:#fff}.login-error{background:#fff0ed;color:#d85443;padding:11px 13px;border-radius:9px;font-size:13px;margin:8px 0}.login-submit{width:100%;height:52px;border:0;border-radius:12px;background:#1fa460;color:#fff;font-size:16px;font-weight:700;margin-top:13px;box-shadow:0 11px 24px #1fa46038}.login-submit:disabled{opacity:.55}.login-help{text-align:center;color:#a1a5a1;font-size:12px;margin-top:20px}.login-panel footer{position:absolute;bottom:28px;color:#b0b4b0;font-size:11px}.mobile-logo{display:none}.login-loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#779081}.login-loading img{width:82px;height:82px;object-fit:contain}.logout-button{border:0;background:#f1f6f3;color:#54705f;border-radius:8px;padding:7px 11px;font-size:11px}.logout-button:hover{background:#e4f3ea;color:#168f55}.login-page{min-width:0}.login-panel{min-width:0;padding:32px 24px}.login-panel form{width:min(100%,390px)}.login-panel input{min-width:0;width:100%;box-sizing:border-box}.mobile-logo img{width:64px;height:64px;object-fit:contain}@media(max-width:1100px){.login-page{display:block}.login-visual{display:none}.login-panel{min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:28px}.login-panel footer{position:static;margin:0}.mobile-logo{display:block;margin-bottom:20px}}body:has(.login-page){min-width:0}.staff-section{margin:0 24px 28px;border-top:1px solid #ecece7;padding-top:22px}.staff-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.staff-title h3{font-size:16px;margin:0}.staff-title>span{font-size:12px;color:#168f55;background:#e8f7ef;border-radius:20px;padding:6px 11px}.staff-table{border:1px solid #e7e8e3;border-radius:11px;overflow:hidden}.staff-row{display:grid;grid-template-columns:1.05fr 1.1fr 1fr 1.2fr 1.1fr;min-height:60px;align-items:center;padding:0 16px;border-top:1px solid #efefeb;font-size:12px}.staff-row.head{min-height:42px;border:0;background:#fafaf7;color:#8b908b}.staff-row>span:first-child{display:flex;flex-direction:column}.staff-row small{color:#9a9e9a;margin-top:3px}.staff-row>span:last-child{display:flex;align-items:center;gap:7px}.staff-row i{font-style:normal;border-radius:16px;padding:4px 9px}.staff-active{background:#e8f7ef;color:#168f55}.staff-disabled{background:#f1f1ee;color:#888}.staff-row>span:last-child button{border:0;background:none;color:#758078;font-size:11px;padding:4px}.staff-row>span:last-child button:hover{color:#168f55}.staff-modal{width:590px}.staff-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.staff-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;margin:0}.staff-form input,.staff-form select{width:100%;height:43px;border:1px solid #dedfda;border-radius:9px;background:#fff;padding:0 12px;outline:0}.staff-form input:focus,.staff-form select:focus{border-color:#42b477;box-shadow:0 0 0 3px #25ad6817}.member-live-table{padding:0 22px}.member-live-row{min-height:64px;display:grid;grid-template-columns:1.15fr 1fr 1.2fr .8fr .8fr .65fr;align-items:center;border-bottom:1px solid #f0efeb;font-size:13px}.member-live-row.head{min-height:48px;color:#858a86;background:#fafaf7;padding:0 10px}.member-live-row:not(.head){padding:0 10px}.member-live-row>span:first-child{display:flex;flex-direction:column}.member-live-row small{font-size:10px;color:#999;margin-top:4px}.member-live-row i{font-style:normal;color:#168f55;background:#e8f7ef;border-radius:15px;padding:4px 9px}.member-points-cell,.points-stat strong{color:#168f55}.member-create-modal{width:700px}.member-create-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.member-create-form>label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}.member-create-form input,.member-create-form select{width:100%;height:44px;border:1px solid #dedfda;border-radius:9px;padding:0 11px;background:#fff;outline:0;font:inherit;box-sizing:border-box}.member-create-form input:focus,.member-create-form select:focus{border-color:#42b477;box-shadow:0 0 0 3px #1fa66214}.children-editor{grid-column:1/-1;border-top:1px solid #eee;padding-top:14px}.children-editor-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.children-editor-title>div{display:flex;flex-direction:column;gap:4px}.children-editor-title small{font-size:10px;color:#929792;font-weight:400}.children-editor-title button{border:0;background:#e8f7ef;color:#168f55;border-radius:8px;padding:8px 11px}.child-edit-row{display:grid;grid-template-columns:1.15fr .72fr 1fr 34px;gap:10px;align-items:end;margin-top:10px}.child-field{display:flex;min-width:0;flex-direction:column;gap:6px}.child-field>span{height:16px;font-size:11px;font-weight:600;color:#59615c;line-height:16px}.child-edit-row>.remove-child{height:44px;border:0;background:#fff0ed;color:#e65b4b;border-radius:8px}.privacy-note{font-size:11px;color:#668270;background:#f1faf5;border-radius:9px;padding:10px 12px;margin-top:14px}@media(max-width:720px){.member-create-modal{width:calc(100vw - 24px)}.member-create-form{grid-template-columns:1fr}.child-edit-row{grid-template-columns:1fr 1fr}.child-birthday{grid-column:1/-1}.child-edit-row>.remove-child{grid-column:1/-1}.member-live-row{grid-template-columns:1.2fr 1fr 1fr}.member-live-row>span:nth-child(4),.member-live-row>span:nth-child(6){display:none}}.wallet-recharge{border:1px solid #cfe8da;background:#f5fbf7;border-radius:12px;padding:15px;margin-bottom:12px}.wallet-recharge h3{margin:0;font-size:14px}.wallet-recharge p{margin:5px 0 12px;color:#778078;font-size:10px}.wallet-recharge>div{display:grid;grid-template-columns:1fr 105px 92px;gap:8px}.wallet-recharge input,.wallet-recharge select{height:40px;border:1px solid #dce3de;border-radius:8px;padding:0 9px;background:#fff}.wallet-recharge button,.gift-list button{border:0;border-radius:8px;background:#1fa563;color:#fff;font-weight:700}.wallet-recharge button:disabled,.gift-list button:disabled{background:#ccd6d0}.gift-list{display:grid;gap:9px}.gift-list article{border:1px solid #e3e8e4;border-radius:10px;padding:12px;display:flex;align-items:center;justify-content:space-between}.gift-list article>div{display:flex;flex-direction:column;gap:5px}.gift-list small{color:#8a918c;font-size:10px}.gift-list button{height:36px;padding:0 16px}.cashier-member-account{margin-top:10px;border:1px solid #d9e8df;border-radius:12px;background:#fbfefc;overflow:hidden}.member-money-row{display:grid;grid-template-columns:1fr 1fr 82px;align-items:center;padding:11px;gap:8px}.member-money-row>span{display:flex;flex-direction:column;gap:3px}.member-money-row small{font-size:10px;color:#879088}.member-money-row b{font-size:15px;color:#188f57}.member-money-row>button{height:40px;border:1px solid #35aa6e;border-radius:9px;background:#edf9f2;color:#168f55;font-weight:700;display:flex;align-items:center;justify-content:center;gap:3px}.cashier-recharge{border-top:1px solid #e0ebe4;padding:11px;background:#f4faf6;display:grid;gap:8px}.cashier-recharge>input{height:42px;border:1px solid #d9e2dc;border-radius:9px;padding:0 10px;font-size:14px}.cashier-recharge>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cashier-recharge>div button{height:36px;border:1px solid #d9e2dc;border-radius:8px;background:#fff}.cashier-recharge>div button.selected{border-color:#25a866;background:#eaf8f0;color:#168f55;font-weight:700}.cashier-recharge .confirm{height:42px;border:0;border-radius:9px;background:#1fa563;color:#fff;font-weight:700}.cashier-recharge .confirm:disabled{background:#cdd6d0}.wallet-offset-note{margin:-5px 0 11px;text-align:right;font-size:11px;color:#69766e}.shift-page{display:grid;gap:20px}.shift-card{background:#fff;border:1px solid #e8ebed;border-radius:16px;padding:24px}.shift-empty{text-align:center;color:#697077}.shift-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.shift-heading h2{margin:0 0 6px;font-size:20px}.shift-heading p{margin:0;color:#747b82;font-size:14px}.shift-head-actions{display:flex;align-items:center;gap:10px}.shift-status{display:inline-flex;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700}.shift-status.open{background:#e7f8ef;color:#16834e}.shift-status.waiting{background:#f4f5f6;color:#687078}.shift-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.shift-form label{display:grid;gap:7px;font-size:14px;font-weight:700;color:#32373b}.shift-form input,.shift-form textarea{border:1px solid #d9dddf;border-radius:10px;padding:11px 12px;font:inherit}.shift-form textarea{min-height:76px;resize:vertical}.shift-form small{font-weight:400;color:#7b8288}.shift-form .wide{grid-column:1/-1}.shift-actions{display:flex;justify-content:flex-end;margin-top:20px}.shift-form .shift-actions{margin-top:0}.shift-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.shift-metrics>div,.shift-reconcile>div{border:1px solid #eceeef;border-radius:12px;padding:15px;display:grid;gap:7px}.shift-metrics span,.shift-reconcile span{color:#747b82;font-size:13px}.shift-metrics strong{font-size:17px}.shift-reconcile{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.shift-reconcile b{font-size:20px}.shift-reconcile small{color:#7b8288;line-height:1.5}.shift-warning{margin-top:16px;padding:13px 15px;border-radius:10px;background:#fff7e5;color:#8a5b00}.shift-table .data-row{grid-template-columns:1.5fr 1fr 1fr .8fr .8fr}.shift-table .data-row span:first-child{display:grid;gap:4px}.shift-table small{color:#858b90}.variance-ok{color:#16834e;font-weight:700}.variance-bad{color:#c3483d;font-weight:700}.shift-close-modal{max-width:680px}@media(max-width:1000px){.shift-metrics{grid-template-columns:repeat(3,1fr)}.shift-reconcile{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){html,body,#root{width:100%;min-width:0;overflow-x:hidden}.login-page{min-width:0;display:block}.login-visual{display:none}.login-panel{min-height:100vh;padding:24px 18px}.login-panel form{width:100%;max-width:390px}.login-panel footer{position:static;margin-top:36px;text-align:center}.mobile-logo{display:block;margin-bottom:20px}.mobile-logo img{width:64px;height:64px;object-fit:contain}.app-shell{display:block;padding-bottom:74px}.sidebar{width:100%;height:66px;inset:auto 0 0 0;padding:6px 8px;border:0;border-top:1px solid var(--line);overflow-x:auto;background:#fffffff5}.sidebar .brand,.sidebar-store{display:none}.sidebar nav{flex-direction:row;min-width:max-content;gap:3px}.sidebar nav button{height:52px;padding:0 12px;flex-direction:column;justify-content:center;gap:2px;font-size:10px}.sidebar nav button svg{font-size:18px}.main{width:100%;margin-left:0}header{height:auto;min-height:64px;padding:10px 14px;gap:8px}.header-right{gap:7px}.header-right .date,.header-right .divider,.header-right .user,.amount-visibility span{display:none}.content{width:100%;padding:16px 12px 28px}.page-title{align-items:flex-start;gap:10px}.page-title h1{font-size:22px}.business-stats,.metrics,.screen-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.business-toolbar,.report-filters,.subpage-head{align-items:stretch;flex-direction:column;gap:12px}.business-toolbar .search,.toolbar .search,.search{width:100%}.data-table,.member-live-table,.coin-live-table,.screen-device-table{overflow-x:auto}.data-row,.member-live-row,.coin-row,.screen-device-row{min-width:760px}.modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:20px;overflow-y:auto}.member-drawer{width:100%}.member-summary{grid-template-columns:repeat(3,1fr)}.drawer-tabs{overflow-x:auto;gap:14px}.drawer-tabs button{flex:0 0 auto}.cashier-page{display:flex;flex-direction:column}.cashier-checkout{order:-1}.cashier-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-next-grid,.member-coin-layout,.shift-form{grid-template-columns:1fr}.product-delete-zone{margin-top:18px;padding:14px;border:1px solid #f0c8c3;border-radius:10px;background:#fff8f7}.product-delete-zone p{margin:5px 0 10px;color:#8b625d;font-size:12px}.product-delete-zone input{margin:5px 0}.product-delete-zone button{margin-top:8px}.sidebar nav button{padding:0 7px;font-size:9px;white-space:nowrap}.sidebar nav button svg{font-size:16px}.store-select{white-space:nowrap;max-width:42vw;overflow:hidden;text-overflow:ellipsis}.header-right .logout-button{white-space:nowrap;padding:7px 9px}.admission-live-table{overflow-x:auto}.admission-row{min-width:640px}.admission-row>span{white-space:nowrap}.page-title.with-back{flex-direction:column;align-items:flex-start;gap:10px}.cashier-product-section.is-compact .cashier-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-live-table{overflow-x:auto}.expense-live-row{min-width:760px}.expense-live-row>span{white-space:nowrap}.staff-table{overflow-x:auto}.staff-row{min-width:700px}.staff-row>span{white-space:nowrap}.role-grid{grid-template-columns:1fr;gap:12px}.settings-head .primary{white-space:nowrap}}.product-delete-zone{margin-top:18px;padding:14px;border:1px solid #f0c8c3;border-radius:10px;background:#fff8f7}.product-delete-zone p{margin:5px 0 10px;color:#8b625d;font-size:12px}.product-delete-zone input{margin:5px 0}.product-delete-zone button{margin-top:8px}.real-member-detail .member-summary>div:first-child{display:none}.real-member-detail .member-summary{grid-template-columns:repeat(3,1fr)}@supports (padding:max(0px)){@media(max-width:720px){.app-shell{padding-bottom:max(82px,calc(74px + env(safe-area-inset-bottom)))}.sidebar{height:calc(66px + env(safe-area-inset-bottom));padding-bottom:calc(6px + env(safe-area-inset-bottom))}.content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}@media(max-width:720px){button,input,select{min-height:44px}.data-table,.member-live-table,.coin-live-table,.screen-device-table{overflow:visible;padding-left:0;padding-right:0}.data-table>.data-head,.member-live-table>.head,.coin-live-table>.head,.screen-device-table>.head{display:none}.data-table>.data-row:not(.data-head),.member-live-table>.member-live-row:not(.head),.coin-live-table>.coin-row:not(.head),.screen-device-table>.screen-device-row:not(.head){min-width:0;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;align-items:start;margin:0 0 10px;padding:14px;border:1px solid #e6ebe7;border-radius:12px;background:#fff;overflow-wrap:anywhere}.member-live-table>.member-live-row:not(.head)>span,.coin-live-table>.coin-row:not(.head)>span,.screen-device-table>.screen-device-row:not(.head)>span{display:flex}.modal{max-height:calc(100dvh - 20px);overscroll-behavior:contain}.modal:not(.card-editor)>.modal-actions{position:sticky;bottom:-20px;z-index:4;margin:12px -20px -20px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.cashier-checkout{max-height:none;min-height:0}}@media(min-width:840px)and (max-width:1000px)and (orientation:landscape){.cashier-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start}.cashier-checkout{order:initial;position:sticky;top:12px;max-height:calc(100dvh - 112px);overflow:auto}}@media(max-width:900px){.login-page{min-width:0;display:block}.login-visual{display:none}.login-panel{min-height:100vh;padding:24px 18px}.login-panel form{width:100%;max-width:390px}.login-panel footer{position:static;margin-top:36px;text-align:center}.mobile-logo{display:block;margin-bottom:20px}}@media(max-width:720px){.sidebar .nav-group{display:contents}.sidebar .nav-group>p{display:none}}.order-detail-modal{max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}.order-detail-modal>.modal-actions{position:sticky;bottom:-26px;z-index:3;margin:18px -26px -26px;padding:14px 26px 18px;background:#fff;border-top:1px solid var(--line);border-radius:0 0 18px 18px}.order-detail-modal .order-refunds{margin-bottom:4px}.cashier-alipay .scan-cancel-btn{background:#f2f2ef;color:#555;margin-left:8px}.custom-charge-card{grid-column:span 1;border:1.5px dashed #1677ff;background:#f5f8ff;position:relative}.custom-charge-card.selected{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff2e}.custom-charge-card>svg{position:absolute;right:10px;top:10px;color:#1677ff}.custom-charge-card strong{color:#1677ff}.custom-charge-modal .modal-icon{background:#eaf2ff;color:#1677ff}.custom-charge-modal input{margin-top:8px}.selected-product .purchase-redeem,.selected-product .purchase-effective{grid-column:1 / 3;margin-top:4px;padding-top:8px;border-top:1px dashed #cfe6da}.selected-product .redeem-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:#168f55;cursor:pointer}.selected-product .redeem-toggle input{width:17px;height:17px;accent-color:#168f55;flex:none}.selected-product .redeem-children{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;align-items:center}.selected-product .redeem-children>label{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 10px;border:1px solid #d9dfda;border-radius:999px;background:#fff;cursor:pointer}.selected-product .redeem-children>label.on{border-color:#168f55;background:#e8f7ee;color:#168f55}.selected-product .redeem-children>label input{width:14px;height:14px;accent-color:#168f55}.selected-product .redeem-children>small,.selected-product .redeem-summary{flex-basis:100%;color:#7a857d}.selected-product .redeem-summary.warn{color:#b4231f;font-weight:600}.selected-product .purchase-effective label{display:flex;align-items:center;gap:8px;font-size:13px}.selected-product .purchase-effective input{width:auto;flex:none}.selected-product .purchase-effective>small{grid-column:1 / 3;color:#7a857d}
