:root{font-family:-apple-system,BlinkMacSystemFont,'Microsoft JhengHei','PingFang TC',sans-serif;color:#513945;background:#fff7f8;font-size:17px}*{box-sizing:border-box}body{margin:0}header{background:#fff;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:9px;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px #ccb0c022}.brand{display:flex;align-items:center;gap:10px}.brand b{font-size:19px;color:#a5436b}.brand small{display:block;font-size:12px;color:#906a7a}.status{border-radius:20px;padding:9px 11px;font-size:13px;font-weight:bold;white-space:nowrap;background:#f9eed8;color:#815f33}.status.online{background:#e3f4e9;color:#21724f}.status.offline{background:#ffe4e7;color:#9c2f48}main{max-width:950px;margin:auto;padding:14px}.panel{background:#fff;border:1px solid #f1d5df;border-radius:20px;padding:18px;margin:0 0 15px;box-shadow:0 3px 10px #d5b9c01c}.hidden{display:none!important}h2{margin:0 0 15px;color:#a4446b;font-size:20px}h3{font-size:16px;margin:5px 0}.category-grid,.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.category-grid button,.menu-grid button{background:#fce5ed;color:#773e56;border:1px solid #e9c0d2;min-height:67px;border-radius:14px;font-size:17px;font-weight:650}.category-grid button.active{background:#ce6f95;color:white}.menu-grid button{background:#fff5ec;border-color:#f3d9c3;min-height:78px}.menu-grid small{display:block;font-weight:500;color:#aa5480}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row>*{flex:1;min-width:120px}button{cursor:pointer;touch-action:manipulation;font:inherit}button:disabled{opacity:.5;cursor:wait}button.primary{background:#ce638e;border:0;border-radius:13px;color:white;font-size:18px;padding:15px 18px;font-weight:700}button.secondary{border:1px solid #d688a6;background:#fff1f6;border-radius:13px;padding:13px 16px;color:#a4476d;font-weight:700}.small{font-size:13px!important;padding:8px!important;flex:0!important;min-width:auto!important}.wide{width:100%}.textbutton{border:none;background:transparent;text-decoration:underline;color:#a4476d;margin-top:10px}input,select{font:inherit;display:block;margin:7px 0 13px;border:1px solid #e8ccd5;border-radius:10px;width:100%;padding:11px;background:#fff}label{font-weight:600}.addons{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.addons label{font-size:15px;border-radius:9px;background:#fff0f4;padding:8px 11px}.addons input{width:auto;display:inline;margin:0 5px}.line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #f2e2e8}.line b{display:block}.line small{font-size:13px;color:#8f7582}.controls{display:flex;gap:6px}.controls button{width:42px;min-height:42px;border-radius:9px;border:1px solid #deb4c5;background:#fff3f6;color:#994368;font-weight:bold}.total{display:flex;justify-content:space-between;font-size:18px;padding:12px 2px}.total strong{font-size:24px;color:#a94772}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}.toolbar small{color:#977a86;font-size:12px}.pending{border:2px solid #dfbcce}.section-title{display:flex;justify-content:space-between}.section-title span{color:#ac4470;font-size:21px;font-weight:bold}.pending p{font-size:14px;color:#826c77}.error{color:#b12644}#checkoutmsg,#syncmsg{font-weight:650}footer{text-align:center;color:#967d89;font-size:12px;margin:5px 0 28px;padding:10px}@media(min-width:700px){.category-grid{grid-template-columns:repeat(4,1fr)}.menu-grid{grid-template-columns:repeat(3,1fr)}}

.toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.helper{color:#826c77;font-size:14px}.order-entry{padding:13px;margin:10px 0;background:#fff8fa;border:1px solid #efd9e2;border-radius:12px}.order-entry .order-head{display:flex;justify-content:space-between;align-items:center;gap:6px}.order-entry .order-head strong{color:#9f4a70}.order-entry p{font-size:14px;color:#806478;margin:8px 0}.order-entry .row button{font-size:15px;min-width:100px}.cancel-tag{color:#a24a5f;font-weight:bold}.pending-correction{color:#ae6547;font-weight:bold}

.clock-now{font-size:22px;color:#8b3858;font-weight:700}.clock-selected{background:#fff3f6;border:2px solid #e8bdcf;border-radius:16px;padding:18px;margin:15px 0}.clock-selected button{min-height:76px;font-size:22px}#attendancemsg{font-weight:700;line-height:1.6}.category-grid button small{display:block;font-size:12px;margin-top:6px}#remember{display:inline;width:auto;margin:7px}.toolbar{flex-wrap:wrap}

/* Keep the clock entry as one framed button on the right of the ordering page. */
main{max-width:1140px}.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:14px;align-items:start}.work-content{min-width:0}.attendance-shortcut{position:sticky;top:92px}.attendance-entry{width:100%;min-height:94px;border:2px solid #d688a6;border-radius:16px;background:#fff;color:#a4476d;font-size:21px;font-weight:700;padding:16px 10px;box-shadow:0 3px 10px #d5b9c01c}.attendance-entry:hover,.attendance-entry:focus-visible{background:#fce5ed;outline:3px solid #f4cbdc;outline-offset:2px}.section-title{gap:10px;align-items:flex-start}#menuSync{margin:0 0 12px;font-size:13px}
@media(max-width:599px){.work-layout{grid-template-columns:minmax(0,1fr)}.attendance-shortcut{grid-row:1;position:static;justify-self:end;width:145px}.attendance-entry{min-height:58px;font-size:18px}.work-content{grid-row:2}.toolbar-actions{gap:5px}}

/* Bilingual menu and fixed horizontal tablet controls. */
.second-language{display:block;font-size:.78em;font-weight:500;line-height:1.35;margin-top:5px;overflow-wrap:anywhere;color:#856573}.category-grid .active .second-language{color:#fff4f8}.menu-grid .second-language{color:#856573}h2 .second-language{font-size:.7em}.toolbar{justify-content:flex-end}.toolbar-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;width:auto}.toolbar-button{white-space:nowrap;writing-mode:horizontal-tb;flex:0 0 auto;min-height:44px;font-size:15px!important;padding:11px 16px!important}.dialog-open{overflow:hidden}.confirm-overlay{position:fixed;inset:0;z-index:1000;background:#493d4288;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-card{width:min(100%,430px);max-height:90vh;overflow:auto;background:white;border:1px solid #e9c0d2;border-radius:20px;padding:24px;box-shadow:0 15px 70px #493d4244}.confirm-card p{white-space:pre-line;line-height:1.7;margin:10px 0 22px;overflow-wrap:anywhere}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;direction:ltr}.confirm-actions button{min-height:54px;writing-mode:horizontal-tb;white-space:nowrap}.confirm-actions button:focus-visible{outline:3px solid #a4476d;outline-offset:3px}
.clock-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;direction:ltr}.clock-actions button{min-width:0;padding:15px 8px;white-space:nowrap;writing-mode:horizontal-tb}.clock-selected .clock-history-button{margin-top:14px;min-height:54px;font-size:18px}.history-overlay{position:fixed;inset:0;z-index:900;background:#493d4288;display:flex;align-items:center;justify-content:center;padding:18px}.history-card{width:min(100%,720px);max-height:90vh;overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid #e9c0d2;border-radius:20px;padding:22px;box-shadow:0 15px 70px #493d4244}.history-card .section-title{position:sticky;top:-22px;background:white;padding:10px 0;z-index:1}.history-card h2{margin:0}.history-card .order-entry p{white-space:pre-line;line-height:1.65}.history-card .history-original{color:#997c89;font-size:13px}.history-card button:focus-visible{outline:3px solid #a4476d;outline-offset:3px}

/* SYNC10: Chinese above Vietnamese on every application button. */
button{white-space:normal;overflow-wrap:anywhere;line-height:1.35}
button .button-zh{display:block;color:inherit;font-size:inherit;font-weight:inherit;white-space:normal}
button small.button-vi{display:block;color:inherit;font-size:max(12px,.75em);font-weight:500;line-height:1.35;margin:4px 0 0;white-space:normal;overflow-wrap:anywhere}
.toolbar-actions{width:100%;justify-content:flex-end}
.toolbar-button{flex:1 1 0;min-width:0;max-width:280px;white-space:normal}
.confirm-actions button,.clock-actions button{white-space:normal}
.controls{flex-wrap:wrap;flex-shrink:0;max-width:150px}
.controls button{width:auto;min-width:40px;padding:7px 6px}
.line>div:first-child{min-width:0;overflow-wrap:anywhere}
.addons label{display:flex;align-items:center;gap:5px;max-width:100%}
.addons .second-language{margin-top:3px}
.category-grid button,.menu-grid button{padding:12px 8px}
@media(max-width:380px){.toolbar-button{padding:10px 9px!important}.controls{max-width:138px}.clock-selected{padding:12px}.confirm-card{padding:18px}}

/* Keep menu refresh compact and horizontal, even beside long bilingual titles. */
.section-title{flex-wrap:wrap;align-items:center}
.section-title>h2{flex:1 1 190px;min-width:0}
#refreshMenu.small{flex:0 0 auto!important;min-width:max-content!important;max-width:100%;writing-mode:horizontal-tb;white-space:nowrap;overflow-wrap:normal;align-self:flex-start;margin-left:auto}
#refreshMenu .button-zh,#refreshMenu small.button-vi{white-space:nowrap;overflow-wrap:normal;word-break:normal;writing-mode:horizontal-tb}
#refreshMenu .button-zh{font-size:13px}

/* Cart captions: keep Chinese and Vietnamese readable, including selected extras. */
.cart-options{display:block;margin-top:5px;line-height:1.45}
.cart-options .second-language{font-size:13px;margin-top:3px}
.cart-note{display:block;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}
