:root{--paper:#f5f3ee;--white:#fffefa;--ink:#292c27;--muted:#74776e;--green:#315a48;--dark:#254736;--pale:#e9f0e9;--line:#e3e0d7;--orange:#8b5a40;--serif:'Noto Serif SC','Songti SC',serif;--sans:'PingFang SC','Microsoft YaHei',system-ui,sans-serif;--shadow:0 8px 24px #172d2418}
body{background:var(--paper);color:var(--ink);font-family:var(--sans)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}
input,textarea,select{border-radius:8px}
.primary,.secondary{border-radius:8px;font-weight:600}.primary{background:var(--green)}.secondary{border-color:var(--line)}.text-button{font-weight:600}
.topbar{background:var(--white);border-bottom:1px solid var(--line)}.topbar-inner{height:70px;max-width:1120px}.brand{gap:9px}.brand-mark{width:33px;height:33px;border:0;border-radius:5px;background:var(--green);color:#fff;font:600 21px/1 var(--serif)}.brand-mark:after{display:none}.brand-name{font:700 17px/1.3 var(--sans);letter-spacing:.04em}.brand-name span{font:500 12px var(--sans);color:var(--muted);letter-spacing:0;margin-left:2px}.desktop-nav button{height:70px;padding:0 3px;border-bottom:2px solid transparent}.desktop-nav button.active:after{display:none}.desktop-nav button.active{border-color:var(--green)}.room-switch{border-radius:20px}.page-wrap{max-width:1120px;padding-top:28px}.page-footer{padding-top:42px;font:11px var(--sans);letter-spacing:0}
.order-intro{display:grid;grid-template-columns:1fr 145px;align-items:center;gap:20px;min-height:136px;margin-bottom:18px;padding:18px 22px;background:#e9ede5;border-radius:12px}.order-eyebrow{font-size:12px;color:#4f705a;font-weight:600}.order-intro h1{margin-top:5px;font:700 27px/1.3 var(--sans)}.order-subtitle{margin-top:6px;color:#667569;font-size:13px}.order-intro img{height:100px;border-radius:9px}
.order-toolbar{padding:16px 18px 14px;background:var(--white);border:1px solid var(--line);border-radius:12px}.meal-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:4px;background:#f0f1eb;border:0;border-radius:9px}.meal-tab{min-height:40px;padding:7px;border-radius:7px;font-size:14px;font-weight:600;color:#666d62}.meal-tab.active{background:var(--white);color:var(--green);box-shadow:0 1px 4px #273d2920}.meal-tab.active:after{display:none}.date-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:53px;border-bottom:1px solid var(--line);font-size:13px}.date-line>span{display:flex;align-items:center;gap:8px;color:var(--muted)}.date-line svg{width:17px;height:17px}.date-select{width:auto;max-width:180px;padding:8px 2px;border:0;background:transparent;color:var(--green);font-weight:700;text-align:right}.search-row{gap:15px;margin:0;padding-top:13px}.search-box{background:#f8f8f4;border-color:var(--line);border-radius:8px}.search-box input{padding:9px 0;font-size:13px}.allergy-filter{font-size:12px}.category-tabs{margin:13px 0 0;gap:8px}.category-tabs button{padding:6px 12px;border:0;border-radius:5px;background:#f3f3ee;color:#6d7169}.category-tabs button.active{background:var(--green)}
.menu-section{margin-top:21px}.menu-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.menu-heading h2{font:700 19px var(--sans)}.menu-heading span{font-size:12px;color:var(--muted)}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dish-card{display:grid;grid-template-columns:136px minmax(0,1fr);min-height:170px;border-color:var(--line);border-radius:10px;transition:none}.dish-card:hover{transform:none;box-shadow:none}.dish-photo{height:100%;overflow:hidden}.dish-photo img{height:100%;aspect-ratio:auto;object-fit:cover;transition:none}.dish-photo:hover img{transform:none}.dish-content{display:flex;flex-direction:column;min-width:0;padding:12px 13px 10px}.dish-topline{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--orange);font-size:11px;line-height:1}.dish-favorite{position:static;width:25px;height:25px;background:none;color:#a3a49c}.dish-favorite svg{width:17px;height:17px}.dish-favorite.saved{color:#a35e4a}.dish-favorite.saved svg{fill:#eac6bc}.dish-title{margin:2px 0 3px;font:700 16px/1.35 var(--sans)}.dish-description,.dish-ingredients{margin:0;color:var(--muted);font-size:11px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;white-space:normal}.dish-ingredients{margin-top:3px;color:#888b82}.dish-allergy{margin-top:4px;color:#a65b38;font-size:11px}.dish-bottom{margin-top:auto;padding-top:5px}.add-button{width:30px;height:30px}.quantity{gap:8px}.menu-footnote{max-width:760px;margin:18px auto 0;color:#85867d;text-align:center;font-size:11px}
.cart-bar{bottom:20px;width:min(480px,calc(100% - 32px));height:auto;padding:8px 8px 8px 16px;border-radius:10px;background:var(--dark)}.cart-open{gap:13px}.cart-count{background:#dba883;color:#2f261f;border-color:var(--dark)}.cart-total{font-size:15px;font-weight:700}.cart-subtitle{font-size:11px}.checkout-button{height:43px;padding:0 14px;border-radius:7px;background:#e5eee5;color:var(--dark);font-weight:700}
.page-title{font:700 25px/1.4 var(--sans)}.page-intro{margin:6px 0 24px}.subnav button,.category-tabs button{font-size:12px}.subnav button{border-radius:6px;background:var(--white);border:1px solid var(--line)}.subnav button.active{background:var(--green);border-color:var(--green)}.order-card,.profile-panel,.service-card{border-color:var(--line);border-radius:10px}.order-card{padding:18px}.status{border-radius:4px;font-weight:700}.care-hero{padding:19px 22px;border:1px solid #dbe7da;border-radius:9px;background:#e9f0e7}.care-hero .eyebrow{display:none}.care-hero h2{font:700 19px/1.5 var(--sans);letter-spacing:0}.care-hero p{font-size:12px}.care-hero svg{width:44px;height:44px}.section-heading h2{font:700 18px var(--sans);letter-spacing:0}.service-grid,.article-grid{gap:12px}.service-card{display:flex;flex-direction:column;padding:17px}.service-icon{width:36px;height:36px;margin-bottom:10px;border-radius:7px}.service-card h3{font:700 15px var(--sans)}.service-card p{font-size:12px;line-height:1.6;margin:8px 0 14px}.service-card .between{flex-wrap:wrap;margin-top:auto}.service-card .primary{border-radius:6px}.stage-card{background:#fbfaf6}.stage-card.stage-current{border-color:#8fae94;box-shadow:none}.stage-card .eyebrow{color:var(--green);font-weight:700}.chip-label{border-radius:4px}.rhythm-panel{max-width:760px}.article{background:var(--white);border:1px solid var(--line);border-radius:9px}.article h3{font:700 15px/1.6 var(--sans)}.profile-card{padding:20px;border-radius:9px;background:#e9f0e7}.profile-card h2,.profile-panel h3{font-family:var(--sans);font-weight:700}.profile-panel{padding:20px}.notice-strip{border-radius:7px}.empty{border-radius:9px}.empty h3{font:700 18px var(--sans)}
dialog{border-radius:12px;background:var(--white)}dialog::backdrop{background:#172b2380;backdrop-filter:none}.sheet-content{padding:20px}.sheet-top h2{font:700 20px var(--sans)}.sheet-photo{height:220px;border-radius:7px}.sheet-nutrition{margin:16px 0;padding:13px 0}.sheet-nutrition strong{font-size:18px}.detail-desc{color:#5e665b;line-height:1.7}.allergy-note{border-radius:6px}.cart-item img{border-radius:6px}.checkout-info{border-radius:7px}.success-content h2{font:700 21px var(--sans)}.toast{border-radius:7px}.login-page{border-radius:10px}.login-page h1{font:700 24px var(--sans)}.login-page .brand{justify-content:flex-start}
@media(max-width:999px){.dish-grid{grid-template-columns:1fr}.dish-card{grid-template-columns:150px minmax(0,1fr)}.service-grid,.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.topbar{background:var(--white);border-bottom:1px solid var(--line)}.topbar-inner{height:57px;padding:0 15px}.brand-mark{width:29px;height:29px;font-size:19px}.brand-name{font-size:15px}.brand-name span{font-size:10px}.room-switch{padding:6px 8px;font-size:11px}.page-wrap{padding:14px 12px calc(95px + env(safe-area-inset-bottom))}.order-intro{grid-template-columns:1fr 82px;gap:12px;min-height:94px;padding:12px 13px;margin-bottom:10px}.order-eyebrow{font-size:11px}.order-intro h1{margin-top:3px;font-size:21px}.order-subtitle{margin-top:4px;font-size:11px}.order-intro img{height:69px}.order-toolbar{padding:10px 10px 11px}.meal-tab{min-height:36px;font-size:13px}.date-line{min-height:45px;font-size:12px}.search-row{gap:9px;padding-top:9px}.search-box input{padding:8px 0;font-size:12px}.allergy-filter{font-size:11px}.category-tabs{margin-top:10px;margin-right:-10px;padding-right:10px;gap:6px}.category-tabs button{padding:6px 9px;font-size:11px}.menu-section{margin-top:14px}.menu-heading{margin:0 2px 9px}.menu-heading h2{font-size:17px}.menu-heading span{font-size:10px}.dish-grid{gap:9px}.dish-card{grid-template-columns:104px minmax(0,1fr);min-height:132px}.dish-content{padding:7px 9px 7px 10px}.dish-topline{font-size:10px}.dish-favorite{width:20px;height:20px}.dish-favorite svg{width:15px;height:15px}.dish-title{font-size:14px;margin:2px 0}.dish-description,.dish-ingredients{font-size:10px}.dish-bottom{padding-top:3px}.text-button{font-size:11px}.add-button{width:27px;height:27px}.quantity{gap:6px}.cart-bar{bottom:calc(68px + env(safe-area-inset-bottom));width:calc(100% - 20px)}.bottom-nav{height:calc(62px + env(safe-area-inset-bottom));padding:5px 7px calc(3px + env(safe-area-inset-bottom));background:#fffefaef;border-color:var(--line)}.bottom-nav button{font-size:10px}.bottom-nav button.active{color:var(--green)}.page-title{margin-top:5px;font-size:22px}.page-intro{margin-bottom:15px}.order-grid,.profile-grid{grid-template-columns:1fr}.service-grid,.article-grid{grid-template-columns:1fr;gap:9px}.care-hero{padding:14px;margin-bottom:16px}.care-hero h2{font-size:16px}.care-hero p{font-size:11px}.service-card{padding:14px}.service-card .between{justify-content:space-between}.service-card .primary{min-height:33px}.profile-panel{padding:17px}.page-footer{padding-top:29px}dialog{border-radius:12px 12px 0 0}.sheet-content{padding:17px}.sheet-photo{height:205px}.toast{bottom:calc(135px + env(safe-area-inset-bottom))}.login-page{margin:25px auto;padding:22px}}
@media(max-width:370px){.brand-name span{display:none}.allergy-filter{font-size:10px}.dish-card{grid-template-columns:96px minmax(0,1fr)}}

/* 禧乐轩住客端：以中式旅居餐单为视觉基调 */
:root{--paper:#f7f4ee;--white:#fcfaf6;--ink:#302923;--muted:#817a70;--green:#58423a;--dark:#43312b;--pale:#eee9e1;--line:#e1d9cd;--orange:#a67d55;--serif:'Noto Serif SC','Source Han Serif CN','Songti SC','SimSun',serif;--sans:'PingFang SC','Microsoft YaHei',system-ui,sans-serif}
body{background:var(--paper);color:var(--ink)}.topbar{background:#fcfaf6}.topbar-inner{height:68px}.brand-mark{width:34px;height:34px;border:1px solid #755348;border-radius:2px;background:transparent;color:#63443b;font:600 23px/1 var(--serif)}.brand-name{font:600 18px var(--serif);letter-spacing:.14em}.brand-name span{font:400 11px var(--sans);letter-spacing:.08em;margin-left:5px;color:#8a7d70}.desktop-nav button.active{border-color:#8d6d51}.room-switch{border-color:#dcd2c4;background:transparent;color:#6c574b}.room-switch svg{color:#8c6c50}.page-wrap{padding-top:22px}
.order-intro{position:relative;display:flex;align-items:center;min-height:154px;margin-bottom:22px;padding:22px 31px;overflow:hidden;border-radius:3px;background:#4c3932;color:#fff;isolation:isolate}.order-intro:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#48352f 0%,#48352ff5 40%,#48352f88 64%,transparent 100%);pointer-events:none}.order-intro-copy{position:relative;z-index:2;max-width:68%}.order-intro img{position:absolute;top:0;right:0;width:58%;height:100%;border-radius:0;object-position:center 50%}.order-eyebrow{color:#ead6bd;font-size:11px;letter-spacing:.19em;font-weight:400}.order-intro h1{margin:12px 0 6px;color:#fff;font:500 29px/1.25 var(--serif);letter-spacing:.1em}.order-subtitle{color:#eadfd2;font-size:12px;letter-spacing:.04em}
.menu-section{margin:0}.order-toolbar{padding:0 0 9px;border:0;border-radius:0;background:transparent}.date-line{min-height:43px;padding:0 2px;border-bottom:1px solid var(--line);color:#7b6d60;font-size:12px}.date-line>span{color:#7b6d60;letter-spacing:.08em}.date-select{color:#654638;font-size:12px;font-weight:600}.meal-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.meal-tab{position:relative;min-height:50px;padding:10px 3px;border-radius:0;color:#8a8177;font-size:14px;font-weight:400}.meal-tab.active{box-shadow:none;background:transparent;color:#563d32;font-weight:700}.meal-tab.active:after{display:block;position:absolute;bottom:-1px;left:25%;width:50%;height:2px;border-radius:0;background:#866448;content:''}.menu-heading{align-items:end;margin:17px 0 7px}.menu-heading h2{font:600 21px/1.3 var(--serif);letter-spacing:.08em}.menu-heading span{color:#998a7b;font-size:11px}.category-tabs{gap:19px;margin:5px 0 10px;padding:0;border-bottom:1px solid var(--line)}.category-tabs button{position:relative;padding:8px 0 11px;border:0;border-radius:0;background:transparent;color:#8a8076;font-size:12px}.category-tabs button.active{background:transparent;color:#604638;font-weight:700}.category-tabs button.active:after{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#9c7452;content:''}.search-row{gap:15px;margin:0 0 13px;padding:0}.search-box{padding:0 2px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.search-box svg{color:#9b8b7c}.search-box input{padding:8px 0;color:var(--ink);font-size:12px}.search-box input::placeholder{color:#a69b90}.allergy-filter{color:#806f62;font-size:11px}.allergy-filter input{accent-color:#846348}
.dish-grid{gap:0 28px}.dish-card{grid-template-columns:148px minmax(0,1fr);min-height:184px;padding:12px 0 17px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.dish-photo{height:154px;border-radius:2px}.dish-photo img{height:100%}.dish-content{padding:1px 0 1px 17px}.dish-topline{color:#a47c59;font-size:11px;letter-spacing:.09em}.dish-favorite{color:#9c948a}.dish-title{margin:9px 0 6px;font:600 18px/1.35 var(--serif);letter-spacing:.03em}.dish-description{color:#695f56;font-size:12px;line-height:1.55;-webkit-line-clamp:2;line-clamp:2}.dish-ingredients{margin-top:6px;color:#9a8f82;font-size:11px}.dish-allergy{color:#a4523a}.dish-bottom{padding-top:7px}.text-button{color:#7c5c43;font-size:11px;font-weight:500}.add-button{width:31px;height:31px;border:1px solid #74564b;background:transparent;color:#66493d}.add-button.minus{border-color:#c7baaa;background:transparent;color:#66493d}.quantity{font-weight:500}.menu-footnote{margin-top:24px;color:#9c9085}.cart-bar{border-radius:3px;background:#48352f}.cart-count{border-color:#48352f;background:#d5b28c}.checkout-button{border-radius:2px;background:#f1e5d6;color:#51392e}.bottom-nav{background:#fcfaf6ed;border-color:#e4dbce}.bottom-nav button.active{color:#64493c}.bottom-nav button.active svg{fill:none}
.page-title,.section-heading h2,.service-card h3,.profile-card h2,.profile-panel h3,.article h3,.empty h3,.sheet-top h2,.success-content h2,.login-page h1{font-family:var(--serif)}.page-title{font-size:26px;font-weight:600}.care-hero{background:#ebe5db;border-color:#dfd3c3;border-radius:3px}.care-hero h2{font-family:var(--serif);font-weight:600}.care-hero p{color:#887565}.care-hero>svg{color:#b39b7c}.service-card,.profile-panel,.order-card,.article{border-radius:3px;background:var(--white)}.service-icon{border-radius:3px;background:#f0e8dc;color:#896a4d}.service-card .primary{border-radius:2px}.stage-card{background:#f5f0e8}.stage-card.stage-current{border-color:#a78462}.chip-label{border-radius:2px;background:#eee7dd;color:#7c6651}.profile-card{border-radius:3px;background:#ede7dd}.avatar{color:#715546}.notice-strip{background:#f2ede5;color:#806d59}.status{border-radius:2px;background:#ede8dd;color:#785a45}.subnav button,.subnav button.active{border-radius:2px}.order-card .secondary{border-radius:2px}dialog{border-radius:4px;background:var(--white)}.sheet-top h2{font-weight:600}.sheet-photo{border-radius:2px}.sheet-nutrition strong{color:#76583f}.checkout-info{border-radius:2px;background:#f0e9df}.allergy-note{border-radius:2px}.login-page{border-radius:3px}.primary,.secondary,input,textarea,select{border-radius:3px}.icon-button{border-radius:50%}.toast{border-radius:3px}
@media(max-width:999px){.dish-card{grid-template-columns:156px minmax(0,1fr)}.dish-photo{height:164px}.dish-grid{gap:0}}
@media(max-width:680px){.topbar-inner{height:57px}.brand-mark{width:29px;height:29px;font-size:20px}.brand-name{font-size:16px}.brand-name span{font-size:9px;margin-left:2px}.page-wrap{padding:12px 17px calc(96px + env(safe-area-inset-bottom))}.order-intro{min-height:138px;margin-bottom:13px;padding:17px 18px}.order-intro img{width:61%}.order-intro:after{background:linear-gradient(90deg,#48352f 0%,#48352ff0 46%,#48352f70 77%,transparent 100%)}.order-intro-copy{max-width:74%}.order-eyebrow{font-size:9px;letter-spacing:.13em}.order-intro h1{margin:12px 0 7px;font-size:25px}.order-subtitle{font-size:10px;line-height:1.6}.date-line{min-height:39px}.meal-tab{min-height:45px;font-size:13px}.menu-heading{margin:14px 0 4px}.menu-heading h2{font-size:19px}.menu-heading span{font-size:10px}.category-tabs{gap:16px;margin:3px -17px 9px 0;padding-right:17px}.category-tabs button{font-size:11px;padding:7px 0 10px}.search-row{margin-bottom:8px}.search-box input{padding:7px 0;font-size:11px}.allergy-filter{font-size:10px}.dish-card{grid-template-columns:116px minmax(0,1fr);min-height:155px;padding:9px 0 12px}.dish-photo{height:134px}.dish-content{padding:0 0 0 12px}.dish-topline{font-size:10px}.dish-title{margin:5px 0 4px;font-size:16px}.dish-description{font-size:11px;line-height:1.45;-webkit-line-clamp:2;line-clamp:2}.dish-ingredients{margin-top:3px;font-size:10px}.dish-bottom{padding-top:3px}.add-button{width:27px;height:27px}.cart-bar{bottom:calc(68px + env(safe-area-inset-bottom))}.bottom-nav{background:#fcfaf6f5}.care-hero{padding:17px}.care-hero h2{font-size:17px}.page-title{font-size:23px}}
@media(max-width:370px){.brand-name span{display:none}.order-intro{padding:15px}.dish-card{grid-template-columns:104px minmax(0,1fr)}.dish-photo{height:132px}.dish-content{padding-left:10px}.dish-title{font-size:15px}.dish-description{font-size:10px}}
@media(min-width:681px) and (max-width:999px){.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.dish-card{grid-template-columns:122px minmax(0,1fr);min-height:168px}.dish-photo{height:145px}.dish-content{padding-left:12px}.dish-title{font-size:16px}}
@media(min-width:371px) and (max-width:680px){.dish-card{min-height:160px}.dish-photo{height:139px}.dish-description{font-size:12px}.dish-ingredients{font-size:11px}}
