/* Shared Huỳnh Long POS visual system: warm coffee brown with clear moss-green actions. */
:root{--hl-coffee:#563a2a;--hl-coffee-dark:#3e281d;--hl-caramel:#b77b3d;--hl-oat:#e6c9a2;--hl-cream:#fff4df;--hl-moss:#435b3e;--hl-moss-dark:#31462f;--hl-ink:#2d2119;--hl-muted:#66503d}

/* Admin shell echoes the installed Huỳnh Long POS app. */
body.admin-page .admin-topbar{background:var(--hl-coffee-dark);border-bottom:3px solid var(--hl-moss);color:var(--hl-cream)}
body.admin-page .admin-mark{display:grid;place-items:center;background:var(--hl-moss);border:1px solid #c5a16e;border-radius:13px;color:var(--hl-cream);font:800 15px Arial,sans-serif;letter-spacing:.5px}
body.admin-page .admin-brand b{font-size:15px;letter-spacing:1.4px;color:var(--hl-cream)}
body.admin-page .admin-brand small{color:#e4c89f;letter-spacing:1px}
body.admin-page .admin-tabs button.active{color:var(--hl-moss-dark);border-color:var(--hl-moss);font-weight:800}
body.admin-page .admin-tabs button:focus-visible,body.admin-page button:focus-visible,body.admin-page a:focus-visible{outline:3px solid #c38c48;outline-offset:2px}

/* Point of sale: compact app header, four large photo tiles per horizontally snapped page. */
.pos-panel{--pos-ink:var(--hl-ink);--pos-card:#ead1ad;--pos-edge:#a77a4b;position:relative;display:grid;gap:12px;padding:16px!important;border:1px solid #a77a4b!important;border-radius:16px!important;background:#d9b88f!important;color:var(--pos-ink)!important;box-shadow:0 10px 30px #38231918}
.pos-panel[hidden]{display:none!important}
.pos-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:0 0 8px;border-bottom:1px solid #94714c}
.pos-topline h2{margin:2px 0 0!important;color:#302319!important;font:700 22px/1.1 Arial,sans-serif!important}
.pos-topline .admin-kicker{color:var(--hl-moss-dark)!important;font-size:9px!important;letter-spacing:1.2px}
.pos-topline button{min-height:38px!important;padding:8px 12px!important;background:var(--hl-coffee)!important;color:var(--hl-cream)!important;border-color:var(--hl-coffee)!important}
.pos-toolbar{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(160px,1.35fr) auto;align-items:end;gap:9px}
.pos-toolbar label{display:grid;gap:4px;color:#38291f!important;font-size:11px;font-weight:800}
.pos-toolbar input,.pos-toolbar select{width:100%;height:40px;min-width:0;padding:0 11px;border:1px solid #92704b;border-radius:9px;background:#fff4df;color:#302319;font:600 13px Arial,sans-serif}
.pos-toolbar input::placeholder{color:#6f5944;opacity:1}
.pos-paging{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#302319;font-size:11px;font-weight:700;white-space:nowrap}
.pos-paging button{width:38px;height:38px;min-height:38px!important;border:1px solid var(--hl-moss-dark);border-radius:10px;background:var(--hl-moss)!important;color:#fff4df!important;font:700 25px/1 Arial,sans-serif;cursor:pointer}
.pos-paging button:disabled{opacity:.42;cursor:default}
.pos-menu-viewport{width:100%;height:clamp(330px,53vh,560px);min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x pan-y;border:1px solid #a88154;border-radius:12px;background:#cda77b;scrollbar-width:thin;scrollbar-color:var(--hl-moss) #ead4b4}
.pos-menu-track{display:flex;width:100%;height:100%;align-items:stretch}
.pos-page{flex:0 0 100%;width:100%;height:100%;padding:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;scroll-snap-align:start;scroll-snap-stop:always}
.pos-tile{display:grid;grid-template-columns:minmax(72px,38%) minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border:1px solid #97704a;border-radius:11px;background:var(--pos-card);box-shadow:0 2px 5px #3f2a1c18}
.pos-tile>img{width:100%;height:100%;min-height:0;object-fit:cover;background:#94704c}
.pos-tile-copy{min-width:0;padding:8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.pos-tile-copy>span{max-width:100%;overflow:hidden;color:var(--hl-moss-dark);font-size:9px;font-weight:800;letter-spacing:.6px;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.pos-tile-copy h3{display:-webkit-box;overflow:hidden;margin:0;color:#2e2118;font:700 14px/1.17 Arial,sans-serif;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.pos-tile-copy>strong{color:#7b461f;font-size:13px;font-weight:800}
.pos-tile-copy button{width:100%;min-height:36px!important;margin-top:auto;padding:6px!important;border:1px solid var(--hl-moss-dark)!important;border-radius:8px!important;background:var(--hl-moss)!important;color:#fff7e9!important;font-size:11px!important;font-weight:800!important;cursor:pointer}
.pos-tile-copy button:active,.pos-paging button:active{transform:scale(.98)}
.pos-bottom-bar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border:1px solid #8b6a46;border-radius:12px;background:#f3dfbf;box-shadow:0 -5px 15px #39251b16}
.pos-bottom-bar>div{display:grid;gap:2px;min-width:0;color:#302319}
.pos-bottom-bar strong{font-size:13px}
.pos-bottom-bar small{color:#70411f;font-size:15px;font-weight:800}
.pos-bottom-bar button{min-height:42px!important;padding:9px 15px!important;border:1px solid var(--hl-moss-dark)!important;border-radius:9px!important;background:var(--hl-moss)!important;color:#fff7e9!important;font-size:12px!important;letter-spacing:0!important}
.pos-bottom-bar button:disabled{background:#8d8775!important;border-color:#77705f!important;color:#fff!important;opacity:1!important}
.pos-message{margin:0;color:#302319!important;font-size:12px;font-weight:700}
.pos-dialog{max-width:min(560px,calc(100vw - 24px));max-height:min(88dvh,760px);overflow:auto;border:1px solid #a77a4b;border-radius:16px;background:#f4e2c6;color:#2d2119;box-shadow:0 24px 70px #21140db0}
.pos-dialog::backdrop{background:#25180f99;backdrop-filter:blur(3px)}
.pos-dialog form{position:relative;padding:20px}
.pos-dialog h2{margin:5px 36px 14px 0;color:#34251b;font:700 22px/1.2 Arial,sans-serif}
.pos-dialog .admin-kicker{color:var(--hl-moss-dark)}
.pos-dialog label{display:grid;gap:5px;color:#302319;font-size:12px;font-weight:700}
.pos-dialog input:not([type=checkbox]):not([type=radio]),.pos-dialog select,.pos-dialog textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #9a7852;border-radius:8px;background:#fff6e7;color:#2c2018;font:14px Arial,sans-serif}
.pos-dialog input::placeholder,.pos-dialog textarea::placeholder{color:#735c45;opacity:1}
.pos-item-image{width:100%;max-height:220px;object-fit:cover;border-radius:11px}
.pos-item-total,.pos-checkout-total{color:#33251b;font-weight:700}
.pos-item-total strong,.pos-checkout-total strong,.pos-cart-total strong{color:#76431d;font-size:18px}
.pos-dialog-close{position:absolute;top:9px;right:11px;width:36px;height:36px;border:1px solid #99764e;border-radius:50%;background:#fff1da;color:#35251b;font-size:22px;cursor:pointer}
.pos-dialog-actions{position:sticky;bottom:-20px;display:flex;justify-content:flex-end;gap:8px;padding:12px 0 0;background:#f4e2c6}
.pos-dialog-actions button{min-height:44px!important;border-radius:9px!important;font-size:12px!important;letter-spacing:0!important}
.pos-dialog-actions .admin-primary{background:var(--hl-moss)!important;color:#fff7e9!important}
.pos-dialog-actions .admin-secondary{background:#674832!important;color:#fff4df!important;border-color:#543824!important}
.pos-checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pos-checkout-grid label:has(textarea){grid-column:1/-1}
.pos-payment-choice{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;padding:10px;border:1px solid #ad8c65;border-radius:9px}
.pos-payment-choice legend{color:#38291f;font-weight:800}
.pos-payment-choice label,.pos-loyalty-check{display:flex!important;align-items:center;gap:8px;min-height:38px;padding:7px 9px;border:1px solid #ad8c65;border-radius:8px;background:#f8ead3}
.pos-result-dialog{text-align:center}
.pos-result-mark{width:50px;height:50px;margin:2px auto 10px;border-radius:50%;display:grid;place-items:center;background:var(--hl-moss);color:#fff;font-size:28px;font-weight:800}
.pos-result-dialog #pos-result-message{white-space:pre-line;color:#3b2a1f;font-size:14px;line-height:1.5}

/* Customer page uses the same brown/moss palette while preserving its large dish-photo swipe cards. */
body:has(.site-header){--coffee:#563a2a;--coffee-dark:#3e281d;--moss:#435b3e}
body:has(.site-header) .site-header{background:#3e281d!important;border-bottom:3px solid #435b3e!important;color:#fff4df!important}
body:has(.site-header) .site-header :is(a,strong,b,small,button){color:#fff4df}
body:has(.site-header) .brand-symbol{background:#435b3e!important;color:#fff4df!important;border-color:#d1b383!important}
body:has(.site-header) :is(.hero,.menu-section,.benefits,.contact-section){color:#2d2119}
body:has(.site-header) .menu-section{background:#dfc19b!important}
body:has(.site-header) :is(.product-card,.featured-card){background:#ead1ad!important;border-color:#9c774f!important;color:#2d2119!important}
body:has(.site-header) :is(.product-card h3,.product-card p,.featured-card h3,.featured-card p,.product-card small,.featured-card small){color:#33251b!important;opacity:1!important}
body:has(.site-header) :is(.product-price,.featured-card .price){color:#7b461f!important}
body:has(.site-header) :is(.buy-now-button,.checkout-button,.primary-button,.add-button){background:#435b3e!important;border-color:#31462f!important;color:#fff4df!important}
body:has(.site-header) :is(.category-tabs button.active,.mobile-category-picker select){background:#435b3e!important;border-color:#31462f!important;color:#fff4df!important}
body:has(.site-header) :is(.account-trigger,.cart-trigger,.install-app-trigger){border-color:#b68b59!important}
body:has(.site-header) :is(button,a,input,select):focus-visible{outline:3px solid #bd873f!important;outline-offset:2px}

@media(max-width:680px){
 .pos-panel{gap:9px;padding:11px!important}
 .pos-topline{min-height:34px;padding-bottom:7px}
 .pos-topline h2{font-size:19px!important}
 .pos-topline .admin-kicker{font-size:8px!important}
 .pos-topline button{min-height:36px!important;font-size:10px!important}
 .pos-toolbar{grid-template-columns:minmax(105px,.76fr) minmax(110px,1fr);gap:7px}
 .pos-paging{grid-column:1/-1;justify-content:space-between}
 .pos-menu-viewport{height:clamp(340px,52dvh,480px)}
 .pos-page{padding:7px;gap:7px}
 .pos-tile{grid-template-columns:minmax(62px,35%) minmax(0,1fr);border-radius:9px}
 .pos-tile-copy{padding:6px;gap:3px}
 .pos-tile-copy h3{font-size:12px}
 .pos-tile-copy>strong{font-size:12px}
 .pos-tile-copy button{min-height:34px!important;padding:5px 3px!important;font-size:10px!important}
 .pos-bottom-bar{padding:7px 8px calc(7px + env(safe-area-inset-bottom))}
 .pos-bottom-bar strong{font-size:11px}
 .pos-bottom-bar small{font-size:14px}
 .pos-bottom-bar button{min-height:40px!important;padding:8px 10px!important;font-size:11px!important}
 .pos-dialog{max-height:calc(100dvh - 22px)}
 .pos-dialog form{padding:17px}
 .pos-dialog-actions{bottom:-17px}
 body:has(.site-header) .product-card img,body:has(.site-header) .product-card .product-image{object-fit:cover}
}
@media(max-width:390px){.pos-menu-viewport{height:clamp(320px,49dvh,430px)}.pos-tile{grid-template-columns:minmax(54px,32%) minmax(0,1fr)}.pos-tile-copy h3{font-size:11px}.pos-tile-copy>span{font-size:8px}}
@media(orientation:landscape) and (max-height:520px){.pos-menu-viewport{height:52vh;min-height:205px}.pos-panel{gap:7px}.pos-toolbar input,.pos-toolbar select{height:36px}.pos-tile-copy h3{-webkit-line-clamp:1}}

/* POS runs as a compact, app-like screen: four photo tiles always fit, and
   only the menu viewport moves horizontally between groups of four. */
@media(max-width:760px){
 body.admin-page.pos-mode{height:100vh;height:100dvh;overflow:hidden!important;padding:0!important;overscroll-behavior:none}
 body.admin-page.pos-mode .admin-topbar{position:fixed!important;inset:0 0 auto!important;height:52px!important;min-height:52px!important;padding:5px 9px!important;z-index:90!important}
 body.admin-page.pos-mode .admin-shell{position:fixed!important;inset:52px 0 0!important;width:100%!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important}
 body.admin-page.pos-mode .admin-welcome,body.admin-page.pos-mode .admin-tabs{display:none!important}
 body.admin-page.pos-mode #admin-dashboard{height:100%!important;min-height:0!important;overflow:hidden!important}
 body.admin-page.pos-mode #admin-pos-panel:not([hidden]){position:fixed!important;inset:54px 5px calc(65px + env(safe-area-inset-bottom))!important;z-index:85!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:6px!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto auto!important;gap:5px!important;overflow:hidden!important;border-radius:10px!important}
 body.admin-page.pos-mode .pos-topline{min-height:30px!important;padding:0 0 4px!important}
 body.admin-page.pos-mode .pos-topline h2{font-size:17px!important}
 body.admin-page.pos-mode .pos-topline .admin-kicker{font-size:7px!important;letter-spacing:.8px!important}
 body.admin-page.pos-mode .pos-topline button{min-height:29px!important;padding:4px 7px!important;font-size:9px!important}
 body.admin-page.pos-mode .pos-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;gap:4px 6px!important;align-items:center!important}
 body.admin-page.pos-mode .pos-toolbar label{gap:2px!important;font-size:9px!important}
 body.admin-page.pos-mode .pos-toolbar input,body.admin-page.pos-mode .pos-toolbar select{height:32px!important;min-height:32px!important;padding:0 7px!important;font-size:11px!important}
 body.admin-page.pos-mode .pos-paging{grid-column:1/-1!important;justify-content:space-between!important;gap:5px!important;font-size:9px!important}
 body.admin-page.pos-mode .pos-paging button{width:28px!important;height:27px!important;min-height:27px!important;border-radius:7px!important;font-size:20px!important}
 body.admin-page.pos-mode .pos-menu-viewport{height:auto!important;min-height:0!important;max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important}
 body.admin-page.pos-mode .pos-menu-viewport::-webkit-scrollbar{display:none!important}
 body.admin-page.pos-mode .pos-menu-track{height:100%!important;align-items:stretch!important}
 body.admin-page.pos-mode .pos-page{height:100%!important;min-height:0!important;padding:5px!important;gap:5px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
 body.admin-page.pos-mode .pos-tile{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;min-width:0!important;min-height:0!important;border-radius:8px!important}
 body.admin-page.pos-mode .pos-tile>img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
 body.admin-page.pos-mode .pos-tile-copy{min-height:0!important;padding:4px!important;gap:2px!important}
 body.admin-page.pos-mode .pos-tile-copy>span{font-size:7px!important;line-height:1!important}
 body.admin-page.pos-mode .pos-tile-copy h3{font-size:10px!important;line-height:1.12!important;-webkit-line-clamp:1!important}
 body.admin-page.pos-mode .pos-tile-copy>strong{font-size:10px!important;line-height:1!important}
 body.admin-page.pos-mode .pos-tile-copy button{min-height:26px!important;margin-top:2px!important;padding:3px!important;font-size:9px!important;line-height:1!important}
 body.admin-page.pos-mode .pos-bottom-bar{position:relative!important;bottom:auto!important;z-index:1!important;min-height:43px!important;padding:4px 6px!important;gap:5px!important;border-radius:8px!important}
 body.admin-page.pos-mode .pos-bottom-bar strong{font-size:10px!important}
 body.admin-page.pos-mode .pos-bottom-bar small{font-size:12px!important}
 body.admin-page.pos-mode .pos-bottom-bar button{min-height:33px!important;padding:5px 8px!important;font-size:9px!important}
 body.admin-page.pos-mode .pos-message{min-height:0!important;max-height:24px!important;overflow:hidden!important;font-size:9px!important;line-height:1.2!important}
 body.admin-page.pos-mode .pos-message:empty{display:none!important}
 body.admin-page.pos-mode .app-bottom-nav{z-index:100!important}
}
@media(max-width:390px){
 body.admin-page.pos-mode #admin-pos-panel:not([hidden]){inset:53px 3px calc(63px + env(safe-area-inset-bottom))!important;padding:4px!important}
 body.admin-page.pos-mode .pos-page{padding:3px!important;gap:4px!important}
 body.admin-page.pos-mode .pos-tile-copy{padding:3px!important}
 body.admin-page.pos-mode .pos-tile-copy h3{font-size:9px!important}
 body.admin-page.pos-mode .pos-tile-copy button{font-size:8px!important}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:900px){
 body.admin-page.pos-mode #admin-pos-panel:not([hidden]){inset:50px 4px calc(48px + env(safe-area-inset-bottom))!important}
 body.admin-page.pos-mode .pos-topline{min-height:25px!important}
 body.admin-page.pos-mode .pos-toolbar{grid-template-columns:minmax(90px,.7fr) minmax(130px,1fr) auto!important}
 body.admin-page.pos-mode .pos-paging{grid-column:auto!important}
 body.admin-page.pos-mode .pos-menu-viewport{grid-row:3}
 body.admin-page.pos-mode .pos-page{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important}
 body.admin-page.pos-mode .pos-bottom-bar{grid-row:4}
 body.admin-page.pos-mode .app-bottom-nav{display:none!important}
}

/* Guest phone view shares the POS app's compact shell and colors; its own menu
   remains a large, one-dish-at-a-time horizontal swipe for easy ordering. */
@media(max-width:700px){
 body:has(.site-header){background:#d8b894!important;color:#2d2119}
 body:has(.site-header) .site-header{min-height:58px!important;box-shadow:0 4px 14px #2b1b1240!important}
 body:has(.site-header) .header-inner{min-height:58px!important;padding:7px 12px!important;gap:8px!important}
 body:has(.site-header) .brand{min-width:0!important;gap:8px!important}
 body:has(.site-header) .brand-symbol{width:38px!important;height:38px!important;flex:0 0 38px!important}
 body:has(.site-header) .brand strong{font-size:13px!important;letter-spacing:1px!important;color:#fff4df!important}
 body:has(.site-header) .brand small{font-size:8px!important;color:#e6c9a2!important}
 body:has(.site-header) .header-actions{gap:6px!important}
 body:has(.site-header) .account-trigger{min-height:38px!important;padding:7px 10px!important;background:#435b3e!important;color:#fff4df!important;border:1px solid #31462f!important;border-radius:22px!important;font-size:10px!important;font-weight:800!important}
 body:has(.site-header) .cart-trigger{min-height:38px!important;padding:6px 9px!important;background:#e6c9a2!important;color:#302319!important;border:1px solid #a77a4b!important;border-radius:10px!important;font-size:10px!important}
 body:has(.site-header) .cart-trigger b{background:#435b3e!important;color:#fff4df!important}
 body:has(.site-header) .menu-section{width:100%!important;max-width:none!important;margin:0!important;padding:12px 12px 30px!important;background:#d8b894!important}
 body:has(.site-header) .menu-heading{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;margin:0 0 8px!important;padding:5px 0 10px!important;border-bottom:1px solid #94714c!important}
 body:has(.site-header) .menu-heading h2{margin:0!important;color:#302319!important;font-size:24px!important;line-height:1.15!important}
 body:has(.site-header) .menu-heading h2 em{color:#435b3e!important}
 body:has(.site-header) .menu-search{min-height:40px!important;border:1px solid #98724c!important;border-radius:10px!important;background:#fff4df!important;color:#435b3e!important}
 body:has(.site-header) .menu-search input{min-height:38px!important;background:transparent!important;color:#302319!important;font-size:14px!important}
 body:has(.site-header) .menu-search input::placeholder{color:#6f5944!important;opacity:1!important}
 body:has(.site-header) .menu-category-rail{top:58px!important;margin:0 -12px 10px!important;padding:7px 12px!important;background:#563a2a!important;border-bottom:2px solid #435b3e!important}
 body:has(.site-header) .mobile-category-picker select{min-height:44px!important;background:#e6c9a2!important;border:1px solid #a77a4b!important;color:#302319!important}
 body:has(.site-header) .install-app-trigger{min-height:42px!important;padding:8px 11px!important;background:#435b3e!important;border:1px solid #31462f!important;color:#fff4df!important;border-radius:10px!important;font-size:10px!important}
 body:has(.site-header) .product-category-heading h3{color:#302319!important}
 body:has(.site-header) .product-category-heading::after{color:#31462f!important}
 body:has(.site-header) .product-category-products>.product-card{background:#ead1ad!important;border:1px solid #9c774f!important;border-radius:14px!important;box-shadow:0 7px 18px #3f2a1c24!important}
 body:has(.site-header) .product-category-products .product-card :is(.product-title-row h3,.product-price){color:#2d2119!important;opacity:1!important}
 body:has(.site-header) .product-category-products .product-card .product-price{color:#7b461f!important;font-weight:800!important}
 body:has(.site-header) .product-category-products .product-card :is(.product-detail-trigger,.product-category){color:#314b35!important}
 body:has(.site-header) .product-category-products .product-card :is(.buy-now-button,.add-to-cart-button,.detail-add-button,.detail-buy-button){min-height:44px!important;background:#435b3e!important;border-color:#31462f!important;color:#fff4df!important}
 body:has(.site-header) .quick-cart-dock{background:#435b3e!important;border:1px solid #e6c9a2!important;color:#fff4df!important;box-shadow:0 8px 22px #24170f55!important}
 body:has(.site-header) .quick-cart-dock :is(b,small,span){color:#fff4df!important}
}
