@charset "UTF-8";
/* Reference-led warm ivory edition. Semantic status colors remain independent. */
:root{--ink:#292622;--text:#48423b;--muted:#807568;--green:#a63224;--green-hover:#84291f;--line:#e8dfd2;--paper:#f8f5ef;--white:#fffdfa;--soft:#f2eade;--coral:#b58042;--sand:#eee3d0;--danger:#a63224;--shadow:0 4px 20px #57402a06;--gold:#b58b4e;--serif:"Noto Serif TC","Songti TC","STSong","SimSun",Georgia,serif;font-family:"Segoe UI","PingFang TC","Microsoft JhengHei",sans-serif;font-size:15px;line-height:1.7}
body{background:var(--paper)}
h1,h2,h3{letter-spacing:0;font-weight:500}
h1,h2,.brand strong,.dish-body h3{font-family:var(--serif)}
h1{font-size:36px;line-height:1.4}h2{font-size:24px}
strong,b{font-weight:600}
a{color:var(--ink)}
a:hover{color:var(--green)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold)}
.line-icon{width:22px;height:22px;vertical-align:middle;flex-shrink:0}
.dev-banner{background:#efe7da;color:#75664f;font-size:11px;letter-spacing:.04em;min-height:30px}
.dev-dot{background:var(--gold)}
.sidebar{width:230px;background:#fcf9f3;border-color:var(--line);padding:34px 18px 0}
.brand{gap:13px;padding:0 8px}
.brand-mark{width:40px;height:45px;background:transparent;color:var(--green);border:2px solid var(--green);border-radius:3px;font-family:var(--serif);font-size:30px;line-height:1;box-shadow:inset 0 0 0 2px var(--paper),inset 0 0 0 3px var(--green)}
.brand strong{color:var(--ink);font-size:23px;letter-spacing:.18em;font-weight:600}
.brand small{color:#a47c42;font-family:Georgia,serif;font-size:8px;letter-spacing:.17em;margin-top:3px}
.workspace{margin-left:230px}
.workspace-label{color:#a18d73;font-size:10px;letter-spacing:.12em;margin:42px 12px 14px}
.nav-link{color:#766d61;font-size:14px;padding:12px;gap:14px;border-radius:5px;font-weight:400}
.nav-link>span{color:#978875;display:flex;width:22px}
.nav-link:hover{background:#f4ece0;color:var(--ink)}
.nav-link.active{color:var(--green);background:#f3e7da;font-weight:500}
.nav-link.active:before{content:"";position:absolute;left:0;height:17px;width:2px;background:var(--green)}
.nav-link.active>span{color:var(--green)}
.sidebar-bottom{padding:22px 6px;gap:11px}
.sidebar-bottom strong{font-size:12px;font-weight:500}.sidebar-bottom small{color:var(--muted)}
.avatar{background:#ece1d0;color:#977443}
.topbar{height:74px;padding:0 44px;background:#fcf9f3;border-color:var(--line)}
.breadcrumb{color:#7e7467;font-size:12px}.server-time{color:#968b7c;font-size:10px}
.language-button{border-color:var(--line);color:#75634c;background:var(--white);height:32px}
.icon{border-radius:50%;height:36px;min-width:36px}
.notification-link{color:#8e7c65}
main#main{max-width:1510px;padding:36px 44px 48px}
.page-heading{margin-bottom:28px;gap:20px}
.page-heading p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8;max-width:680px}
.eyebrow{color:#a48250;font-size:10px;letter-spacing:.15em;font-weight:400;margin-bottom:12px}
.primary,.secondary,.button{border-radius:5px;min-height:42px;padding:10px 17px;font-size:13px;font-weight:500}
.primary{background:var(--green);border-color:var(--green);color:#fffaf4}
.primary:hover{background:var(--green-hover)}
.secondary{border-color:#ded0ba;background:#fffdfa;color:#79654c}
.secondary:hover{background:#f6edde}
button:disabled{opacity:.4}
.panel{border:1px solid var(--line);border-radius:8px;background:var(--white);padding:26px;box-shadow:var(--shadow)}
.section-title{margin:28px 0 18px;flex-wrap:wrap;gap:10px}
.section-title h2{font-size:21px;padding-left:11px;border-left:2px solid var(--gold);line-height:1.05}
.section-title>span,.section-title>a{font-size:11px;color:var(--muted)}
.tag{border-color:#d8bd94;color:#96723f;font-weight:400;border-radius:20px;letter-spacing:.06em;font-size:10px!important}
.badge{font-size:11px;font-weight:400;border-radius:4px;padding:4px 9px}
.badge.positive{color:#536b49;background:#edf1e8}
.badge.negative{color:#a04533;background:#f7e8e1}
.badge.neutral{color:#917141;background:#f4ecdf}
.menu-banner{min-height:235px;padding:32px 36px;border-color:#e5d8c3;background:#eee6d8;border-radius:8px;isolation:isolate}
.menu-banner>div:first-of-type{position:relative;z-index:2;max-width:58%}
.menu-banner h2{font-size:28px;letter-spacing:.01em;margin:17px 0 12px}
.menu-banner p{font-size:13px;color:#7c715f;margin-bottom:21px}
.menu-banner .tag{border-color:#cead7b;color:#95703b;background:#fbf6eb}
.banner-meta{gap:18px;color:#8e7b5f;font-size:11px}
.botanical{position:absolute;width:170px;height:215px;color:#bd9b66;right:4px;top:0;pointer-events:none;opacity:.38;z-index:0}
.meal-art{position:absolute;right:0;top:0;bottom:0;width:39%;height:100%;transform:none;z-index:1;overflow:hidden}
.meal-art>img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;display:block}
.meal-art>span{position:absolute;bottom:10px;right:12px;transform:none;background:#fffcf2de;color:#8e7755;padding:2px 7px;border-radius:3px;font-size:9px}
.menu-banner .botanical{right:34%;opacity:.3;z-index:2;width:140px}
.menu-layout{grid-template-columns:minmax(0,1fr) 275px;gap:25px}
.date-strip{gap:8px;padding-bottom:10px}
.date-chip{font-size:12px;min-height:50px;min-width:104px;border-color:var(--line);background:var(--white);border-radius:5px;color:#7d705e}
.date-chip.selected{background:#f2e6d2;color:#75512d;border-color:#c2a06b;box-shadow:inset 0 -2px #b28b52}
.date-chip i{background:var(--gold)}
.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dish-card{border-color:var(--line);background:#fffdfa;border-radius:7px;box-shadow:0 3px 12px #573b2105;transition:box-shadow .18s}
.dish-card:hover{box-shadow:0 8px 25px #573b2110}
.dish-visual{height:auto;aspect-ratio:1.28;background:#eee6d9}
.dish-visual>img{width:100%;height:100%;object-fit:cover;display:block}
.dish-stock{top:12px;left:12px;background:#fff9ecee;border:1px solid #e3ca9f;color:#907046;border-radius:20px;font-size:10px;padding:3px 9px}
.dish-body{padding:20px}
.dish-body h3{font-size:20px;margin-bottom:10px;font-weight:500}
.dish-body p{font-size:13px;color:#83776a;line-height:1.7;min-height:44px;margin-bottom:10px}
.allergen{color:#918474;font-size:10px;line-height:1.7;min-height:34px}
.dish-bottom{margin:13px 0 8px}
.dish-bottom strong{font-family:Georgia,var(--serif);font-size:23px;font-weight:400;color:var(--green);letter-spacing:0;white-space:nowrap}
.quantity{gap:8px}
.quantity-button{width:34px;height:34px;border-radius:50%;border-color:#e4d8c8;background:#faf5ee;color:#9f7c4b;font-size:22px;font-weight:300}
.quantity-button[data-action="add"]{background:var(--green);color:#fff;border-color:var(--green)}
.quantity output{font-size:13px;min-width:12px}
.rating-summary{color:#a48a63;font-size:10px}
.menu-photo-note{margin-left:auto;font-size:10px!important}
.cart{top:50px;margin-top:28px;padding:22px;border-top:2px solid #c2a06b;background:#fffcf6}
.cart .section-title{padding-bottom:20px}
.cart .section-title h2{font-size:19px;border:0;padding:0}
.count{background:#eee2cf;color:#9a7643!important}
.cart-day h3{color:#917644;font-size:12px}
.cart-line{font-size:12px;gap:7px}.cart-line b{font-size:11px}
.cart-line small{color:#948775}.cart-remove{font-size:10px;color:#9e7b50}
.cart-totals{font-size:12px}
.benefit{color:#806b44}
.benefit-note{background:#f3eadb;color:#937543;font-size:12px;padding:14px}
.benefit-note strong{color:#766039;font-family:Georgia,serif;font-weight:400;font-size:24px}
.cart-actions{gap:9px}
.cart-actions button{font-size:12px;min-height:43px}
.fine-print{color:#9b8c77;font-size:11px}
.empty-symbol{color:#bf9d69;font-size:34px}
.empty h3{color:#73644f;font-family:var(--serif);font-size:18px;font-weight:400}
.empty p{font-size:13px;line-height:1.9;color:#9a8c79}
.stats{gap:18px}
.stats article{border-color:var(--line);border-radius:6px;padding:24px 26px;background:#fffdfa}
.stats span{font-size:12px;color:#8e7d66}
.stats strong{font-family:Georgia,var(--serif);font-weight:400;letter-spacing:0;color:#514737;font-size:30px}
.stats small{color:#9c8c76}
table{font-size:13px}
th{font-size:12px;color:#927c5c;font-weight:400;border-color:var(--line);padding-bottom:18px}
td{font-size:13px;line-height:1.75;border-color:#eee6da;padding:21px 14px}
td small{font-size:10px;color:#a09483}
td .secondary,td .primary{font-size:12px;min-height:34px}
tbody tr:hover{background:#fbf7f0}
.service-panel{background:#f0e5d4}
.service-panel p:not(.eyebrow){color:#8a785e}
.company-icon{background:#f2e7d7;color:#9c7a46}
.detail-list>div,.task-list a{border-color:var(--line);font-size:13px}
.detail-list dt{color:#96846b}
.company-card p,.profile-panel>p,.settings-grid .panel>p{font-size:13px;color:#857868}
.dev-tools{background:#faf3e6;border-color:#e7d8bb}
.field label{color:#86714f;font-weight:500;font-size:13px}
.field input,.field select,.field textarea,.invite-link{border-color:#dcd0bd;border-radius:4px;background:#fffdf9;font-size:15px}
.notice,.support-help{border-color:#e5d4b7;background:#f6eddd;color:#8c734b}
.range-note{font-size:11px;line-height:1.8;color:#a0917b}
.review-intro{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:27px;padding:32px 38px;border-top:1px solid #d4b989;border-bottom:1px solid #e5d7c0;background:#f3ecdf;margin-bottom:28px}
.review-intro h2{font-size:26px;margin-bottom:10px;position:relative;z-index:1}
.review-intro p:last-child{font-size:13px;color:#8a785e;margin:0;position:relative;z-index:1}
.review-intro .eyebrow{margin-bottom:10px}
.review-emblem{display:flex;align-items:center;justify-content:center;width:66px;height:66px;flex-shrink:0;border:1px solid #c5a473;color:#b38a4d;border-radius:50%}
.review-emblem svg{width:29px;height:29px}
.review-empty{grid-column:1/-1;text-align:center;min-height:280px;border:1px solid var(--line);background:#fffdf8;padding:20px 20px 36px;border-radius:6px}
.review-empty .empty{padding:22px 12px}
.review-empty .empty-symbol{font-size:40px}
.review-empty .secondary{margin-top:5px}
.rating-card h3{font-family:var(--serif);font-size:21px}
.rating-card .stars{color:#b78f51}
.notification h3{font-size:16px;font-family:var(--serif)}
.notification p{font-size:13px;color:#8c7d65}
.notification.unread{border-left-color:#ba995e}
.notification-dot{background:#d9cdb9}
.site-footer{font-family:var(--serif);font-size:11px;letter-spacing:.08em;color:#aa916c;padding:0 44px 26px}
.modal{border-color:#dfd0b9;background:#fffdfa;border-radius:8px}
.modal::backdrop{background:#392c226b}
.modal h2{font-family:var(--serif);font-size:24px}
.modal header p,.modal-content>p{color:#8b7960}
.modal footer{background:#f8f1e6;border-color:var(--line)}
#toast{background:#4e4030;border-radius:5px;font-size:13px}
.login-story{background:#f2ebe0;padding:45px 5.5vw;min-height:850px}
.login-copy{margin-top:65px}
.login-copy .eyebrow{color:#a27f48;font-size:10px;letter-spacing:.15em}
.login-copy h1{font-family:var(--serif);font-size:47px;letter-spacing:.03em;font-weight:400;line-height:1.5;margin:23px 0 19px}
.login-copy>p:not(.eyebrow){font-size:14px;color:#86755e;line-height:2}
.login-benefits{color:#9a825d;gap:20px;font-size:12px}
.login-art{position:relative;right:auto;bottom:auto;margin:20px -1vw 0 2vw;width:min(390px,100%);height:280px;transform:none;isolation:isolate}
.login-art img{width:100%;height:100%;object-fit:cover;border-radius:50% 50% 8px 8px}
.photo-seal{position:absolute;right:12px;bottom:20px;border:1px solid var(--green);outline:1px solid var(--green);outline-offset:3px;background:#faf4e8eb;color:var(--green);font-family:var(--serif);font-size:20px;line-height:1.25;padding:8px}
.login-art-note{position:relative;right:auto;bottom:auto;color:#a18e70;font-size:10px;margin:12px 1vw}
.login-story>.botanical{width:210px;height:270px;top:0;right:0;opacity:.32}
.login-form-side{background:#fcfaf5;padding:80px 7vw;position:relative}
.login-form-box{max-width:390px;width:100%}
.login-form-box>.eyebrow{color:#b0915c;letter-spacing:.17em;font-size:11px}
.login-form-box h2{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:.03em;margin:18px 0 12px}
.login-form-box>p{color:#97866f;font-size:14px;margin-bottom:34px}
.login-form-box label{font-size:13px;color:#887151}
.login-form-box input{background:#fffdf9;border-color:#ded1bd;border-radius:4px;min-height:48px;font-size:16px}
.login-form-box form>.primary{height:48px;margin-top:27px;font-size:14px}
.login-language .secondary{font-size:12px;min-height:34px}
.demo-accounts{border-color:#e4d6be;font-size:12px}
.demo-accounts summary{color:#94774e}
.demo-accounts p,.demo-accounts small{font-size:12px;color:#95836a}
.demo-grid .secondary{font-size:12px}
@media(min-width:1500px){.menu-layout{grid-template-columns:minmax(0,1fr) 300px}.dish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){main#main{padding:30px}.topbar{padding:0 30px}.menu-layout{grid-template-columns:minmax(0,1fr)}.cart{position:static;max-width:none}.menu-banner{min-height:230px}.login-story{padding:42px}.login-copy h1{font-size:38px}.login-form-side{padding:60px 45px}}
@media(max-width:760px){
.sidebar{width:250px;padding-top:25px}.workspace{margin-left:0}
.topbar{padding:0 20px;height:64px}.topbar-right{gap:9px}.server-time{display:none}
.breadcrumb{font-size:12px;max-width:140px}
main#main{padding:28px 22px 38px}
h1,.page-heading h1{font-size:30px;line-height:1.4}
.page-heading{margin-bottom:24px}.page-heading p:not(.eyebrow){font-size:13px}.eyebrow{font-size:9px}
.menu-banner{padding:25px;min-height:220px}
.menu-banner>div:first-of-type{max-width:64%}
.menu-banner h2{font-size:24px;max-width:100%;line-height:1.5;margin:13px 0}
.menu-banner p{font-size:12px;max-width:100%}
.menu-banner .tag{font-size:9px!important;white-space:normal}
.banner-meta{font-size:10px;flex-direction:column;gap:4px}
.meal-art{right:0;top:0;bottom:0;width:33%;height:100%;transform:none;opacity:1}
.meal-art>img{object-position:53% center}
.meal-art>span{font-size:8px;right:5px;bottom:7px;padding:2px 4px}
.menu-banner .botanical{right:28%;width:100px}
.section-title h2{font-size:20px}.section-title{gap:8px;margin:26px 0 15px}.section-title>span{font-size:10px}
.date-chip{font-size:12px;min-width:98px;min-height:48px}
.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.dish-body{padding:17px}.dish-body h3{font-size:19px}.dish-body p{font-size:13px;min-height:44px}
.dish-visual{height:auto;aspect-ratio:1.1}
.dish-bottom strong{font-size:22px}
.quantity-button{width:38px;height:38px}
.allergen,.rating-summary{font-size:10px}
.panel{padding:22px}
.primary,.secondary,.cart-actions button{min-height:44px;font-size:13px}
.stats{gap:10px}.stats article{padding:18px}.stats strong{font-size:26px}
.stats span{font-size:11px}
th,td{font-size:12px}
.cart{margin-top:6px}.cart .fine-print{font-size:11px}
.review-intro{padding:25px 22px;gap:17px}
.review-intro h2{font-size:23px}.review-emblem{width:49px;height:49px}
.review-intro p:last-child{font-size:12px}
.review-empty{min-height:280px}
.site-footer{font-size:10px;padding:0 22px 28px}
.employee-shell+.mobile-nav{background:#fffdf8f5;border-color:#e4d7c4;height:72px;padding-top:8px}
.mobile-nav a{color:#968772;gap:3px}
.mobile-nav a.active{color:var(--green)}
.mobile-nav a small{font-size:11px}
.mobile-nav .line-icon{width:23px;height:23px}
.employee-shell .workspace{padding-bottom:75px}
.login-story{min-height:340px;padding:28px}
.login-story .brand strong{font-size:21px}
.login-story .brand-mark{width:35px;height:39px;font-size:26px}
.login-copy{margin-top:30px;max-width:68%}
.login-copy h1{font-size:31px;line-height:1.5;margin:14px 0}
.login-copy .eyebrow{font-size:8px;max-width:200px;line-height:1.8}
.login-copy>p:not(.eyebrow){font-size:12px}
.login-art{position:absolute;right:-36px;bottom:25px;width:185px;height:185px;margin:0;opacity:1;transform:none}
.login-art img{border-radius:50%}
.photo-seal{display:none}
.login-art-note{position:absolute;right:12px;bottom:8px;font-size:8px;margin:0}
.login-form-side{padding:50px 28px;background:#fcfaf5}
.login-form-box h2{font-size:31px}
.login-form-box>p{font-size:13px}
.login-form-box input{font-size:16px}
.login-story>.botanical{width:140px;height:190px}
.field input,.field select,.field textarea{font-size:16px}
.modal h2{font-size:22px}
}
@media(max-width:480px){
main#main{padding:25px 18px 32px}
.menu-banner{min-height:210px;padding:23px 20px}
.menu-banner h2{font-size:21px}.menu-banner p{font-size:11px}
.menu-banner>div:first-of-type{max-width:66%}
.dish-grid{grid-template-columns:1fr;gap:16px}
.dish-card{display:grid;grid-template-columns:40% minmax(0,1fr)}
.dish-visual{height:100%;min-height:222px;aspect-ratio:auto}
.dish-visual>img{object-fit:cover;object-position:center}
.dish-stock{left:7px;top:8px;font-size:9px;padding:2px 6px}
.dish-body{padding:15px 13px 13px}
.dish-body h3{font-size:18px;line-height:1.4;margin-bottom:8px}
.dish-body p{font-size:11px;min-height:0;line-height:1.7;margin-bottom:7px}
.allergen{font-size:9px;min-height:30px;line-height:1.6}
.dish-bottom{flex-wrap:wrap;gap:7px;margin:8px 0 7px}
.dish-bottom strong{font-size:23px}
.quantity{gap:8px}
.quantity-button{width:36px;height:36px}
.quantity output{font-size:13px}
.rating-summary{font-size:9px;display:block}
.menu-photo-note{font-size:9px!important}
.section-title h2{font-size:19px}
.section-title .badge{font-size:9px}
.stats:has(>article:nth-child(3):last-child) article{padding:16px 11px}
.stats:has(>article:nth-child(3):last-child) strong{font-size:23px}
.stats span{font-size:10px;line-height:1.7;display:block}
.review-intro{display:block;padding:25px}
.review-emblem{margin-bottom:17px}
.review-intro h2{font-size:23px;max-width:230px}
.review-intro .botanical{right:-25px;opacity:.22}
.login-copy{max-width:74%}
.login-copy h1{font-size:29px}
.login-copy>p:not(.eyebrow){font-size:11px}
.login-art{right:-62px;width:190px;bottom:35px}
.dev-banner{font-size:9px}
.site-footer{padding-left:18px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Final spacing and secondary-text legibility. */
.menu-layout>section>.section-title:first-child{margin-top:28px}
.page-heading p:not(.eyebrow),.dish-body p,.empty p,.range-note{color:#786d5d}
.range-note{margin-top:16px}
.login-form-box>p,.login-copy>p:not(.eyebrow){color:#7b6c58}

.page-heading>.actions:empty{display:none}
@media(max-width:480px){.quantity-button{width:44px;height:44px}.dish-body p{font-size:12px}.allergen{font-size:10px}.review-empty{min-height:245px}}
