:root{--rpx:calc(min(100vw,430px) / 750);color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#ebe9e5;color:#002727;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
button,input,textarea,select{font:inherit}button{border:0;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:2px solid #80714e;outline-offset:3px}
[hidden]{display:none!important}view,scroll-view,navigator{display:block}text{white-space:pre-wrap}img{object-fit:cover;max-width:100%}input,textarea{border:0;background:transparent;outline-color:#80714e}textarea{resize:vertical}scroll-view[scroll-y]{overflow-y:auto}scroll-view[scroll-x]{overflow-x:auto}navigator{cursor:pointer}video{width:100%}canvas{display:block}
#app-shell{width:100%;max-width:430px;margin:auto;min-height:100dvh;background:#fbf9f8;position:relative;overflow-x:clip;box-shadow:0 0 40px #0027270a}
#page{min-height:100dvh;padding-bottom:calc(66px + env(safe-area-inset-bottom));background:#fbf9f8}
#page-header{position:sticky;top:0;z-index:50;height:52px;display:flex;align-items:center;gap:14px;background:#fbf9f8;border-bottom:1px solid #e6e1da;padding:0 18px}#page-header button{font-size:32px;width:30px;background:none}#page-header strong{font-size:16px;font-weight:500}
#tabbar{position:fixed;z-index:60;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,430px);display:flex;background:#fff;padding:10px 0 calc(12px + env(safe-area-inset-bottom));height:calc(66px + env(safe-area-inset-bottom));border-top:1px solid #f1eeea}
#tabbar button{flex:1;background:transparent;border:0;color:#717878;font-size:14px;min-height:44px;line-height:1.5}#tabbar button[aria-current=page]{color:#002727;font-weight:600}
#tabbar button{position:relative}#tabbar .tab-badge{position:absolute;top:2px;left:calc(50% + 12px);min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#c8553d;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center}
#page .custom-nav{padding-right:0!important}#page .detail-nav{width:min(100%,430px);left:50%;transform:translateX(-50%);padding-right:16px!important}#page .chat-page{height:calc(100dvh - 66px - env(safe-area-inset-bottom));min-height:0}#page .chat-input-bar{max-width:430px}
#page.no-tabs{padding-bottom:env(safe-area-inset-bottom)}#page .safe-bottom{padding-bottom:24px}
#page .web-picker{position:relative;display:block}#page .web-picker-control{position:absolute;inset:0;opacity:.001;width:100%;height:100%;cursor:pointer;color:transparent;background:transparent}#page .web-picker-control:focus-visible{opacity:.001}#page .web-picker:focus-within{outline:2px solid #80714e;outline-offset:-2px;border-radius:12px}
#page[data-route="pages/profile/profile"] .login-card,#page[data-route="pages/profile/profile"] .login-avatar-badge{display:none}#page .login-benefits{line-height:1.7}
#page .profile-page.welcome-page{min-height:0;padding-bottom:0}
#page .welcome-page .login-screen{min-height:calc(100dvh - 66px - env(safe-area-inset-bottom));justify-content:center;padding-top:32px;padding-bottom:32px}
#page .welcome-page .login-brand{margin-top:0}
/* Browser-only chat footer: preserve the mini-program sources and service rules. */
#page[data-route="pages/chat/chat"] .chat-footer{padding-top:12px;background:#fbf9f8}
#page[data-route="pages/chat/chat"] .chat-composer{gap:10px;min-height:64px;padding:9px 10px;background:#fff;border:1px solid #e6e1da;border-radius:20px;box-shadow:0 4px 16px #00272705}
#page[data-route="pages/chat/chat"] .composer-input{min-height:44px;max-height:144px;height:44px;padding:11px 14px;border-radius:14px;background:#f6f4f2;font-size:14px;font-weight:400;line-height:22px;resize:none;overflow-y:auto}
#page[data-route="pages/chat/chat"] .composer-input::placeholder{color:#777f7c;font-weight:400}
#page[data-route="pages/chat/chat"] .composer-send{width:44px;height:44px;flex-basis:44px;align-self:flex-end;font-size:24px;font-weight:500;box-shadow:none}
#page[data-route="pages/chat/chat"] .composer-send:disabled{opacity:1;color:#9aa29f;background:#eeefec}
#toast,#loading{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);z-index:200;background:#002727ed;color:#fff;max-width:340px;width:max-content;padding:14px 20px;border-radius:10px;font-size:14px;line-height:1.6;pointer-events:none}
dialog{border:1px solid #e6e1da;border-radius:18px;background:#fbf9f8;color:#002727;width:min(90vw,380px);padding:24px}dialog::backdrop{background:#00272766}dialog h2{margin:0 0 14px;font-size:20px}dialog p{white-space:pre-wrap;line-height:1.7;font-size:15px}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.modal-actions button{flex:1;min-width:100px;padding:13px;background:#002727;color:white;border-radius:8px}.modal-actions .cancel{background:#ebe9e1;color:#002727}#image-preview{width:min(94vw,700px)}#image-preview img{display:block;width:100%;object-fit:contain}#image-preview button{padding:10px;margin-bottom:10px}.boot-message{padding:30px;line-height:1.8}
#image-preview.is-referral-poster{width:min(92vw,430px);padding:16px}#image-preview.is-referral-poster img{max-height:68vh;border-radius:10px}#image-preview.is-referral-poster p{font-size:13px;line-height:1.5;margin:0 0 12px}#image-preview.is-referral-poster button{margin-bottom:6px}
#live-scanner{width:min(94vw,430px);padding:18px}#live-scanner video{display:block;width:100%;max-height:64dvh;aspect-ratio:3/4;object-fit:cover;background:#002727;border-radius:12px}#live-scanner p{margin:0 0 14px}#live-scanner .modal-actions{margin-top:16px}
@media(min-width:600px){#app-shell{min-height:100dvh;border-left:1px solid #e6e1da;border-right:1px solid #e6e1da}}
/* 日期/时间底部选择面板（替代透明原生控件） */
#page .web-picker[role=button]{cursor:pointer;-webkit-tap-highlight-color:transparent}#page .web-picker[aria-disabled=true]{cursor:default;opacity:.6}
.web-sheet-mask{position:fixed;inset:0;z-index:200;background:#0027275c;display:flex;align-items:flex-end;justify-content:center;animation:web-sheet-fade .18s ease-out}
.web-sheet{width:min(100%,430px);max-height:88dvh;overflow:auto;background:#fbf9f8;border-radius:20px 20px 0 0;padding:0 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0027272e;animation:web-sheet-up .22s ease-out;outline:none}
.web-sheet-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0 10px;background:#fbf9f8}
.web-sheet-bar strong{font-size:16px;font-weight:600;color:#002727;text-align:center;flex:1}.web-sheet-bar button{min-width:56px;min-height:40px;padding:0 6px;background:none;font-size:16px;color:#626e6e}
.web-sheet-bar .web-sheet-ok{color:#fff;background:#002727;border-radius:20px;padding:0 16px}.web-sheet-bar .web-sheet-ok:disabled{opacity:.35}
.web-sheet-value{height:30px;line-height:30px;margin:2px 0 12px;text-align:center;font-size:20px;font-weight:600;color:#002727}.web-sheet-value.empty{font-size:15px;font-weight:400;color:#8b9796}
.web-cal-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.web-cal-head select{flex:1;min-height:40px;border:1px solid #e1dcd8;border-radius:10px;background:#fff;padding:0 10px;color:#002727}
.web-cal-head button{width:44px;height:40px;border-radius:10px;background:#fff;border:1px solid #e1dcd8;font-size:22px;color:#002727}
.web-cal-week,.web-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.web-cal-week span{font-size:12px;color:#8b9796;padding:6px 0}
.web-day{height:44px;border-radius:12px;background:none;font-size:16px;color:#002727}.web-day.today{box-shadow:inset 0 0 0 1px #c9a640}.web-day.on{background:#002727;color:#fff;font-weight:600}.web-day:disabled{color:#c4c9c8;opacity:1}
.web-time-label{margin:6px 0 6px;font-size:13px;color:#626e6e}.web-time-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.web-time{height:42px;border-radius:10px;background:#fff;border:1px solid #e8e3df;font-size:15px;color:#002727;font-variant-numeric:tabular-nums}.web-time.on{background:#002727;border-color:#002727;color:#fff;font-weight:600}.web-time:disabled{color:#c4c9c8;opacity:1}
@keyframes web-sheet-up{from{transform:translateY(100%)}to{transform:none}}@keyframes web-sheet-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.web-sheet,.web-sheet-mask{animation:none}}

#page .service-chat-page{height:calc(100dvh - 66px - env(safe-area-inset-bottom))}#page .service-drawer{max-width:390px}#page .service-drawer-root{left:50%;width:min(100%,430px);transform:translateX(-50%)}
#page .web-switch{position:relative;flex:none;width:52px;height:32px;margin:0;padding:0;border:0;border-radius:16px;background:#d9d4c9;cursor:pointer;transition:background .2s;-webkit-tap-highlight-color:transparent}#page .web-switch::after{content:'';position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}#page .web-switch[aria-checked=true]{background:#3c564c}#page .web-switch[aria-checked=true]::after{transform:translateX(20px)}#page .web-switch:focus-visible{outline:2px solid #3c564c;outline-offset:2px}#page .web-switch[disabled]{opacity:.5;cursor:default}
