*{box-sizing:border-box}body{margin:0;background:#f5f3f0;color:#211e1c;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}header{background:#191615;color:white;padding:20px 16px}.brand{font-size:25px;font-weight:800;letter-spacing:4px}.sub{font-size:12px;opacity:.6;margin-top:4px}main{padding:12px 12px 90px;max-width:980px;margin:auto}.card,.panel{background:#fff;border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:0 1px 6px #0000000b}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.muted{font-size:12px;color:#888}.status{font-size:12px;border-radius:999px;padding:5px 9px;background:#eee}.status-new{background:#fff1d7}.status-accepted{background:#e8f0ff}.status-served{background:#e8f6ea}.status-paid{background:#eee}.item{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #eee;align-items:center}.item.cancelled{text-decoration:line-through;opacity:.5}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.actions button,.btn,.mini{border:0;border-radius:10px;padding:10px 12px;font-weight:700;background:#1d1a18;color:#fff}.mini{padding:6px 9px;font-size:12px}.secondary{background:#eee!important;color:#211e1c!important}.danger{background:#a72d2d!important}.warn{background:#8b5b00!important}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.filters,.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px}.filters button,.tabs button,.periods button{border:0;border-radius:18px;padding:9px 12px;white-space:nowrap}.filters button.active,.tabs button.active,.periods button.active{background:#211e1c;color:#fff}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.stat{background:#fff;border-radius:12px;padding:12px}.stat .num{font-size:21px;font-weight:800;margin-top:3px}.periods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 10px}.notifyrow,.toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:10px;flex-wrap:wrap}.notifyrow button{border:0;border-radius:10px;padding:9px 12px;font-weight:700;background:#211e1c;color:#fff}.alertbar{display:none;background:#211e1c;color:#fff;border-radius:12px;padding:12px 14px;margin-bottom:12px;font-weight:700}.alertbar.show{display:block}.total{font-size:18px;font-weight:800}.empty{text-align:center;color:#888;padding:35px 0}.badge{display:inline-block;font-size:11px;background:#eee;padding:3px 6px;border-radius:999px}.dateQuery{display:grid;grid-template-columns:auto 1fr auto;gap:8px}.dateQuery button,.dateQuery input,input,select{border:1px solid #ddd;border-radius:10px;padding:10px;background:#fff}.dateQuery input{width:100%}.split{display:grid;gap:10px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.formgrid .full{grid-column:1/-1}.formgrid input,.formgrid select{width:100%}.moneyline{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:10px}.order-note{background:#faf7f3;border-radius:9px;padding:8px;margin-top:8px}.hidden{display:none!important}.tablelist{display:grid;gap:8px}.table-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px;background:#fafafa;border-radius:10px}.membercard{display:grid;gap:6px}.pill{background:#eee;border-radius:999px;padding:4px 8px;font-size:12px}@media(min-width:620px){.stats{grid-template-columns:repeat(4,1fr)}.split{grid-template-columns:1.6fr 1fr}.formgrid{grid-template-columns:repeat(4,1fr)}}.menu-product{grid-template-columns:minmax(0,1fr) auto auto auto}.menu-product>div{min-width:0}@media(max-width:520px){.menu-product{grid-template-columns:1fr auto auto}.menu-product>div:first-child{grid-column:1/-1}}

/* V2.5 mobile POS navigation */
body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}main{padding-bottom:24px}.bottomNav{position:fixed;z-index:50;left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));max-width:720px;margin:auto;background:#fff;border-radius:24px;box-shadow:0 8px 30px #0002;display:grid;grid-template-columns:repeat(4,1fr);padding:7px}.bottomNav button{border:0;background:transparent;border-radius:18px;padding:7px 4px;color:#777;font-weight:700}.bottomNav button span{display:block;font-size:19px;line-height:20px;margin-bottom:3px}.bottomNav button.active{background:#211e1c;color:#fff}.sectionHead{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.searchbox{width:100%;font-size:16px;padding:13px 14px;margin-bottom:10px}.categoryChips{display:flex;gap:7px;overflow:auto;padding-bottom:10px}.categoryChips button{border:0;border-radius:18px;padding:8px 12px;white-space:nowrap}.categoryChips button.active{background:#211e1c;color:#fff}.catRow{display:grid;grid-template-columns:1fr auto auto auto;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid #eee}.catRow button{border:0;border-radius:8px;padding:7px 10px}.all-filter{margin-bottom:10px}.filterToggle{border:1px solid #ddd;background:#fff;border-radius:10px;padding:9px 13px}.filterPanel{background:#fff;border-radius:12px;padding:10px;margin-top:8px}.searchResult{width:100%;border:0;border-bottom:1px solid #eee;background:#fff;padding:12px;display:flex;justify-content:space-between;align-items:center;text-align:left}.searchResult span{display:grid;gap:2px}.searchResult small{color:#888}.searchHint{background:#fff;padding:12px;color:#888;border-radius:10px;margin-bottom:10px}.memberHub h3{margin:18px 0 8px}.memberActions{display:flex;gap:8px;margin:12px 0}.memberActions button{border:0;border-radius:10px;padding:10px 16px;font-weight:700}.inlineAction,.storeForm{display:grid;grid-template-columns:1fr auto;gap:8px;background:#f7f5f2;padding:10px;border-radius:12px}.storeForm{grid-template-columns:2fr 1fr 1fr auto}.storageRow{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.moregrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.moreCard{border:0;background:#fff;border-radius:14px;padding:16px;text-align:left;min-height:90px;box-shadow:0 1px 6px #0000000b}.moreCard b,.moreCard span{display:block}.moreCard span{color:#888;font-size:12px;margin-top:6px}@media(max-width:520px){header{padding:16px}.brand{font-size:23px}.topbar{margin-bottom:8px}.notifyrow{padding:9px}.filters{padding-bottom:10px}.filters button{flex:1;text-align:center}.storeForm{grid-template-columns:1fr 1fr}.storeForm input:first-child{grid-column:1/-1}.storeForm .btn{grid-column:1/-1}.sectionHead .btn{padding:9px}.moregrid{grid-template-columns:1fr 1fr}}
.memberActions{flex-wrap:wrap}.dangerGhost{background:#fff!important;color:#b42318!important;border:1px solid #f2c7c2!important}.ledgerRow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.ledgerRow .pos{color:#16794b}.ledgerRow .neg{color:#b42318}.calendarHead{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;text-align:center;margin-bottom:12px}.calendarHead button{border:0;background:#f4f1ed;border-radius:12px;font-size:28px;height:42px}.weekHead,.revenueCalendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekHead{font-size:12px;color:#888;text-align:center;margin-bottom:5px}.dayCell{border:0;background:#faf9f7;border-radius:10px;min-height:66px;padding:7px 3px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;overflow:hidden}.dayCell span{font-size:12px}.dayCell b{font-size:11px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dayCell.hasRevenue{background:#f1eee8}.dayCell.blank{background:transparent}.dayDetail{margin-top:14px;border-top:1px solid #eee;padding-top:12px}.compactStats{grid-template-columns:repeat(3,1fr);margin:10px 0}.compactStats .num{font-size:18px}.catRow{grid-template-columns:1fr auto auto auto}.catRow button{white-space:nowrap}.inlineAction{grid-template-columns:1fr 1fr auto}@media(max-width:520px){.inlineAction{grid-template-columns:1fr}.memberActions button{flex:1 1 28%}.dayCell{min-height:58px;padding:6px 2px}.dayCell b{font-size:10px}.compactStats{grid-template-columns:repeat(3,1fr)}}

/* V2.6.1 营业数据与会员记录压缩 */
.ledgerTitle{margin-top:22px;margin-bottom:8px;align-items:center}.revenueHero{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.heroStat{background:#171412;color:#fff;border-radius:20px;padding:18px 16px}.heroStat span{display:block;font-size:13px;opacity:.7;margin-bottom:7px}.heroStat b{font-size:30px;line-height:1}.revenueToolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.viewSwitch{display:flex;background:#eeeae6;border-radius:14px;padding:3px;gap:3px}.viewSwitch button{border:0;background:transparent;border-radius:11px;padding:9px 12px;font-weight:700}.viewSwitch button.active{background:#171412;color:#fff}.subtleStats{margin:10px 0}.revenueListRow{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:0;border-bottom:1px solid #eee;background:#fff;padding:14px 4px;text-align:left}.revenueListRow b{font-size:18px}.memberHub #ledgerMore.hidden{display:none!important}@media(max-width:520px){.revenueHero{grid-template-columns:1fr 1fr}.heroStat b{font-size:25px}.revenueToolbar{align-items:stretch}.calendarHead{flex:1}.viewSwitch{width:100%;justify-content:center}.viewSwitch button{flex:1}}

.orderNote{margin-top:6px;padding:7px 9px;border-radius:8px;background:#fff7d9;font-size:13px;line-height:1.5}.wholeNote{margin:10px 0}.capacityBar{height:12px;background:#e8e5e2;border-radius:99px;overflow:hidden;margin:14px 0}.capacityBar i{display:block;height:100%;background:#1d1a18}.capacityNums{display:flex;justify-content:space-between;font-size:13px}.dataBreakdown{margin-top:16px}.dataBreakdown>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee}.panel hr{border:0;border-top:1px solid #eee;margin:18px 0}

/* V2.8 营业数据年/月/日与容量警示 */
.monthTitleBtn{border:0;background:transparent;font:inherit;font-weight:800;font-size:20px;padding:8px 10px;border-radius:12px}.monthTitleBtn:active{background:#f1eeea}.pickerSheet{margin-top:12px;border:1px solid #eee;border-radius:18px;padding:14px;background:#fff}.pickerTop{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.yearScroller{display:flex;gap:8px;overflow-x:auto;padding:5px 0 10px;-webkit-overflow-scrolling:touch}.yearScroller button,.monthGrid button{border:0;background:#f4f1ed;border-radius:12px;padding:10px 14px;font-weight:700;white-space:nowrap}.yearScroller button.active,.monthGrid button.active{background:#171412;color:#fff}.monthGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.annualHero{background:#171412;color:white;border-radius:20px;padding:18px;margin:12px 0}.annualHero span{display:block;opacity:.7;font-size:13px}.annualHero b{font-size:30px}.yearMonthList{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.yearMonthCard{border:0;background:#f7f5f2;border-radius:16px;padding:14px;text-align:left}.yearMonthCard span{display:block;color:#777;font-size:13px}.yearMonthCard b{font-size:20px}.orderDetailCard{border-top:1px solid #eee;padding:12px 0}.orderDetailHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.orderDetailItems{margin-top:8px}.orderDetailItem{display:flex;justify-content:space-between;gap:10px;padding:5px 0;color:#555}.retentionRules{display:grid;gap:8px;margin:12px 0}.retentionRules div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f7f5f2;border-radius:12px}.capacityAlert{margin:12px 0;padding:12px 14px;border-radius:14px;font-weight:700}.capacityAlert.warn{background:#fff4d6;color:#6d4d00}.capacityAlert.danger{background:#ffe7e4;color:#9d2218}.capacityAlert.critical{background:#b42318;color:#fff}.manualCleanGrid{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px}.manualCleanGrid input{min-width:0}.detailExpired{padding:14px;border-radius:14px;background:#f7f5f2;color:#777;margin-top:10px}@media(max-width:520px){.monthGrid{grid-template-columns:repeat(3,1fr)}.yearMonthList{grid-template-columns:1fr 1fr}.manualCleanGrid{grid-template-columns:1fr}.monthTitleBtn{font-size:18px}}
