:root{color:#123f39;font-synthesis:none;background:#f5f1e7;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#e8f4ef,#faf3e5);min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.top{color:#fff;z-index:10;background:#124e45;justify-content:space-between;align-items:center;height:68px;padding:0 max(20px,50% - 590px);display:flex;position:sticky;top:0;box-shadow:0 4px 20px #0b3a3325}.top div{align-items:baseline;gap:12px;display:flex}.top b{font-size:25px}.top span{opacity:.8}.text,.ghost{color:inherit;background:#ffffff18;border:0;border-radius:12px;padding:10px 14px}.customer{max-width:1020px;margin:auto;padding:28px 18px 110px}.hero{padding:24px 6px 18px}.hero p{color:#66827c;margin:0}.hero h1{margin:8px 0;font-size:34px}.cats{scrollbar-width:none;gap:8px;padding:4px 0 18px;display:flex;overflow:auto}.cats button,.tabs button{white-space:nowrap;color:#315d56;background:#fff;border:1px solid #c6d8d3;border-radius:999px;padding:10px 18px}.cats .on,.tabs .on{color:#fff;background:#15584f;border-color:#15584f}.menu{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.menu article{background:#fff;border-radius:20px;grid-template-columns:78px 1fr auto;align-items:center;gap:14px;padding:15px;display:grid;position:relative;box-shadow:0 8px 25px #2d58480e}.pic{background:linear-gradient(145deg,#dceee8,#f7edda);border-radius:17px;place-items:center;width:78px;height:78px;font-size:34px;display:grid}.food small{color:#79918c}.food h3{margin:4px 0;font-size:17px}.food p{color:#82908d;margin:0 0 8px;font-size:13px}.food strong{font-size:18px}.add,.qty button{color:#fff;background:#15584f;border:0;border-radius:50%;width:34px;height:34px;font-size:21px}.qty{align-items:center;gap:8px;display:flex}.qty button{width:30px;height:30px}.cartbar{z-index:12;color:#fff;background:#143e39;border-radius:22px;justify-content:space-between;align-items:center;width:min(620px,100% - 28px);height:72px;padding:10px 12px 10px 24px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #103d3650}.cartbar div{flex-direction:column;display:flex}.cartbar small{opacity:.7}.cartbar b{font-size:23px}.cartbar button,.primary{color:#183d38;background:#d9aa62;border:0;border-radius:16px;padding:16px 25px;font-weight:800}.page{max-width:720px;margin:auto;padding:22px 16px 70px}.back{color:#315c55;background:0 0;border:0;margin-bottom:12px}.panel{background:#fff;border-radius:26px;padding:28px;box-shadow:0 15px 50px #28574a14}.panel h1{margin-top:0}.switch{background:#edf3f1;border-radius:14px;margin-bottom:22px;padding:5px;display:flex}.switch button{color:#41665f;background:0 0;border:0;border-radius:11px;flex:1;padding:12px}.switch .on{color:#154f46;background:#fff;font-weight:700;box-shadow:0 3px 12px #24493c12}label{margin:18px 0 8px;font-weight:700;display:block}input{background:#fff;border:1px solid #c7d8d4;border-radius:13px;outline:none;width:100%;padding:14px 15px}input:focus{border-color:#15584f;box-shadow:0 0 0 3px #15584f18}.orderlines{border-top:1px solid #e6edeb;border-bottom:1px solid #e6edeb;margin:12px 0;padding:10px 0}.orderlines div,.sum span{justify-content:space-between;padding:8px 0;display:flex}.inline{gap:8px;display:flex}.inline button{color:#154f46;background:#e2efeb;border:0;border-radius:13px;padding:0 18px;font-weight:700}.notice{border-radius:12px;padding:13px}.good{color:#267344;background:#e7f5e9}.bad{color:#a74235;background:#fff0ed}.sum{margin:18px 0}.sum span b{font-weight:600}.sum .pay{border-top:1px solid #dce6e3;margin-top:6px;padding-top:14px;font-size:18px}.sum .pay b{color:#15584f;font-size:26px}.primary{color:#fff;background:#15584f;width:100%;margin-top:16px;display:block}.primary:disabled{opacity:.55}.hint{color:#80918d;text-align:center;font-size:13px}.center{text-align:center}.check{color:#16724e;background:#dff1e6;border-radius:50%;place-items:center;width:58px;height:58px;margin:auto;font-size:30px;display:grid}.pickup{color:#154f46;font-size:72px;margin:10px!important}.login{max-width:440px;margin:40px auto}.login p{color:#778c87}.staffpage{max-width:1180px;margin:auto;padding:28px 20px 80px}.staffhead{justify-content:space-between;align-items:center;display:flex}.staffhead h1{margin:0}.staffhead p{color:#6e847f;margin:5px 0}.staffhead .ghost{color:#315c55;background:#fff}.statrow{grid-template-columns:repeat(4,1fr);gap:13px;margin:22px 0;display:grid}.refund-note{font-weight:700;color:#a43d32!important}.danger-action{color:#fff;background:#a94035;border:0;border-radius:13px;width:100%;margin-top:10px;padding:13px 16px;font-size:15px;font-weight:800}.danger-action:disabled{opacity:.55}.refund-modal form{background:#fff;border-radius:20px;width:min(560px,92vw);max-height:90vh;padding:24px;position:relative;overflow:auto}.refund-modal label{margin:15px 0;font-weight:700;display:block}.refund-modal input,.refund-modal select{box-sizing:border-box;background:#fff;border:1px solid #ccd9d5;border-radius:11px;width:100%;margin-top:7px;padding:12px;display:block}.refund-summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.refund-summary div{text-align:center;background:#f3f6f5;border-radius:12px;padding:13px 8px}.refund-summary small,.refund-summary b{display:block}.refund-summary b{margin-top:5px}.refund-explain{color:#80541c;background:#fff5e8;border-radius:12px;padding:12px;line-height:1.7}.refund-explain.full{color:#873b34;background:#fbeceb}.refund-history{background:#f6f7f7;border-radius:13px;margin-top:15px;padding:13px}.refund-history h3{margin-top:0}.refund-history p{border-top:1px solid #e1e5e3;padding-top:8px}.refund-history p b,.refund-history p span{display:block}.refund-history p span{color:#69756f;margin-top:4px;font-size:12px}.statrow div{background:#fff;border-radius:18px;flex-direction:column;padding:18px;display:flex}.statrow b{font-size:25px}.statrow small{color:#78908a}.tabs{gap:8px;margin-bottom:18px;display:flex;overflow:auto}.cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.cards article{background:#fff;border-radius:20px;padding:18px;box-shadow:0 8px 28px #315d5110}.cards article>div{justify-content:space-between;align-items:center;display:flex}.cards strong{font-size:34px}.cards article>div span{background:#e7f0ed;border-radius:99px;padding:5px 10px}.cards h3{min-height:48px;font-size:15px;line-height:1.6}.cards p{color:#7e908c;font-size:13px}.cards footer{justify-content:space-between;align-items:center;display:flex}.cards footer b{font-size:21px}.cards footer button{color:#fff;background:#15584f;border:0;border-radius:12px;padding:10px 13px}.empty{text-align:center;color:#7d918c;grid-column:1/-1;padding:50px}.modal{z-index:30;background:#0a2824cc;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.modal>div{background:#fff;border-radius:20px;width:min(440px,100%);padding:18px;position:relative}.close{background:0 0;border:0;font-size:28px;position:absolute;top:10px;right:15px}.receipt{color:#111;background:#fff;width:80mm;max-width:100%;margin:auto;padding:6mm;font-family:monospace}.receipt h2,.receipt .thanks{text-align:center}.receipt p{margin:7px 0}.receipt p span,.receipt h3 span{float:right}.receipt hr{border:0;border-top:1px dashed #333}.receipt h3{font-size:20px}.thanks{margin-top:18px!important}.receipt+.primary{max-width:80mm;margin:14px auto 0}.orderlines+small{word-break:break-all}@media (width<=760px){.menu,.cards{grid-template-columns:1fr}.panel{padding:22px}.statrow{grid-template-columns:repeat(2,1fr);gap:7px}.statrow div{padding:13px}.statrow b{font-size:20px}.top{padding:0 16px}.food p{display:none}}.member-invite-box{background:#f4faf7;border:1px solid #d7e4df;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin:20px 0;padding:22px;display:grid}.member-invite-box h3{margin:0 0 8px}.member-invite-box p{color:#566b64;margin:6px 0}.member-invite-actions{gap:10px;margin-top:16px;display:flex}.member-invite-actions button{border-radius:10px;padding:11px 18px}.member-invite-qr{background:#fff;border-radius:14px;place-items:center;padding:12px;display:grid;box-shadow:0 5px 18px #14463a17}.invite-page{background:#edf5f1;min-height:100vh;padding:32px 16px}.invite-register,.invite-success{box-sizing:border-box;background:#fff;border-radius:24px;width:min(560px,100%);margin:0 auto;padding:30px;box-shadow:0 12px 42px #0f43351f}.invite-register h1,.invite-success h1{color:#155e50}.invite-register form label{margin:15px 0;font-weight:700;display:block}.invite-register form input{box-sizing:border-box;border:1px solid #c9d7d2;border-radius:12px;width:100%;margin-top:7px;padding:14px}.invite-register form button,.invite-success>button{border-radius:12px;width:100%;padding:14px}.invite-gift-icon{background:#e7f5ed;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 16px;font-size:34px;display:grid}.invite-coupon-preview{color:#74520e;text-align:center;background:#fff7df;border:2px dashed #d7a63c;border-radius:16px;margin:20px 0;padding:20px}.invite-coupon-preview strong{font-size:28px;display:block}.invite-success{text-align:center}@media (width<=620px){.member-invite-box{grid-template-columns:1fr}.member-invite-qr{justify-self:center}.member-invite-actions{flex-direction:column}.invite-register,.invite-success{padding:22px 18px}}.marketing-entry{color:#fff;background:linear-gradient(135deg,#145b4e,#277766);border-radius:17px;justify-content:space-between;align-items:center;gap:18px;margin:20px 0;padding:20px 22px;display:flex}.marketing-entry h3,.marketing-entry p{margin:4px 0}.marketing-entry button{color:#145b4e;background:#fff}.marketing-center{background:#f7faf9;border:1px solid #d6e1dd;border-radius:18px;margin:18px 0 28px;padding:22px}.marketing-center>form{grid-template-columns:repeat(5,minmax(110px,1fr));gap:12px;display:grid}.marketing-center label{font-size:13px;font-weight:700}.marketing-center input,.marketing-center select{box-sizing:border-box;background:#fff;border:1px solid #c9d7d2;border-radius:10px;width:100%;margin-top:6px;padding:11px}.marketing-center .wide{grid-column:span 3}.marketing-actions{align-items:end;gap:10px;display:flex}.marketing-actions button{border-radius:10px;flex:1;padding:11px}.marketing-preview,.marketing-history{background:#fff;border-radius:14px;margin-top:20px;padding:17px}.marketing-preview header{justify-content:space-between;align-items:center;display:flex}.marketing-preview header h3{margin:0}.marketing-preview header>b{color:#fff;background:#176154;border-radius:999px;padding:7px 12px}.marketing-preview article,.marketing-history article{border-bottom:1px solid #edf1ef;grid-template-columns:1.4fr 1fr 1.2fr;align-items:center;gap:12px;padding:11px 0;display:grid}.marketing-preview article span,.marketing-history article span{gap:3px;display:grid}.marketing-preview small,.marketing-history small{color:#788781}.marketing-history article{grid-template-columns:1.4fr 1.2fr .8fr .9fr auto}.marketing-history article>button{white-space:nowrap;border-radius:9px;padding:8px 11px}.marketing-detail{z-index:180;background:#08231e94;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.marketing-detail>section{background:#fff;border-radius:20px;width:min(940px,94vw);max-height:88vh;padding:25px;position:relative;overflow:auto}.marketing-detail>section>h2{margin:0 45px 5px 0}.marketing-detail>section>p{color:#64756f}.marketing-detail-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0;display:grid}.marketing-detail-summary>div{background:#eef6f3;border-radius:13px;gap:5px;padding:15px;display:grid}.marketing-detail-summary b{color:#145b4e;font-size:21px}.marketing-detail-summary small{color:#687a74}.marketing-delivery-list article{border-bottom:1px solid #e9efec;grid-template-columns:1fr 1.2fr auto 1fr;align-items:center;gap:12px;padding:12px 3px;display:grid}.marketing-delivery-list span{gap:3px;display:grid}.marketing-delivery-list small{color:#788781}.marketing-delivery-list em{white-space:nowrap;color:#176154;background:#e5efeb;border-radius:999px;padding:6px 9px;font-style:normal}.marketing-delivery-list em.redeemed{color:#16734f;background:#dff3e9}.marketing-delivery-list em.expired{color:#8b6464;background:#f2eeee}.profit-line{border-top:1px solid #145b4e1f;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;font-size:12px;display:flex}.profit-line strong{color:#176154}.top-products .business-table>div{grid-template-columns:minmax(190px,1.6fr) .55fr .55fr .8fr .7fr 1fr}.top-products .business-table small{color:#718079;display:inline}@media (width<=900px){.marketing-center>form{grid-template-columns:repeat(2,1fr)}.marketing-center .wide{grid-column:span 2}}@media (width<=620px){.marketing-entry{display:block}.marketing-entry button{width:100%;margin-top:12px}.marketing-center>form{grid-template-columns:1fr}.marketing-center .wide{grid-column:1}.marketing-preview article,.marketing-history article{grid-template-columns:1fr}.marketing-detail-summary{grid-template-columns:repeat(2,1fr)}.marketing-delivery-list article{grid-template-columns:1fr 1fr}}.inventory-modal>div{width:min(1120px,94vw);max-height:92vh;overflow:auto}.inventory-grid{grid-template-columns:1.5fr .8fr;gap:20px;display:grid}.inventory-list>div{border:1px solid #dce6e2;border-radius:12px;grid-template-columns:1fr 120px repeat(3,auto);align-items:center;gap:8px;margin:8px 0;padding:12px;display:grid}.inventory-list>div.low{background:#fff8e8;border-color:#e5a72d}.inventory-list span small{color:#77847f;margin-top:4px;display:block}.inventory-list button,.recipe-chips button{background:#fff;border:1px solid #c9d6d1;border-radius:9px;padding:8px 10px}.inventory-editor{background:#f4f8f6;border-radius:14px;padding:16px}.inventory-editor label{margin:10px 0;font-weight:700;display:block}.inventory-editor input{box-sizing:border-box;border:1px solid #cad7d2;border-radius:9px;width:100%;margin-top:6px;padding:10px}.inventory-editor label small{color:#7b8883;margin-top:5px;font-weight:400;display:block}.purchase-cost-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.inventory-warning{color:#895c00;background:#fff0c6;border-radius:999px;padding:9px 14px}.inventory-ok{color:#176154}.recipe-editor,.inventory-history{border-top:1px solid #dce5e1;margin-top:22px;padding-top:18px}.recipe-editor select{border:1px solid #c9d6d1;border-radius:9px;min-width:280px;padding:10px}.recipe-editor p{color:#71807a}.product-profit-card{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0;display:grid}.product-profit-card span{background:#edf5f2;border-radius:12px;padding:13px}.product-profit-card small{color:#70807a;display:block}.product-profit-card b{color:#165d51;margin-top:5px;font-size:20px;display:block}.product-profit-card .low-margin{background:#fff0e8}.product-profit-card .low-margin b{color:#b04728}.recipe-chips{flex-wrap:wrap;gap:9px;display:flex}.recipe-chips button.on{color:#fff;background:#176154;border-color:#176154}.recipe-rows{gap:10px;display:grid}.recipe-rows>div{background:#fff;border:1px solid #d5e0dc;border-radius:12px;grid-template-columns:minmax(180px,1fr) minmax(180px,260px) 120px;align-items:center;gap:12px;padding:12px;display:grid}.recipe-rows>div.on{background:#f2f8f6;border-color:#6ba095}.recipe-rows span small{color:#788781;margin-top:4px;display:block}.recipe-rows label{align-items:center;gap:8px;margin:0;display:flex}.recipe-rows input{min-width:0;margin:0}.recipe-rows em{white-space:nowrap;color:#667770;font-style:normal}.recipe-rows button{color:#fff;background:#176154;border:0;border-radius:10px;padding:11px 12px;font-weight:700}.inventory-history>div{border-bottom:1px solid #e5ebe8;grid-template-columns:150px 80px 1fr 130px;gap:10px;padding:10px 4px;display:grid}.inventory-history .plus{color:#168052}.inventory-history .minus{color:#b24435}.inventory-history time{color:#7b8883;text-align:right}@media (width<=760px){.inventory-grid{grid-template-columns:1fr}.inventory-list>div{grid-template-columns:1fr 100px}.inventory-list button{width:100%}.inventory-history>div{grid-template-columns:1fr 70px}.inventory-history time{text-align:left}.recipe-rows>div{grid-template-columns:1fr}.recipe-rows button{width:100%}.purchase-cost-fields,.product-profit-card{grid-template-columns:1fr 1fr}}.customer-order-timing{color:#124f43;background:#edf5f1;border-radius:16px;gap:8px;margin:14px 0;padding:16px;display:grid}.customer-order-timing.overdue{color:#9a351e;background:#fff0e8}.customer-order-timing span{font-size:14px}.customer-order-timing button{color:#fff;background:#126154;border:0;border-radius:12px;min-height:44px;font-weight:800}.customer-order-timing button:disabled{color:#60706a;background:#cfd8d4}.staff-order-timing{color:#155b4f;background:#edf5f1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:9px 10px;font-size:13px;display:flex}.staff-order-timing.warning{color:#795a00;background:#fff4cf}.staff-order-timing.overdue{color:#a5261c;background:#ffe4df;box-shadow:inset 4px 0 #d23c30}.staff-order-timing strong{color:#b33a16}.staff-order-timing button{color:inherit;background:#fff;border:1px solid;border-radius:9px;margin-left:auto;padding:7px 10px}.business-status-banner{border-radius:16px;flex-direction:column;gap:4px;margin:0 0 18px;padding:15px 18px;display:flex}.business-status-banner.open{color:#155c48;background:#e9f5ee}.business-status-banner.stopped{color:#9a3d20;background:#fff1e7}.business-status-banner b{font-size:17px}.business-status-banner span{font-size:14px}.item-stepper button:disabled{opacity:.35;cursor:not-allowed}.business-control-modal>div{width:min(760px,94vw);max-height:92vh;overflow:auto}.control-current{border-radius:14px;flex-direction:column;gap:5px;margin:16px 0;padding:16px 18px;display:flex}.control-current.open{color:#155c48;background:#e9f5ee}.control-current.stopped{color:#a53222;background:#fff0ed}.control-actions{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;display:grid}.control-actions button{background:#fff;border:1px solid #cbd8d3;border-radius:12px;padding:13px 8px;font-weight:700}.control-actions button.on{color:#fff;background:#155c48;border-color:#155c48}.control-actions button.warn.on{background:#b66a12;border-color:#b66a12}.control-actions button.danger.on{background:#b23b2b;border-color:#b23b2b}.business-control-modal label{margin:14px 0;font-weight:700;display:block}.business-control-modal label>input{width:100%;margin-top:7px;display:block}.schedule-grid{gap:8px;margin:12px 0 18px;display:grid}.schedule-grid>div{grid-template-columns:70px 1fr 24px 1fr;align-items:center;gap:8px;display:grid}.schedule-grid input{min-width:0;margin:0}@media (width<=650px){.control-actions{grid-template-columns:1fr 1fr}.schedule-grid>div{grid-template-columns:55px 1fr 20px 1fr}}.shift-modal{width:min(980px,100vw - 32px);max-height:92vh;overflow-y:auto}.shift-title,.shift-current-head,.shift-history article{justify-content:space-between;align-items:center;gap:16px;display:flex}.shift-title p,.shift-current-head small,.shift-history small{color:#6d7874;margin:4px 0 0;display:block}.today-close,.current-shift,.shift-history,.shift-form{background:#fff;border:1px solid #e0e9e5;border-radius:16px;margin-top:16px;padding:18px}.today-close{background:#f3f8f6}.today-close .section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.shift-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;display:grid}.shift-metrics div{background:#f5f7f6;border-radius:12px;padding:13px}.shift-metrics span,.shift-metrics b{display:block}.shift-metrics span{color:#6d7874;font-size:13px}.shift-metrics b{color:#154f46;margin-top:6px;font-size:20px}.shift-form label{color:#44504c;gap:7px;margin-top:12px;display:grid}.shift-form input,.shift-form textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid #ccd9d4;border-radius:10px;padding:11px 12px}.shift-form textarea{resize:vertical;min-height:76px}.shift-form .primary{margin-top:14px}.shift-fields{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.shift-current-head>div{gap:3px;display:grid}.shift-current-head>div>b{color:#154f46;font-size:22px}.shift-history article{border-top:1px solid #e6ece9;padding:14px 0}.shift-history article:first-of-type{border-top:0}.shift-history article>div{gap:4px;display:grid}.shift-history article>div:last-child{text-align:right;justify-items:end}@media (width<=760px){.shift-metrics,.shift-fields{grid-template-columns:repeat(2,1fr)}.shift-title,.shift-current-head,.shift-history article{flex-direction:column;align-items:stretch}.shift-history article>div:last-child{text-align:left;justify-items:start}}@media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.receipt{width:80mm;padding:3mm;position:absolute;top:0;left:0}.modal{background:#fff;padding:0;position:static}.receipt+.primary,.close{display:none}}.coupon-modal>div{width:min(900px,100%);max-height:94vh;overflow:auto}.member-admin-modal>div{width:min(1080px,96vw);max-height:94vh;position:relative;overflow:auto}.member-admin-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.member-admin-stats div{background:#edf5f2;border-radius:14px;flex-direction:column;padding:15px;display:flex}.member-admin-stats b{font-size:25px}.member-admin-search{grid-template-columns:1fr auto auto;gap:8px;margin-bottom:14px;display:grid}.member-admin-search button,.member-admin-list button,.member-admin-coupons button{color:#154f46;background:#e2efeb;border:0;border-radius:10px;padding:10px 13px;font-weight:700}.member-admin-list{gap:9px;display:grid}.member-admin-list>article{cursor:pointer;border:1px solid #dfe9e6;border-radius:14px;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.member-admin-list article div,.member-admin-detail header>div{flex-direction:column;display:flex}.member-admin-list small,.member-admin-detail small{color:#70817c}.member-level{color:#176154;background:#e6f2ee;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700}.member-level.silver{color:#57646a;background:#e9edef}.member-level.gold{color:#966b12;background:#fff0c9}.member-admin-detail{z-index:3;background:#f7faf9;border-radius:20px;padding:24px;position:fixed;inset:3vh 3vw;overflow:auto;box-shadow:0 20px 80px #0005}.member-admin-detail>header{color:#fff;background:linear-gradient(135deg,#154f46,#287466);border-radius:16px;justify-content:space-between;align-items:center;padding:20px;display:flex}.member-admin-detail header h2,.member-admin-detail header p{margin:4px 0}.member-admin-detail header>div:last-child{text-align:right}.member-admin-detail header>div:last-child b{font-size:28px}.member-issue-form{background:#fff;border:1px solid #dce8e4;border-radius:15px;grid-template-columns:repeat(4,1fr) auto;align-items:end;gap:10px;margin:15px 0;padding:16px;display:grid}.member-issue-form h3{grid-column:1/-1;margin:0}.member-issue-form label{margin:0;font-size:13px}.member-issue-form input{margin-top:5px}.member-admin-detail>section{background:#fff;border-radius:15px;margin:14px 0;padding:16px}.member-admin-coupons,.member-admin-orders{gap:8px;display:grid}.member-admin-coupons article,.member-admin-orders article{border-bottom:1px solid #e3ebe8;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:12px;padding:11px;display:grid}.member-admin-coupons article>div,.member-admin-orders article>div{flex-direction:column;display:flex}.coupon-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0;display:grid}.coupon-stats div{background:#edf5f2;border-radius:14px;flex-direction:column;padding:14px;display:flex}.coupon-stats b{font-size:24px}.coupon-stats small{color:#6f8882}.coupon-settings{border:1px solid #dce8e4;border-radius:16px;padding:16px}.coupon-settings>div{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.coupon-settings label{margin:8px 0}.coupon-switch input{width:auto;margin-right:8px}.coupon-tools{grid-template-columns:1fr auto auto;gap:8px;margin:18px 0 10px;display:grid}.coupon-tools button,.coupon-list article button{color:#154f46;background:#e2efeb;border:0;border-radius:12px;padding:10px 14px;font-weight:700}.coupon-list{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.coupon-list article{border:1px solid #e0e9e6;border-radius:14px;padding:14px;position:relative}.coupon-list article>div{justify-content:space-between;gap:8px;display:flex}.coupon-list article p,.coupon-list article small{margin:7px 0;display:block}.coupon-status{color:#277248;white-space:nowrap;background:#e8f4eb;border-radius:99px;padding:3px 9px}.coupon-status.redeemed,.coupon-status.expired,.coupon-status.voided{color:#777;background:#f1f1f1}@media (width<=760px){.member-admin-list>article,.member-admin-coupons article,.member-admin-orders article{grid-template-columns:1fr}.member-admin-search{grid-template-columns:1fr 1fr}.member-admin-search input{grid-column:1/-1}.member-issue-form{grid-template-columns:1fr 1fr}.member-issue-form h3,.member-issue-form .primary{grid-column:1/-1}.coupon-stats,.coupon-settings>div,.coupon-list{grid-template-columns:repeat(2,1fr)}.coupon-tools{grid-template-columns:1fr 1fr}.coupon-tools input{grid-column:1/-1}}.pic.has-photo{background:#eee;padding:0;overflow:hidden}.pic.has-photo img{object-fit:cover;width:100%;height:100%;display:block}.business-modal>div{width:min(1040px,94vw);max-height:92vh;overflow:auto}.business-title{justify-content:space-between;align-items:center;gap:16px;margin-right:44px;display:flex}.business-title h2,.business-title p{margin:0 0 5px}.business-title button{color:#154f46;background:#e2efeb;border:0;border-radius:12px;padding:11px 16px;font-weight:700}.business-periods{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.business-periods article{background:#f0f6f3;border-radius:16px;padding:18px}.business-periods span,.business-periods small{color:#65746f;display:block}.business-periods b{color:#154f46;margin:8px 0;font-size:28px;display:block}.business-grid{grid-template-columns:1.35fr 1fr;gap:14px;display:grid}.business-grid section,.top-products{border:1px solid #e0e9e6;border-radius:16px;padding:18px}.business-grid h3,.top-products h3{margin:0 0 14px}.sales-bars>div{grid-template-columns:48px 1fr 76px;align-items:center;gap:8px;margin:11px 0;font-size:13px;display:grid}.sales-bars>div>i{background:#edf1ef;border-radius:9px;height:10px;overflow:hidden}.sales-bars em{border-radius:inherit;background:#2b7868;height:100%;display:block}.sales-bars b{text-align:right}.business-mini{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px;display:grid}.business-mini.coupon{grid-template-columns:repeat(4,1fr)}.business-mini div{text-align:center;background:#f5f7f6;border-radius:12px;padding:12px 8px}.business-mini b,.business-mini small{display:block}.business-mini b{color:#154f46;font-size:20px}.business-mini small{color:#6d7874;margin-top:5px}.top-products{margin-top:14px}.business-table>div{border-top:1px solid #e6ece9;grid-template-columns:minmax(180px,1fr) 90px 90px 110px;align-items:center;gap:8px;padding:10px;display:grid}.business-table .head{color:#6d7874;border:0}.business-table>div>span:first-child{align-items:center;gap:10px;display:flex}.business-table i{color:#154f46;background:#e2efeb;border-radius:50%;place-items:center;width:25px;height:25px;font-style:normal;display:inline-grid}.business-table b{text-align:right}@media (width<=760px){.business-periods,.business-grid{grid-template-columns:1fr}.business-mini.coupon{grid-template-columns:repeat(2,1fr)}.business-table>div{grid-template-columns:minmax(130px,1fr) 55px 55px 85px;font-size:12px}}.staff-admin-modal>div{width:min(1050px,95vw);max-height:92vh;overflow:auto}.staff-admin-grid{grid-template-columns:1.25fr .9fr;gap:16px;margin:20px 0;display:grid}.staff-list,.staff-editor,.staff-logs{border:1px solid #e0e9e6;border-radius:16px;padding:18px}.staff-list h3,.staff-editor h3,.staff-logs h3{margin:0 0 14px}.staff-list>div{border-top:1px solid #e6ece9;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.staff-list>div.off{opacity:.55}.staff-list span,.staff-list small{display:block}.staff-list small{color:#6d7874;margin-top:4px}.staff-list button,.staff-editor .ghost{color:#154f46;background:#e2efeb;border:0;border-radius:10px;padding:9px 13px;font-weight:700}.staff-editor label{margin:12px 0;font-weight:700;display:block}.staff-editor input,.staff-editor select{box-sizing:border-box;background:#fff;border:1px solid #ccd9d5;border-radius:10px;width:100%;margin-top:7px;padding:12px}.staff-editor .staff-active{align-items:center;gap:9px;display:flex}.staff-editor .staff-active input{width:auto;margin:0}.staff-editor>div{gap:10px;display:flex}.staff-logs{margin-bottom:8px}.audit-row{border-top:1px solid #e6ece9;grid-template-columns:150px 130px minmax(150px,1fr) 150px;align-items:center;gap:10px;padding:10px 4px;font-size:13px;display:grid}.audit-row small{color:#6d7874;display:block}.audit-row time{color:#6d7874;text-align:right}.customer-head-actions{align-items:center;gap:8px;display:flex}.customer-head-actions .text{padding:8px 10px}.member-page{max-width:920px}.member-login{max-width:520px;margin:20px auto}.member-login form label{margin:14px 0;font-weight:700;display:block}.member-login form input{box-sizing:border-box;border:1px solid #ccd9d5;border-radius:11px;width:100%;margin-top:7px;padding:13px}.member-card{color:#fff;background:linear-gradient(135deg,#154f46,#287466);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin:14px 0;padding:24px;display:flex}.member-card h1,.member-card p{margin:6px 0}.member-card button{color:#fff;background:#ffffff18;border:1px solid #fff6;border-radius:10px;padding:10px 14px}.member-points{background:linear-gradient(135deg,#fff9e9,#fff);border:1px solid #e7d8ae;border-radius:18px;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:18px;margin:18px 0;padding:22px;display:grid}.member-points-balance small,.member-points-balance span,.member-points-summary small{color:#746848;display:block}.member-points-balance strong{color:#9b6c13;margin:5px 0;font-size:44px;line-height:1;display:block}.member-points-summary{grid-template-columns:1fr 1fr;align-items:center;gap:12px;display:grid}.member-points-summary span{background:#fff8e5;border-radius:13px;padding:14px}.member-points-summary b{color:#654b1a;margin-top:5px;font-size:18px;display:block}.member-point-history{border-top:1px solid #eadfbe;grid-column:1/-1;padding-top:14px}.member-point-history summary{color:#654b1a;cursor:pointer;font-weight:700}.member-point-history article{border-bottom:1px solid #eee6d2;justify-content:space-between;gap:16px;padding:12px 2px;display:flex}.member-point-history article div>*{display:block}.member-point-history article small{color:#7b7566;margin-top:3px}.member-point-history article>strong{font-size:20px}.member-point-history .plus{color:#23715f}.member-point-history .minus{color:#b34a38}.member-point-history article.expired{opacity:.52}.member-growth{background:linear-gradient(135deg,#f4faf7,#fff);border:1px solid #d7e4df;border-radius:18px;margin:18px 0;padding:22px}.member-growth.silver{background:linear-gradient(135deg,#eef2f3,#fff)}.member-growth.gold{background:linear-gradient(135deg,#fff4d7,#fffdf7);border-color:#e5d09b}.member-growth-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.member-growth-head h2{color:#154f46;margin:4px 0 0}.member-growth-stats{gap:20px;display:flex}.member-growth-stats span,.member-growth-stats b{text-align:right;display:block}.member-progress{background:#dce7e3;border-radius:10px;height:10px;margin:18px 0 10px;overflow:hidden}.member-progress i{border-radius:inherit;background:linear-gradient(90deg,#2d806e,#d1a84a);height:100%;display:block}.member-growth>p{color:#5f6e69}.member-rights{border-top:1px solid #dce7e3;flex-wrap:wrap;gap:8px 15px;margin-top:15px;padding-top:15px;display:flex}.member-rights b{width:100%}.member-rights span{color:#35584f;font-size:14px}.member-section{background:#fff;border-radius:18px;margin:18px 0;padding:20px}.member-section h2{justify-content:space-between;margin:0 0 15px;display:flex}.member-section h2 small{color:#65746f;font-size:14px}.member-coupon-list,.member-order-list{gap:12px;display:grid}.member-coupon-list article{background:#f4faf7;border:1px solid #d9e8e3;border-radius:15px;grid-template-columns:150px 1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.member-coupon-list article.off{filter:grayscale();opacity:.58}.member-coupon-list article>div:first-child b{color:#154f46;font-size:30px;display:block}.member-coupon-list article span,.member-coupon-list article small{color:#65746f;margin-top:4px;display:block}.member-coupon-list article button{color:#fff;background:#154f46;border:0;border-radius:10px;padding:10px 15px;font-weight:700}.member-order-list article{border:1px solid #e0e9e6;border-radius:14px;padding:15px}.member-order-list article>div,.member-order-list footer{justify-content:space-between;gap:12px;display:flex}.member-order-list p{color:#43534e}.member-order-list footer small{color:#71807b}.member-order-status{color:#154f46;background:#e2efeb;border-radius:12px;padding:3px 9px;font-size:12px}.checkout-member-coupons{background:#f1f7f4;border-radius:12px;margin:10px 0 16px;padding:12px}.checkout-member-coupons>b{margin-bottom:8px;display:block}.checkout-member-coupons button{background:#fff;border:1px solid #bcd3cc;border-radius:10px;margin:4px 6px 4px 0;padding:9px 11px}.checkout-member-coupons button.on{color:#fff;background:#154f46}.points-redeem-box{background:#f5faf7;border:1px solid #d9e7df;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin:12px 0;padding:14px;display:flex}.points-redeem-box div{gap:4px;display:grid}.points-redeem-box small{color:#66756d}.points-redeem-box button.on{color:#fff;background:#165f50}.member-quick-modal>section{box-sizing:border-box;text-align:center;background:#fff;border-radius:22px;width:min(440px,100vw - 32px);max-height:calc(100vh - 32px);padding:26px;position:relative;overflow:auto}.member-quick-modal h2{margin:10px 0 6px}.member-quick-modal>section>p{color:#66756f}.member-quick-icon{color:#fff;background:#176154;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto;font-size:27px;font-weight:800;display:grid}.member-quick-modal .switch{margin:18px 0 10px}.member-quick-modal form label{text-align:left;margin:12px 0;font-weight:700;display:block}.member-quick-modal form input{box-sizing:border-box;border:1px solid #ccd9d5;border-radius:11px;width:100%;margin-top:7px;padding:13px}.member-guest{color:#40534d;background:#fff;border:1px solid #bfcac6;border-radius:11px;width:100%;margin-top:10px;padding:12px;font-weight:700}.member-quick-note{color:#87938f;margin-top:12px;line-height:1.5;display:block}@media (width<=620px){.member-points{grid-template-columns:1fr}.member-point-history{grid-column:1}.member-growth-head{display:block}.member-growth-stats{justify-content:space-between;margin-top:16px}.member-growth-stats span,.member-growth-stats b{text-align:left}.member-coupon-list article{grid-template-columns:1fr}.member-coupon-list article button{width:100%}.customer-head-actions{gap:2px}.customer-head-actions .text{padding:7px 5px;font-size:12px}}@media (width<=760px){.staff-admin-grid{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr 1fr}.audit-row time{text-align:left}}.spec-modal>div{max-width:520px}.spec-price{color:var(--green);font-size:26px;font-weight:900}.spec-group{margin:18px 0}.spec-group>b{margin-bottom:9px;display:block}.spec-group>div{flex-wrap:wrap;gap:9px;display:flex}.spec-group button{color:#314239;background:#f5f7f4;border:1px solid #d8ded8;border-radius:999px;padding:10px 16px}.spec-group button.on{background:var(--green);color:#fff;border-color:var(--green)}.item-count{color:#fff;background:#d59a44;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-style:normal;font-weight:800;display:grid;position:absolute;top:9px;right:9px}.line-option{color:#718078;margin-top:3px;font-size:12px;display:block}.item-stepper{justify-content:flex-end;align-items:center;gap:8px;min-width:106px;display:flex}.item-stepper b{text-align:center;min-width:20px;font-size:18px}.item-stepper .minus{color:#15584f;background:#fff;border:1px solid #15584f;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1}.cartbar .cart-summary{color:#fff;border:0;flex-direction:column;flex:1;align-items:flex-start;padding:0;display:flex;background:0 0!important}.cartbar .cart-summary small{color:#fff;opacity:.82}.cartbar .cart-summary b{color:#fff;font-size:22px}.cart-sheet{align-items:flex-end;padding:0}.cart-sheet>div{border-radius:22px 22px 0 0;width:100%;max-width:760px;max-height:78vh;padding:24px;overflow:auto}.cart-detail{margin:16px 0}.cart-detail-line{border-bottom:1px solid #e8ebe7;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.cart-detail-line>div:first-child{flex-direction:column;gap:4px;display:flex}.cart-detail-line small{color:#718078}.cart-detail-line strong{color:#15584f}.detail-stepper{flex-shrink:0;align-items:center;gap:10px;display:flex}.detail-stepper button{color:#15584f;background:#fff;border:1px solid #15584f;border-radius:50%;width:34px;height:34px;font-size:22px}.detail-stepper button:last-child{color:#fff;background:#15584f}.detail-stepper b{text-align:center;min-width:20px}.cart-sheet-total{justify-content:space-between;padding:14px 0;font-size:20px;display:flex}.checkout-lines>div{align-items:center;gap:16px}.checkout-lines>div>span{flex:1}.checkout-line-right{flex-shrink:0;align-items:center;gap:18px;display:flex}.edit-spec{color:#315d42;background:#f4f7f4;border:1px solid #b9c7bd;border-radius:8px;margin-top:7px;padding:5px 10px;font-size:12px;display:block}.checkout-empty{text-align:center;padding:40px 0}@media (width<=560px){.checkout-line-right{flex-direction:column;align-items:flex-end;gap:7px}}.status-mark{color:#315d42;background:#e9efe9;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 10px;font-size:26px;font-weight:900;display:grid}.status-mark.ready{color:#9a6500;background:#fff0cf}.status-mark.completed{color:#fff;background:#315d42}.status-steps{grid-template-columns:repeat(4,1fr);margin:25px 0 18px;display:grid;position:relative}.status-steps:before{content:"";background:#e0e5e0;height:3px;position:absolute;top:17px;left:12%;right:12%}.status-steps>div{color:#929992;flex-direction:column;align-items:center;gap:7px;font-size:13px;display:flex;position:relative}.status-steps i{z-index:1;color:#7c857d;background:#e0e5e0;border-radius:50%;place-items:center;width:36px;height:36px;font-style:normal;font-weight:800;display:grid}.status-steps .on{color:#315d42;font-weight:800}.status-steps .on i{color:#fff;background:#315d42}.status-message{color:#315d42;background:#edf3ed;border-radius:12px;padding:13px;font-weight:700}.status-message.ready{color:#805500;background:#fff0cf;font-size:17px}.status-message.completed{background:#e9efe9}.customer-ready-toggle{color:#315d42;background:#fff;border:1px solid #c9d8d0;width:100%;margin-top:12px}.customer-ready-toggle.on{background:#e8f2ed;border-color:#315d42;font-weight:800}.customer-ready-hint{color:#7c877f;margin:8px 0 14px;line-height:1.55;display:block}.customer-ready-overlay{z-index:120000;background:#08231ce0;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.customer-ready-card{box-sizing:border-box;text-align:center;background:#fff;border-radius:28px;width:min(430px,100%);padding:28px 22px 22px;animation:.35s ease-out ready-pop;box-shadow:0 24px 80px #0000004d}.customer-ready-bell{font-size:54px;animation:1s ease-in-out infinite ready-ring}.customer-ready-card>small{color:#6f7c75;margin-top:4px;display:block}.customer-ready-card>strong{color:#16594e;margin:2px 0 12px;font-size:72px;line-height:1.05;display:block}.customer-ready-card h2{color:#16594e;margin:0;font-size:25px}.customer-ready-card p{color:#68766f}@keyframes ready-pop{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes ready-ring{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.staff-actions{gap:9px;display:flex}.table-qr-page{max-width:1100px;margin:auto;padding:28px 22px 60px}.table-qr-head{grid-template-columns:1fr 150px 190px;align-items:end;gap:16px;margin-bottom:25px;display:grid}.table-qr-head h1{margin-bottom:5px}.table-qr-head label,.table-qr-head .primary{margin:0}.table-qr-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.table-qr-grid article{text-align:center;break-inside:avoid;background:#fff;border:1px solid #d9dfd9;border-radius:18px;flex-direction:column;align-items:center;padding:24px;display:flex}.table-qr-grid h2{margin:7px 0 15px;font-size:30px}.table-qr-grid p{margin:12px 0 2px;font-weight:800}.table-qr-grid small{color:#788078}@media (width<=720px){.table-qr-head{grid-template-columns:1fr}.table-qr-grid{grid-template-columns:1fr 1fr}}@media print{.top,.table-qr-head{display:none!important}.table-qr-page{max-width:none;padding:0}.table-qr-grid{grid-template-columns:repeat(2,1fr);gap:8mm}.table-qr-grid article{border:1px solid #222;padding:8mm}}.sound-toggle{color:#315d42;background:#fff;border:1px solid #c8d2ca;border-radius:12px;padding:10px 14px;font-weight:800}.sound-toggle.on{color:#fff;background:#315d42;border-color:#315d42}.new-order-alert{z-index:20;color:#392300;cursor:pointer;background:#f2a93b;border-radius:15px;justify-content:space-between;align-items:center;gap:15px;margin:0 0 18px;padding:17px 20px;animation:1s ease-in-out 3 orderPulse;display:flex;position:sticky;top:10px;box-shadow:0 10px 28px #9b650055}.new-order-alert b{font-size:20px}.new-order-alert span{font-size:13px}@keyframes orderPulse{50%{background:#ffd27b;transform:scale(1.018)}}@media (width<=650px){.staff-actions{flex-wrap:wrap;justify-content:flex-end}.new-order-alert{flex-direction:column;align-items:flex-start}}.soldout-modal>div{max-width:620px;max-height:86vh;overflow:auto}.soldout-list{margin-top:16px}.soldout-list>div{border-bottom:1px solid #e5e9e5;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;display:flex}.soldout-list span{flex-direction:column;gap:4px;display:flex}.soldout-list small{color:#788078}.soldout-list button{color:#fff;background:#b64b3f;border:0;border-radius:10px;min-width:96px;padding:9px 12px;font-weight:800}.soldout-list .sold{background:#fff4f1;margin:0 -10px;padding:13px 10px}.soldout-list .sold button{background:#315d42}.soldout-list .off{opacity:.5}

.pay-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.pay-actions button{min-height:52px;font-size:16px;font-weight:700}.pay-actions .ghost{border:1px solid #17675c;background:#fff;color:#17675c;border-radius:14px}@media(max-width:520px){.pay-actions{grid-template-columns:1fr}.pay-actions button{width:100%}}

/* V12: 顾客端规格按钮可视性修复 */
.spec-group button{color:#243b36!important;background:#fff!important;border:1px solid #b9c9c4!important;font-weight:600!important;box-shadow:none!important;}
.spec-group button.on{color:#fff!important;background:#15584f!important;border-color:#15584f!important;font-weight:800!important;box-shadow:0 2px 8px rgba(21,88,79,.20)!important;}
.spec-group button:focus-visible{outline:3px solid rgba(21,88,79,.22)!important;outline-offset:2px;}
