@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#28352d;--muted:#758078;--green:#15833e;--lime:#e5edbd;--paper:#f6f4ef;--white:#fffefa;--line:#e8e7df;--orange:#e0bd00}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input{font:inherit}button{cursor:pointer}.top{height:76px;max-width:1180px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-icon{width:41px;height:41px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font:italic 24px 'Playfair Display'}.brand-logo{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}.brand b{letter-spacing:2px;font-size:13px;display:block}.brand small{color:#838981;font-size:10px;letter-spacing:.8px}.admin-switch,.back-menu,.light-button{border:1px solid var(--line);background:transparent;color:#546158;padding:11px 16px;border-radius:11px;font-weight:600;text-decoration:none}.hero{max-width:1132px;min-height:330px;margin:14px auto 46px;padding:44px 65px;border-radius:24px;background:#e8ede4;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#77867a}.hero h1,.admin-heading h1{font:500 43px/1.17 'Playfair Display',serif;margin:15px 0 10px;letter-spacing:-.6px}.hero h1 i,.admin-heading h1 i{color:#56805e}.hero p,.admin-heading p{color:#758078;margin:0}.hero-meta{display:flex;gap:23px;margin-top:24px;color:#5d725f;font-size:12px}.hero-art{width:280px;height:250px;position:relative;flex:none}.sun{position:absolute;width:155px;height:155px;background:#f2dbb9;border-radius:50%;right:26px;top:30px}.cup{position:absolute;z-index:1;font-size:104px;right:69px;top:52px;filter:drop-shadow(5px 12px 10px #7775);transform:rotate(-7deg)}.leaf{position:absolute;color:#64866b;font-size:58px}.leaf-one{right:200px;top:54px;transform:rotate(-21deg)}.leaf-two{right:12px;bottom:38px;font-size:43px}.menu-head{max-width:1000px;margin:0 auto 18px;display:flex;justify-content:space-between;align-items:end;padding:0 10px}.menu-head h2,.customer-info h2,.order-toolbar h2,.product-toolbar h2{font:500 28px 'Playfair Display',serif;margin:8px 0 0}.table-chip{padding:11px 15px;background:#fff;border:1px solid var(--line);border-radius:30px;color:#68756b;font-size:13px}.table-chip input{border:0;outline:0;width:30px;font-weight:700;color:var(--green);background:transparent}.categories{max-width:1000px;margin:0 auto 19px;display:flex;gap:9px;overflow:auto;padding:0 10px 4px}.category{border:1px solid var(--line);border-radius:24px;background:transparent;padding:10px 16px;color:#66716a;white-space:nowrap}.category.active{background:var(--green);color:white;border-color:var(--green)}.menu-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:17px;padding:0 10px}.drink-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;gap:15px;min-height:134px}.drink-art{height:88px;width:88px;border-radius:15px;background:#f0eee5;display:grid;place-items:center;font-size:43px;flex:none}.drink-copy{min-width:0;flex:1;display:flex;flex-direction:column}.drink-copy small{font-size:10px;letter-spacing:1px;color:#829080}.drink-copy h3{font-size:15px;margin:5px 0 3px}.drink-copy p{font-size:11px;color:#8b918b;margin:0;line-height:1.4}.price-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:9px}.price{font-weight:700;color:#345844}.add-btn,.qty-btn{border:0;background:var(--lime);color:var(--green);width:31px;height:31px;border-radius:11px;font-weight:700;font-size:18px}.quantity{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.customer-info{max-width:980px;background:#fffefa;border:1px solid var(--line);border-radius:20px;margin:50px auto 0;padding:28px 34px}.customer-info p,.order-toolbar p,.product-toolbar p{color:#8b918b;font-size:13px;margin:6px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:23px}.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#66716a}.form-grid input,.modal input{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 13px;background:#fff;outline-color:#66886c}.form-grid .wide{grid-column:span 2}.optional{color:#a0a59f;font-weight:400}.place-row{margin-top:22px;border-top:1px solid var(--line);padding-top:19px;display:flex;align-items:center;justify-content:space-between;color:#777f79;font-size:13px}.primary{border:0;background:var(--green);color:white;border-radius:11px;padding:13px 19px;font-weight:700}.primary:disabled{opacity:.45;cursor:not-allowed}.primary span{margin-left:16px}footer{text-align:center;color:#949a91;font-size:11px;padding:28px}.cart-float{display:none}.hidden{display:none!important}.admin-page{max-width:1070px;margin:43px auto;padding:0 20px 70px}.admin-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.admin-heading h1{font-size:36px}.admin-tabs{display:flex;gap:23px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{padding:13px 2px;border:0;background:transparent;color:#89918a;border-bottom:2px solid transparent;font-weight:700}.tab.active{color:var(--green);border-color:var(--green)}.tab span{background:#f2e4d4;color:#a65d26;padding:2px 7px;border-radius:12px;font-size:11px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:17px}.stat small{color:#838c84}.stat strong{display:block;font:500 25px 'Playfair Display';margin-top:8px}.order-toolbar,.product-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:30px}.order-toolbar h2,.product-toolbar h2{font-size:23px}.order-filters{display:flex;gap:8px;margin:16px 0}.filter{background:transparent;border:1px solid var(--line);border-radius:18px;padding:8px 12px;color:#778078;font-size:12px}.filter.active{background:#e6ede5;color:#3c6147;border-color:#cbd9ca}.orders{display:grid;gap:12px}.order-card{background:#fffefa;border:1px solid var(--line);border-radius:15px;padding:18px}.order-head{display:flex;justify-content:space-between;gap:12px}.order-number{font-weight:700}.order-time{font-size:11px;color:#899189;margin-left:8px}.badge{font-size:11px;padding:5px 9px;border-radius:20px;background:#fff0dd;color:#a8632f;white-space:nowrap}.badge.making{background:#e8f0fb;color:#406b9c}.badge.ready{background:#e6f2e4;color:#467149}.badge.done{background:#eee;color:#777}.badge.cancelled{background:#f9e8e6;color:#a24e45}.order-customer{font-size:12px;color:#6e7970;margin-top:10px}.order-lines{margin:13px 0;padding:12px 0;border-block:1px solid #efeee8;display:grid;gap:7px;font-size:13px}.order-lines div{display:flex;justify-content:space-between}.order-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.order-total{font-weight:700}.order-actions{display:flex;gap:7px;flex-wrap:wrap}.order-actions button{border:1px solid var(--line);background:white;border-radius:8px;padding:8px 10px;font-size:11px;color:#59665b}.order-actions button.next{background:var(--green);color:white;border-color:var(--green)}.order-note{padding:8px 10px;border-radius:8px;background:#f5f3ec;color:#746f5c;font-size:11px;margin-bottom:12px}.product-list{display:grid;gap:10px;margin-top:17px}.product-row{background:white;border:1px solid var(--line);border-radius:13px;padding:14px 16px;display:flex;align-items:center;gap:14px}.product-emoji{font-size:29px}.product-info{flex:1}.product-info b{display:block}.product-info small{color:#8a918a}.product-price{font-weight:700}.product-row button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:transparent;color:#5a665d;font-size:11px}.product-row .off{opacity:.45}.message{margin-top:15px;color:#a04b40}.toast{position:fixed;z-index:10;bottom:24px;left:50%;transform:translate(-50%,20px);padding:13px 18px;background:#293b30;color:white;border-radius:12px;opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.modal{position:fixed;inset:0;background:#1c2c2280;z-index:5;display:grid;place-items:center;padding:16px}.modal-card{width:min(460px,100%);background:var(--white);border-radius:18px;padding:24px}.modal-card h2{font:500 25px 'Playfair Display';margin:0 0 20px}.modal-fields{display:grid;gap:12px}.modal-fields label{display:grid;gap:6px;font-size:12px;color:#68736b}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:19px}.empty{border:1px dashed #d7dbd3;border-radius:14px;padding:32px;text-align:center;color:#899189}@media(max-width:760px){.top{height:65px;padding:0 17px}.hero{margin:5px 12px 31px;min-height:275px;padding:30px 24px;border-radius:19px}.hero h1{font-size:34px}.hero p{font-size:12px;max-width:270px;line-height:1.5}.hero-meta{font-size:10px;gap:12px}.hero-art{position:absolute;right:-66px;bottom:-32px;transform:scale(.68);transform-origin:bottom right;opacity:.75}.menu-head{padding:0 19px}.menu-head h2,.customer-info h2{font-size:24px}.menu-grid{grid-template-columns:1fr;gap:10px;padding:0 15px}.drink-card{padding:12px;min-height:116px}.drink-art{height:88px;width:78px}.categories{padding-left:15px}.customer-info{margin:36px 13px 0;padding:23px 18px}.form-grid{grid-template-columns:1fr;gap:12px}.form-grid .wide{grid-column:span 1}.place-row{align-items:flex-start;gap:12px;flex-direction:column}.place-row .primary{width:100%;display:flex;justify-content:space-between}.cart-float{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffff2;border-top:1px solid var(--line);padding:10px 15px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;z-index:3;font-size:12px}.cart-float button{border:0;background:var(--green);color:white;padding:13px 15px;border-radius:11px;font-weight:700}.admin-page{margin:28px auto;padding:0 14px 65px}.admin-heading{align-items:flex-start;gap:10px}.admin-heading h1{font-size:30px}.admin-heading p{font-size:12px}.back-menu{font-size:10px;padding:9px}.stat-row{gap:7px}.stat{padding:12px}.stat small{font-size:10px}.stat strong{font-size:19px}.order-toolbar{margin-top:24px}.order-toolbar h2,.product-toolbar h2{font-size:20px}.light-button{font-size:11px;padding:9px}.order-filters{overflow:auto}.filter{white-space:nowrap}.order-card{padding:14px}.order-head{align-items:flex-start}.order-time{display:block;margin:3px 0}.order-foot{align-items:flex-start;flex-direction:column}.order-actions{width:100%}.order-actions button{flex:1}.product-row{gap:9px;padding:12px}.product-info b{font-size:12px}.product-price{font-size:12px}.admin-switch{font-size:11px;padding:9px 11px}}
@media print{.top,.admin-heading,.admin-tabs,.stat-row,.order-toolbar,.order-filters,.order-actions,.product-toolbar,footer{display:none!important}.admin-page{margin:0;padding:0}.order-card{break-inside:avoid;border:1px solid #bbb}.orders{display:block}.order-card{margin-bottom:12px}}
.variant-pick{display:flex;align-items:center;gap:6px;color:#829080;font-size:10px;margin-top:5px}.variant-pick select,.modal select{border:1px solid var(--line);border-radius:7px;padding:4px 7px;background:#fffefa;color:#526354;font-size:11px}.customer-order-status{margin-top:20px;padding:15px 17px;background:#f0f4ed;border:1px solid #dce7d8;border-radius:12px}.customer-order-status>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.customer-order-status p{margin:10px 0;color:#657169;line-height:1.6}.customer-order-status small{display:block;color:#78847a;font-size:11px;margin-top:7px}.completion{font-size:11px;color:#527052;padding:8px 3px}
@media(max-width:760px){body{padding-bottom:calc(75px + env(safe-area-inset-bottom))}.top{position:sticky;top:0;z-index:4;background:#f6f4eff2;backdrop-filter:blur(12px);height:62px;border-bottom:1px solid #e8e7df;padding-left:15px;padding-right:15px}.brand-icon{width:37px;height:37px}.hero{min-height:260px;margin:10px 10px 27px;padding:25px 21px}.hero h1{font-size:32px;line-height:1.18}.hero-copy{max-width:82%}.hero p{font-size:13px}.hero-meta{flex-wrap:wrap;line-height:1.5}.hero-art{right:-48px;bottom:-39px;transform:scale(.62);opacity:.7}.menu-head{align-items:center;padding:0 16px}.menu-head h2{font-size:23px}.table-chip{padding:10px 12px;font-size:13px}.table-chip input{font-size:16px;min-height:24px}.categories{position:sticky;top:62px;z-index:2;background:#f6f4eff2;padding:10px 14px;margin-bottom:8px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category{min-height:40px;padding:10px 15px;font-size:13px}.menu-grid{padding:0 12px;gap:10px}.drink-card{min-height:120px;border-radius:15px;padding:11px;gap:12px;box-shadow:0 2px 10px #2d41300a}.drink-art{width:76px;height:96px;font-size:39px}.drink-copy h3{font-size:16px;margin-top:6px}.drink-copy p{font-size:12px}.price-row{padding-top:7px}.price{font-size:14px}.add-btn,.qty-btn{width:38px;height:38px;border-radius:12px}.quantity{gap:10px}.customer-info{scroll-margin-top:76px;margin:30px 10px 0;padding:22px 17px}.form-grid input{height:49px;font-size:16px;padding:0 13px}.form-grid label{font-size:13px}.place-row{position:relative}.place-row .primary{height:50px;font-size:15px}.cart-float{bottom:0;padding:9px 13px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -5px 22px #26382b12}.cart-float>span{font-size:13px;font-weight:700;color:#526052}.cart-float button{height:49px;min-width:205px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 15px;font-size:14px}.cart-modal{align-items:end;padding:0;background:#1c2c2280}.cart-sheet{width:100%;max-height:min(82dvh,680px);overflow:auto;background:#fffefa;border-radius:22px 22px 0 0;padding:10px 19px calc(17px + env(safe-area-inset-bottom));animation:sheet-up .18s ease-out}.sheet-grab{height:4px;width:42px;margin:0 auto 18px;border-radius:6px;background:#d6dad3}.sheet-head{display:flex;align-items:start;justify-content:space-between}.sheet-head h2{font:500 25px 'Playfair Display';margin:6px 0 15px}.sheet-close{border:0;background:#f2f2ed;border-radius:50%;width:36px;height:36px;font-size:22px;color:#637065}.sheet-items{max-height:42dvh;overflow:auto}.sheet-item{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.sheet-emoji{width:47px;height:47px;border-radius:12px;background:#f1efe7;display:grid;place-items:center;font-size:25px}.sheet-item-info{flex:1;min-width:0;display:grid;gap:4px}.sheet-item-info b{font-size:13px}.sheet-item-info small{color:#889087;font-size:11px}.sheet-item-info strong{font-size:12px;color:var(--green)}.sheet-item .quantity{gap:7px}.sheet-item .qty-btn{width:34px;height:34px}.sheet-total{display:flex;justify-content:space-between;padding:16px 0;color:#778078;font-size:13px}.sheet-total b{font-size:17px;color:var(--ink)}.sheet-continue{width:100%;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:15px}.sheet-continue span{font-size:12px;font-weight:500}.sheet-hint{display:block;text-align:center;color:#929890;margin:12px 0 0;font-size:11px}.admin-page{padding-bottom:30px}}
@keyframes sheet-up{from{transform:translateY(35px);opacity:.7}to{transform:translateY(0);opacity:1}}
.menu-tip{max-width:1000px;margin:0 auto 12px;padding:0 10px;color:#8a928a;font-size:12px}.menu-tip b{color:#54745a}.topping-pick{margin-top:7px;border:1px solid #e9ebe5;border-radius:10px;background:#f8f8f4}.topping-pick summary{list-style:none;cursor:pointer;padding:8px 10px;color:#4b6a50;font-size:11px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.topping-pick summary::-webkit-details-marker{display:none}.topping-pick summary em{font-style:normal;color:#9a7b4f;font-weight:500}.topping-options{padding:2px 8px 7px;display:grid;gap:3px}.topping-option{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 5px;border-top:1px solid #ebece5;color:#566359;font-size:11px;cursor:pointer}.topping-option input{accent-color:#345844;width:17px;height:17px;margin:0}.topping-option span{flex:1}.topping-option small{color:#8b928b;font-size:10px}.topping-hint{display:block;padding:0 10px 8px;color:#939a92;font-size:9px}.drink-copy>.price-row .price small{font-size:10px;color:#8c958c;font-weight:400}.tab[data-pane=toppings]{color:#886a4c}.topping-options label:has(input:checked){background:#edf3e9;color:#355640;border-radius:8px}.topping-option:has(input:checked) small{color:#517757;font-weight:700}
@media(max-width:760px){.menu-tip{padding:0 16px;margin:0 0 9px;font-size:11px}.topping-pick summary{min-height:40px;padding:9px 11px;font-size:12px}.topping-option{min-height:42px;font-size:12px}.topping-option input{width:19px;height:19px}.drink-card:has(.topping-pick){align-items:flex-start}.admin-tabs{overflow-x:auto;gap:18px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap}}
.qr-gate{max-width:550px;min-height:62vh;margin:30px auto;padding:20px;display:grid;place-items:center}.gate-card{width:100%;background:#fffefa;border:1px solid var(--line);border-radius:22px;padding:30px;text-align:center;box-shadow:0 15px 50px #26382b0a}.gate-icon{font-size:50px;color:#4d7555;margin:22px auto 8px}.gate-card h1{font:500 32px 'Playfair Display';margin:8px 0}.gate-card p{color:#7f8980;line-height:1.65;font-size:14px;margin:0 auto 23px;max-width:370px}.table-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.table-card{background:#fffefa;border:1px solid var(--line);border-radius:15px;padding:17px;text-align:center}.table-card.off{opacity:.55}.table-card h3{margin:0 0 5px}.table-card img{width:178px;height:178px;max-width:100%;margin:11px auto;display:block}.table-card small{display:block;color:#818a82}.table-url{font-size:10px;line-break:anywhere;text-align:left;background:#f4f3ed;padding:9px;border-radius:8px;color:#6e796f;margin:10px 0}.table-actions{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.table-actions button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:#59665b;font-size:11px}.staff-form{background:#fffefa;border:1px solid var(--line);border-radius:15px;padding:22px;margin:18px 0}.staff-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.staff-fields label{display:grid;gap:6px;color:#68736b;font-size:12px}.staff-fields input,.staff-fields select{height:43px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:#fff}.staff-menu{display:grid;gap:8px;margin:17px 0}.staff-menu-row{display:grid;grid-template-columns:minmax(150px,1fr) 80px 100px minmax(180px,1.3fr);gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}.staff-menu-row .addon-picks{display:flex;flex-wrap:wrap;gap:6px}.staff-menu-row .addon-picks label{font-size:10px;color:#647068;white-space:nowrap}.lookup-modal{align-items:center}.lookup-card{width:min(570px,100%);max-height:85vh;overflow:auto;background:#fffefa;border-radius:19px;padding:24px}.lookup-card h2{font:500 25px 'Playfair Display';margin:5px 0 10px}.lookup-form{display:flex;gap:8px;margin:16px 0}.lookup-form input{flex:1;min-width:0;height:48px;border:1px solid var(--line);border-radius:10px;padding:0 13px;font-size:16px}.lookup-results{display:grid;gap:9px}.lookup-order{border:1px solid var(--line);border-radius:12px;padding:13px}.lookup-order-head{display:flex;justify-content:space-between;gap:10px}.lookup-order p{color:#728075;font-size:12px;line-height:1.6}.lookup-order small{color:#929890}.source-chip{font-size:10px;border-radius:15px;padding:4px 8px;background:#f0f3ec;color:#60715f}.customer-label{display:inline-block;margin-left:6px}
@media(max-width:760px){.qr-gate{min-height:66vh;margin:15px auto;padding:14px}.gate-card{padding:25px 18px}.gate-card h1{font-size:29px}.gate-card p{font-size:13px}.table-list{grid-template-columns:1fr;gap:10px}.table-card{display:grid;grid-template-columns:95px 1fr;grid-template-rows:auto auto auto;gap:5px 12px;text-align:left;padding:12px}.table-card h3{grid-column:2}.table-card img{grid-row:1/4;width:88px;height:88px;margin:0;align-self:center}.table-card small,.table-url,.table-actions{grid-column:2}.staff-fields{grid-template-columns:1fr}.staff-menu-row{grid-template-columns:1fr 68px 90px;gap:7px}.staff-menu-row .addon-picks{grid-column:1/-1}.staff-form{padding:14px}.lookup-card{padding:20px 16px;border-radius:20px 20px 0 0;align-self:end;max-height:85dvh}.lookup-modal{align-items:end;padding:0}.lookup-form .primary{padding:0 12px}.lookup-trigger{display:none}}
.lookup-close{float:right;border:0;background:transparent;font-size:28px;color:#78837a}.lookup-intro{color:#7f8980;font-size:13px}.lookup-order{border:1px solid var(--line);border-radius:12px;padding:13px;display:grid;gap:8px;font-size:13px}.lookup-order small{color:#818a82}.lookup-order-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.gate-card .message{margin:0 0 10px}.admin-tabs{flex-wrap:wrap}@media(max-width:760px){.staff-fields{grid-template-columns:1fr}.staff-menu-row{grid-template-columns:minmax(0,1fr) 62px}.staff-menu-row select{grid-column:1}.staff-menu-row .addon-picks{grid-column:1/-1}.table-list{grid-template-columns:1fr}.lookup-card{padding:19px}.lookup-form{flex-direction:column}.lookup-form .primary{width:100%}.top{gap:7px}.top .brand{gap:6px}.top .brand small{font-size:8px}.top .admin-switch{white-space:nowrap;font-size:10px;padding:8px}}
.product-image{width:100%;height:100%;object-fit:cover;border-radius:inherit}.product-thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;display:block}.product-image-preview-wrap{display:flex;align-items:center;gap:12px;margin-top:14px}.product-image-preview-wrap img{width:96px;height:96px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.modal-fields label.wide{grid-column:1/-1}.brand-logo{background:#fff}.top .brand b{color:#15833e}.hero h1 i,.admin-heading h1 i{color:#c4a900}@media(max-width:760px){.brand-logo{width:40px;height:40px}.drink-art:has(.product-image){width:84px;height:84px;overflow:hidden}}
/* ===== Quản lý & nhân viên: ưu tiên điện thoại ===== */
.muted{color:#7f8980;font-size:13px;margin:-12px 0 16px}.login-logo{width:64px;height:64px;border-radius:50%;display:block;margin:0 auto 10px;object-fit:cover}.modal-card h2{text-align:left}.wide-button{width:100%;height:50px;font-size:16px}
.modal input,.modal select{font-size:16px}.modal select{height:44px;font-size:15px;padding:0 10px}
.menu-list{display:grid;gap:8px}.menu-list button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px;font-size:15px;font-weight:600;color:#3d4c42}
.install-steps{padding-left:20px;line-height:1.8;color:#4e5b52}.install-app{white-space:nowrap}
.account-button{max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.order-card.needed{border-left:4px solid #e0a040}.order-card.making{border-left:4px solid #5b8fd0}
.order-actions button{min-height:42px;font-size:13px;font-weight:600}
/* Đặt món */
.so{padding-bottom:90px}.so-label{font-weight:700;color:#4b5a4f;margin:6px 0 9px;font-size:14px}
.so-tables{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.so-table{min-width:58px;height:48px;padding:0 14px;border:1.5px solid var(--line);background:#fff;border-radius:12px;font-weight:700;font-size:16px;color:#3c4a40}.so-table.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 4px 12px #15833e40}
.so-search{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font-size:16px;background:#fff;margin-bottom:10px}
.so-cats{padding:0 0 6px;margin:0 0 8px}
.so-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px}
.so-item{display:flex;align-items:center;gap:8px;background:#fffefa;border:1px solid var(--line);border-radius:14px;padding:6px 8px 6px 6px}.so-item.in-cart{border-color:#9cc8a8;background:#f3f8f1}
.so-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:2px;color:inherit}
.so-art{width:50px;height:50px;border-radius:11px;background:#f0eee5;display:grid;place-items:center;font-size:26px;flex:none;overflow:hidden}.so-art img{width:100%;height:100%;object-fit:cover}
.so-info{min-width:0;display:grid;gap:3px}.so-info b{font-size:15px;line-height:1.25}.so-info small{color:#6f7a71;font-size:13px}
.so-count{min-width:28px;height:28px;border-radius:14px;background:var(--green);color:#fff;font-weight:700;display:grid;place-items:center;font-size:13px;padding:0 6px}
.so-add{width:48px;height:48px;border:0;border-radius:13px;background:var(--lime);color:var(--green);font-size:26px;font-weight:700;flex:none}
.so-bar{position:fixed;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -6px 22px #26382b14;backdrop-filter:blur(8px)}
.so-bar span{font-size:14px;color:#4e5c52}.so-bar em{color:#b0602a;font-style:normal;font-weight:700}.so-bar .primary{height:50px;padding:0 18px;font-size:15px;white-space:nowrap}
.so-opt-label{font-weight:700;font-size:14px;color:#4b5a4f;margin:16px 0 8px}.so-opt-label small{font-weight:400;color:#8a928a}
.so-chips{display:flex;flex-wrap:wrap;gap:8px}.so-chip{min-height:44px;padding:8px 13px;border:1.5px solid var(--line);background:#fff;border-radius:22px;font-size:14px;color:#46544a}.so-chip small{color:#8a928a}.so-chip.active{background:#e7f2e5;border-color:var(--green);color:#1d5d33;font-weight:700}
.so-qty{display:flex;align-items:center;gap:18px;margin-bottom:18px}.so-qty button{width:52px;height:52px;border:0;border-radius:14px;background:var(--lime);color:var(--green);font-size:26px;font-weight:700}.so-qty b{font-size:22px;min-width:28px;text-align:center}
.so-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.so-fields input{height:48px;border:1px solid var(--line);border-radius:11px;padding:0 12px;font-size:16px;min-width:0}.so-fields .wide{grid-column:1/-1}
.so-warn{color:#a8632f;font-weight:700;margin:4px 0 8px}.so-tables.in-sheet{margin-bottom:8px}
/* Bảng trượt từ dưới lên (dùng chung cho chọn món / xem đơn) */
.modal.sheet-modal{align-items:end;padding:0}.sheet-card{width:min(620px,100%);margin:0 auto;max-height:90dvh;overflow:auto;background:#fffefa;border-radius:22px 22px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));animation:sheet-up .18s ease-out}
.sheet-card .sheet-grab{height:4px;width:42px;margin:0 auto 14px;border-radius:6px;background:#d6dad3}.sheet-card .sheet-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.sheet-card .sheet-head h2{font:500 24px 'Playfair Display';margin:4px 0 6px}.sheet-card .sheet-close{border:0;background:#f2f2ed;border-radius:50%;width:40px;height:40px;font-size:24px;color:#637065;flex:none}
.sheet-card .sheet-items{max-height:38dvh;overflow:auto}.sheet-card .sheet-item{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.sheet-card .sheet-item-info{flex:1;min-width:0;display:grid;gap:3px}.sheet-card .sheet-item-info b{font-size:15px}.sheet-card .sheet-item-info small{color:#7d867f;font-size:12px}.sheet-card .sheet-item-info strong{color:var(--green);font-size:13px}.sheet-card .qty-btn{width:40px;height:40px;border-radius:12px}
.sheet-card .sheet-total{display:flex;justify-content:space-between;padding:14px 0;color:#6b766e}.sheet-card .sheet-total b{font-size:19px;color:var(--ink)}
.sheet-card .sheet-continue{width:100%;height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:16px}.sheet-card .sheet-continue span{margin:0}
@media(max-width:760px){
 .admin-mode .admin-page{margin:12px auto}.admin-mode .admin-heading{margin-bottom:12px;align-items:center}.admin-mode .admin-heading h1{font-size:23px;margin:6px 0 2px}.admin-mode .admin-heading p{font-size:12px}.admin-mode .admin-heading .eyebrow{display:none}
 .admin-mode .admin-tabs{position:sticky;top:62px;z-index:3;background:#f6f4eff2;backdrop-filter:blur(10px);flex-wrap:nowrap;margin:0 -14px 16px;padding:0 14px}
 .tab{padding:14px 2px;font-size:15px}
 .stat-row{grid-template-columns:repeat(2,1fr)}
 .order-actions button{min-height:46px;font-size:13px}
 .so-list{grid-template-columns:1fr}
 .so-fields{grid-template-columns:1fr}
 .so-bar span{font-size:13px}
 .product-row{flex-wrap:wrap}.product-row .product-info{min-width:60%}.product-row button{min-height:40px;padding:8px 12px}
}
@media(min-width:761px){.modal.sheet-modal{align-items:center;padding:16px}.sheet-card{border-radius:20px}.sheet-card .sheet-grab{display:none}}
.no-anim{animation:none!important}.admin-mode .toast{bottom:calc(92px + env(safe-area-inset-bottom));max-width:90vw;text-align:center}
.admin-mode:not(.logged-in) .admin-tabs,.admin-mode:not(.logged-in) .admin-heading{visibility:hidden}
.sheet-card .sheet-continue{white-space:nowrap;gap:12px}.so-bar #so-bar-info{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.so-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.so-chip{text-align:left}
/* ===== Chặn phóng to & giao diện điện thoại dễ nhìn (v3) ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body,button,a,input,select,label,summary{touch-action:manipulation}
input,select,textarea{font-size:16px}
.bottom-nav{display:none}.menu-list button.active{border-color:var(--green);background:#eef5ec;color:#1d5d33}
@media(max-width:760px){
 .admin-mode{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .admin-mode .top{height:56px}.admin-mode .brand-logo{width:36px;height:36px}.admin-mode .top .brand small{display:none}
 .admin-mode .admin-heading,.admin-mode .admin-tabs{display:none}
 .admin-mode .admin-page{margin:10px auto 0;padding:0 12px 20px}
 /* Thanh điều hướng dưới đáy */
 .admin-mode.logged-in .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;background:#fffffff7;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:4px 4px env(safe-area-inset-bottom);box-shadow:0 -4px 18px #26382b10}
 .bottom-nav button{flex:1;position:relative;display:grid;justify-items:center;gap:2px;border:0;background:transparent;padding:7px 2px 8px;font-size:12px;font-weight:700;color:#7d877f;border-radius:12px}
 .bottom-nav .bn-ic{font-size:22px;line-height:1;filter:grayscale(1);opacity:.6}
 .bottom-nav button.active{color:var(--green)}.bottom-nav button.active .bn-ic{filter:none;opacity:1}
 .bn-badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e0662f;color:#fff;font-size:11px;display:grid;place-items:center;font-weight:700}
 .bottom-nav button.hidden{display:none}
 /* Thống kê gọn */
 .stat-row{grid-template-columns:repeat(2,1fr);gap:6px}
 .stat{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px}
 .stat small{font-size:12px}.stat strong{margin:0;font:700 18px 'DM Sans',sans-serif}
 /* Thanh công cụ + bộ lọc dạng ô */
 .order-toolbar{margin-top:14px}.order-toolbar p,.product-toolbar p{display:none}.order-toolbar h2,.product-toolbar h2{font-size:21px}
 .order-toolbar .light-button{font-size:13px;padding:9px 12px}
 .order-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;background:#ebeae3;padding:4px;border-radius:13px;margin:12px 0 14px;overflow:visible}
 .filter{border:0;border-radius:10px;padding:10px 2px;font-size:13px;font-weight:700;color:#6f7a72;background:transparent}
 .filter.active{background:#fff;color:var(--green);border:0;box-shadow:0 1px 4px #2a3b2f1f}
 /* Thẻ đơn dễ đọc */
 .order-card{padding:14px;border-radius:16px}
 .order-number{font-size:18px}.order-time{font-size:12px}
 .order-customer{font-size:13px;line-height:1.5}
 .order-lines{font-size:15px;gap:9px}.order-lines span{padding-right:8px}
 .order-note{font-size:14px}
 .order-total{font-size:17px}
 .order-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.order-actions .next:only-child,.order-actions button:first-child:nth-last-child(1){grid-column:1/-1}
 .order-actions button{min-height:48px;font-size:14px;border-radius:11px}
 .order-actions button:first-child:nth-last-child(3){grid-column:1/-1}
 .completion{grid-column:1/-1;font-size:13px}
 /* Đặt món: thanh tổng nằm trên thanh điều hướng */
 .admin-mode .so-bar{bottom:calc(64px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}
 .admin-mode .so{padding-bottom:150px}
 .admin-mode .toast{bottom:calc(150px + env(safe-area-inset-bottom))}
 .admin-mode .modal{z-index:7}
 .so-label{font-size:15px}
 /* Danh sách quản lý */
 .product-toolbar{margin-top:6px;gap:10px}.product-toolbar .primary{padding:12px 14px;white-space:nowrap}
 .product-row{border-radius:14px}.product-info b{font-size:15px}.product-info small{font-size:12px}.product-price{font-size:14px}
}
@media(max-width:760px){.order-actions button:not(.next){order:2;grid-column:1/-1;min-height:42px;background:#f6f5f0}.order-actions button:first-child:nth-last-child(3){grid-column:auto}.order-actions button:not(.next):first-child:nth-last-child(3){grid-column:1/-1}}
.bottom-nav button:focus{outline:none}.bottom-nav button:focus-visible{outline:2px solid var(--green)}
/* ===== Màn hình rộng: máy Sunmi / máy tính (POS) ===== */
.side-brand,.side-group,.side-user,.so-cart-panel{display:none}.admin-tabs .tab i{display:none;font-style:normal}
@media(min-width:1024px){
 .admin-mode .top{display:none}
 .admin-mode .admin-page{max-width:none;margin:0;padding:22px 28px 40px 268px}
 .admin-mode .admin-heading{margin-bottom:16px}.admin-mode .admin-heading h1{font-size:28px;margin:6px 0 2px}
 /* Thanh menu dọc bên trái */
 .admin-mode .admin-tabs{position:fixed;left:0;top:0;bottom:0;width:240px;z-index:5;flex-direction:column;flex-wrap:nowrap;gap:4px;margin:0;padding:18px 14px;border:0;border-right:1px solid var(--line);background:#fffefa;overflow:auto}
 .admin-mode:not(.logged-in) .admin-tabs{visibility:hidden}
 .admin-mode .side-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 18px;margin-bottom:6px;border-bottom:1px solid var(--line)}
 .side-brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}.side-brand b{display:block;color:var(--green);letter-spacing:1.5px;font-size:13px}.side-brand small{color:#8a928a;font-size:12px}
 .admin-mode .admin-tabs .tab{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:0;border-radius:12px;font-size:16px;font-weight:700;color:#5f6b62;text-align:left}
 .admin-mode .admin-tabs .tab i{display:inline;font-size:20px;width:26px;text-align:center}
 .admin-mode .admin-tabs .tab:hover{background:#f2f1ea}
 .admin-mode .admin-tabs .tab.active{background:#e7f2e5;color:#1d5d33;border:0}
 .admin-mode .admin-tabs .tab span{margin-left:auto;font-size:12px;padding:3px 9px}
 .admin-mode .side-group{display:block;font-size:11px;letter-spacing:2px;font-weight:700;color:#9aa198;padding:16px 14px 6px}
 .admin-mode .side-group.hidden,.admin-mode .admin-tabs .tab.hidden{display:none}
 .admin-mode .side-user{display:flex;align-items:center;gap:10px;margin-top:auto;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;color:var(--ink)}
 .side-user i{font-style:normal;font-size:22px}.side-user span{flex:1;min-width:0;display:grid}.side-user b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user small{color:#8a928a;font-size:12px}.side-user em{font-style:normal;color:#8a928a;font-size:18px}
 /* Đơn hàng: bảng 3 cột */
 .stat-row{grid-template-columns:repeat(4,1fr);gap:12px}.stat{padding:14px 18px}.stat small{font-size:13px}.stat strong{font-size:26px;margin-top:4px}
 .order-toolbar{margin-top:18px}.order-filters{display:none}
 .orders.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;margin-top:14px}
 .board-col{background:#efeee7;border-radius:18px;padding:10px;min-height:60vh}
 .board-col header{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 12px;font-weight:700;font-size:16px;color:#4b5a4f}
 .board-col header b{background:#fff;border-radius:12px;padding:2px 10px;font-size:14px}
 .board-col.needed header b{background:#fde7cf;color:#a8632f}.board-col.making header b{background:#dfeaf8;color:#406b9c}
 .board-list{display:grid;gap:10px;max-height:calc(100vh - 290px);overflow:auto;padding-right:2px}
 .board .order-card{padding:14px}.board .order-number{font-size:18px}.board .order-time{display:block;margin:3px 0 0}
 .board .order-lines{font-size:15px}.board .order-foot{flex-direction:column;align-items:stretch;gap:10px}
 .board .order-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.board .order-actions button{min-height:46px;font-size:14px}
 .board .order-actions button:not(.next){order:2;grid-column:1/-1;min-height:38px}.board .order-actions .next:only-child,.board .completion{grid-column:1/-1}
 .board .badge{display:none}
 /* Đặt món: chọn món bên trái, đơn cố định bên phải */
 #staff-order-pane:not(.hidden){display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
 .so{padding-bottom:20px}
 .so-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
 .so-cart-panel{display:block;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;background:#fffefa;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 30px #26382b0d}
 .so-panel-head{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}.so-panel-head h2{font:500 26px 'Playfair Display';margin:4px 0 0}.so-panel-head small{color:#7f8980}
 .so-panel-empty{text-align:center;color:#8a928a;padding:40px 10px;font-size:40px}.so-panel-empty p{font-size:14px;margin-top:10px}
 .so-cart-panel .sheet-items{max-height:none}.so-cart-panel .sheet-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.so-cart-panel .sheet-item-info{flex:1;min-width:0;display:grid;gap:3px}.so-cart-panel .sheet-item-info b{font-size:15px}.so-cart-panel .sheet-item-info small{color:#7d867f;font-size:12px}.so-cart-panel .sheet-item-info strong{color:var(--green);font-size:13px}.so-cart-panel .qty-btn{width:38px;height:38px;border-radius:11px}
 .so-cart-panel .so-fields{grid-template-columns:1fr}.so-cart-panel .sheet-total{display:flex;justify-content:space-between;padding:14px 0;color:#6b766e}.so-cart-panel .sheet-total b{font-size:22px;color:var(--ink)}
 .so-cart-panel .sheet-continue{width:100%;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:17px}
 .so-bar{display:none!important}
 /* Danh sách quản lý rộng rãi hơn */
 .product-list{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
 .table-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
 .admin-mode .toast{bottom:28px;left:calc(50% + 120px)}
}
@media(min-width:1024px){.admin-mode .admin-heading .eyebrow,.admin-mode #hello-role,.order-toolbar p{display:none}.admin-mode .admin-heading h1{font-size:26px;margin:0}.order-toolbar{margin-top:12px}.order-toolbar h2{font-size:20px}.board-list{max-height:calc(100vh - 235px)}.orders.board{margin-top:10px}}
@media(min-width:1024px){.so-cats{flex-wrap:wrap;overflow:visible}.so-tables{margin-bottom:14px}}
/* ===== Hủy đơn · Đơn của khách · Size & giá ===== */
.order-actions button.danger{background:#fff;color:#b0453a;border-color:#efc9c4}.order-actions button.danger:hover{background:#fbeeec}
.order-card.cancelled{opacity:.7;border-left:4px solid #c9665a}.completion.cancelled{color:#a24e45}
@media(max-width:760px){.order-actions button.danger{order:3;grid-column:1/-1;min-height:40px;background:#fff}}
@media(min-width:1024px){.board .order-actions button.danger{order:3;grid-column:1/-1;min-height:36px;background:#fff}}
.customer-order-status{display:grid;gap:10px}.my-orders-head{display:flex;justify-content:space-between;align-items:baseline}.my-orders-head b{font:500 22px 'Playfair Display'}.my-orders-head small{color:#7f8980}
.my-order{background:#fff;border:1px solid #dce7d8;border-radius:14px;padding:12px 14px}.my-order.making{border-color:#c9daf0}.my-order.cancelled{opacity:.7}
.customer-order-status .my-order-top,.customer-order-status .my-order-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.my-order p{margin:8px 0;font-size:14px;line-height:1.55;color:#4e5c52}.my-order-foot b{font-size:16px}.my-order small{display:block;margin-top:6px;color:#7a857c;font-size:12px}
.order-more{width:100%;height:50px;font-size:15px}
.hint{color:#8a928a;font-weight:400}
.size-editor{display:grid;gap:8px;padding:12px;border:1px dashed #d5dacf;border-radius:12px;background:#fafaf6}.size-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.size-head .light-button{padding:8px 10px;font-size:12px}.size-editor>small{color:#7f8980;font-size:12px;line-height:1.5}
.size-row{display:grid;grid-template-columns:1fr 1.3fr 40px;gap:6px}.size-row input{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;min-width:0}.size-del{border:0;background:#f3e3e0;color:#a24e45;border-radius:10px;font-size:20px}
#size-add{justify-self:start;padding:9px 12px;font-size:13px}
.modal-card{max-height:92dvh;overflow:auto}
.modal-fields{grid-template-columns:minmax(0,1fr)}.modal-fields input,.modal-fields select{width:100%;min-width:0;max-width:100%}.modal-fields input[type=file]{font-size:14px}.size-head{flex-wrap:wrap}
.customer-order-status>.my-order{display:block}.customer-order-status>.my-orders-head{display:flex}
/* ===== Trang khách v2: dễ đọc, dễ chọn trên điện thoại ===== */
.cv{max-width:720px;margin:0 auto;padding:0 14px calc(110px + env(safe-area-inset-bottom))}
.cv-hello{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#e7efe0,#f3efd9)}
.cv-hello .eyebrow{font-size:11px}.cv-hello .eyebrow b{color:var(--green);font-size:13px}
.cv-hello h1{font:600 25px/1.2 'Playfair Display',serif;margin:6px 0 4px}.cv-hello p{margin:0;color:#5f6d62;font-size:14px;line-height:1.45}
.cv-hello-art{font-size:46px;flex:none;filter:drop-shadow(3px 6px 6px #6665)}
.cv-sticky{position:sticky;top:62px;z-index:3;background:#f6f4eff5;backdrop-filter:blur(10px);margin:0 -14px;padding:8px 14px 6px}
.cv-search{width:100%;height:48px;border:1px solid var(--line);border-radius:14px;padding:0 15px;font-size:16px;background:#fff;outline-color:#6f9a76}
.cv-cats{margin:8px 0 2px;padding:0 0 4px;gap:8px;scrollbar-width:none}.cv-cats::-webkit-scrollbar{display:none}
.cv-cats .category{min-height:42px;padding:9px 16px;font-size:15px;font-weight:600;background:#fff}
.cv-cats .category.active{background:var(--green);color:#fff}
.cv-menu{display:grid;gap:8px;margin-top:6px}
.cv-group{display:grid;gap:8px}.cv-group h3{font:600 20px 'Playfair Display',serif;margin:14px 2px 2px;color:#2f3d33}
.cv-item{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 10px 8px 8px;box-shadow:0 2px 10px #2d41300a}
.cv-item.in-cart{border-color:#9cc8a8;background:#f4f9f2}
.cv-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;text-align:left;color:inherit}
.cv-art{width:72px;height:72px;border-radius:14px;background:#f1efe6;display:grid;place-items:center;flex:none;overflow:hidden}.cv-art img{width:100%;height:100%;object-fit:cover}.cv-art i{font-style:normal;font-size:38px}
.cv-info{min-width:0;display:grid;gap:3px}.cv-info b{font-size:17px;line-height:1.3;color:#24302a}.cv-info small{font-size:13px;color:#7a847c;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cv-info em{font-style:normal;font-weight:700;font-size:16px;color:#1f6b3a}
.cv-add{width:46px;height:46px;flex:none;border:0;border-radius:14px;background:var(--green);color:#fff;font-size:26px;font-weight:700;display:grid;place-items:center;box-shadow:0 4px 10px #15833e33}
.cv-add b{font-size:18px}
/* Thanh giỏ hàng dưới đáy */
.cv-bar{position:fixed;left:0;right:0;bottom:0;z-index:4;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#f6f4ef00,#f6f4ef 30%)}
.cv-bar button{width:min(692px,100%);margin:0 auto;height:58px;display:flex;align-items:center;gap:12px;padding:0 18px 0 10px;border:0;border-radius:18px;background:var(--green);color:#fff;font-size:17px;font-weight:700;box-shadow:0 10px 24px #15833e55}
.cv-bar-count{min-width:38px;height:38px;border-radius:12px;background:#ffffff2e;display:grid;place-items:center;font-size:17px}
.cv-bar #cv-bar-label{flex:1;text-align:left}
.cv-mode .toast{bottom:calc(90px + env(safe-area-inset-bottom));max-width:90vw;text-align:center}
/* Nút "Đơn của bạn" trên đầu trang */
.my-orders-btn{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.my-orders-btn b{min-width:20px;height:20px;border-radius:10px;background:#e0662f;color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}
/* Bảng chọn món & giỏ hàng */
.cv-sheet{position:relative;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
.cv-x{position:absolute;right:14px;top:14px;z-index:1}
.cv-hero{display:flex;gap:14px;align-items:center;margin:4px 44px 6px 0}
.cv-hero-art{width:96px;height:96px;border-radius:18px;background:#f1efe6;display:grid;place-items:center;flex:none;overflow:hidden}.cv-hero-art img{width:100%;height:100%;object-fit:cover}.cv-hero-art i{font-style:normal;font-size:52px}
.cv-hero h2{font:600 24px/1.2 'Playfair Display',serif;margin:4px 0}.cv-hero p{margin:0;color:#6f7a71;font-size:14px;line-height:1.45}
.cv-opt{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 8px;padding-top:12px;border-top:1px solid var(--line)}.cv-opt b{font-size:17px}.cv-opt small{color:#8a928a;font-size:12px}
.cv-choices{display:grid;gap:6px}
.cv-choice{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;font-size:16px;color:#33413a;text-align:left}
.cv-choice span:nth-child(2){flex:1}.cv-choice b{font-size:15px;color:#4e5c52}
.cv-choice.active{border-color:var(--green);background:#eef6ec;color:#1d5d33;font-weight:700}
.cv-radio,.cv-check{width:22px;height:22px;flex:none;border:2px solid #b9c2b8;border-radius:50%;display:grid;place-items:center}.cv-check{border-radius:7px}
.cv-choice.active .cv-radio{border-color:var(--green);box-shadow:inset 0 0 0 4px #fff;background:var(--green)}
.cv-choice.active .cv-check{border-color:var(--green);background:var(--green)}.cv-choice.active .cv-check::after{content:'✓';color:#fff;font-size:14px;font-weight:700}
.cv-qty-row{display:flex;justify-content:space-between;align-items:center;margin:18px 0;padding-top:14px;border-top:1px solid var(--line)}.cv-qty-row>b{font-size:17px}
.cv-qty{display:flex;align-items:center;gap:14px}.cv-qty button{width:48px;height:48px;border:0;border-radius:14px;background:var(--lime);color:var(--green);font-size:24px;font-weight:700}.cv-qty b{font-size:20px;min-width:24px;text-align:center}
.cv-qty.small{gap:8px}.cv-qty.small button{width:38px;height:38px;border-radius:11px;font-size:18px}.cv-qty.small b{font-size:16px;min-width:18px}
.cv-lines{display:grid;margin-top:6px}.cv-line{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.cv-line-art{width:48px;height:48px;border-radius:12px;background:#f1efe6;display:grid;place-items:center;flex:none;overflow:hidden}.cv-line-art img{width:100%;height:100%;object-fit:cover}.cv-line-art i{font-style:normal;font-size:26px}
.cv-line-info{flex:1;min-width:0;display:grid;gap:2px}.cv-line-info b{font-size:16px}.cv-line-info small{font-size:13px;color:#7a847c}.cv-line-info strong{font-size:14px;color:var(--green)}
.cv-more{width:100%;margin:10px 0 4px;height:46px;border:1.5px dashed #b9cdb9;border-radius:13px;background:#f6faf4;color:#2c6a3e;font-size:15px;font-weight:700}
.cv-form{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.cv-form>b{font-size:17px}
.cv-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:#55625a}.cv-form label small{font-weight:400;color:#8a928a}
.cv-form input{height:52px;border:1px solid #dcdcd2;border-radius:13px;padding:0 14px;font-size:17px;background:#fff;outline-color:#6f9a76}.cv-form input[readonly]{background:#f3f3ee;color:#7a847c}
.cv-sheet .sheet-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0}.cv-sheet .sheet-total span{font-size:16px;color:#6b766e}.cv-sheet .sheet-total b{font-size:22px}
.cv-sheet .sheet-continue{height:58px;font-size:18px;border-radius:16px}
.cv-hint{display:block;text-align:center;color:#8a928a;margin-top:10px;font-size:13px}
.cv-cancel-edit{display:block;width:100%;margin-top:10px;border:0;background:transparent;color:#a24e45;font-size:15px;font-weight:600;padding:10px}
.cv-success{background:#e9f5e6;border:1px solid #bfdcb8;color:#1d5d33;border-radius:14px;padding:14px;font-size:18px;font-weight:700;margin:6px 0 12px}.cv-success small{display:block;font-size:13px;font-weight:500;color:#4f6b55;margin-top:4px}
.cv-sheet .my-order{margin-bottom:10px}.cv-sheet .my-order-top,.cv-sheet .my-order-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.cv-sheet .my-order p{font-size:15px}
.cv-sheet [data-order-more]{margin-top:6px}
.cv-mode .top .admin-switch{font-size:13px}
@media(min-width:761px){.cv-sticky{top:76px}.cv-hello h1{font-size:30px}}
.cv-sheet #cv-add-btn,.cv-sheet #cv-send{position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom));z-index:2;box-shadow:0 -14px 18px #fffefa,0 8px 20px #15833e40}
