:root{--maroon:#5a0f1a;--maroon-deep:#3d0810;--maroon-light:#7a1a26;--cotton:#f5efe6;--cotton-deep:#ebe3d4;--cotton-darker:#dfd5c2;--gold:#c9a961;--gold-soft:#b8965a;--gold-dark:#7a5d1c;--black:#0a0606;--line:#f5efe626;--line-dark:#0a06061a;--line-dark-2:#0a06062e;--bg:var(--cotton);--bg-2:var(--cotton-deep);--bg-3:var(--cotton-darker);--surface:#0a060606;--surface-2:#0a06060d;--surface-hover:#5a0f1a0f;--text:var(--black);--text-2:#3d2d20;--text-3:#594c3c;--border:var(--line-dark);--border-2:var(--line-dark-2);--accent:var(--maroon);--accent-2:var(--maroon-light);--ok:#5e8a4e;--warn:#a87726;--danger:#a13e2c;--page-x:clamp(20px, 5vw, 56px);--section-y:clamp(48px, 7vh, 80px);--max-content:1280px;--nav-h:80px;--display:"Cormorant Garamond", Georgia, serif;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}@media (width<=768px){:root{--nav-h:64px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}html{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;overflow-x:hidden}body{background:var(--bg);letter-spacing:.005em;color:var(--text);margin:0;font-weight:400;line-height:1.6;overflow:hidden}::selection{background:var(--gold);color:var(--maroon-deep)}button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.005em;color:var(--text);margin:0;font-weight:400;line-height:1.15}em,i{font-family:var(--serif);color:var(--accent);font-style:italic;font-weight:500}.serif{font-family:var(--serif)}.italic{font-family:var(--serif);color:var(--accent);font-style:italic}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:10.5px;font-weight:600}.label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0a06062e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0a06064d}.tn-login-scroll::-webkit-scrollbar{width:6px}.tn-login-scroll::-webkit-scrollbar-thumb{background:#0a06061a}.app{grid-template-columns:var(--grid-cols,260px 1fr);height:100%;display:grid;position:relative}.sidebar{background:var(--maroon-deep);color:var(--cotton);border-right:var(--sidebar-border-right,1px solid var(--maroon-light));border-left:var(--sidebar-border-left,none);flex-direction:column;order:var(--sidebar-order,0);gap:2px;padding:28px 22px 24px;display:flex;overflow-y:auto}.sidebar ::-webkit-scrollbar-thumb{background:#f5efe62e}.brand{border-bottom:1px solid #f5efe626;align-items:center;gap:14px;margin-bottom:18px;padding:0 4px 24px;display:flex}.brand-mark{flex:none;place-items:center;display:grid}.brand-name{font-family:var(--display);color:var(--cotton);letter-spacing:-.01em;font-size:24px;font-weight:400;line-height:1}.brand-sub{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:6px;font-size:9.5px;font-weight:500}.nav-section{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);opacity:.75;padding:18px 6px 8px;font-size:9.5px;font-weight:500}.nav-item{color:var(--cotton);opacity:.65;cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;border-radius:2px;align-items:center;gap:14px;width:100%;padding:11px 12px;font-size:14px;font-weight:400;transition:opacity .3s cubic-bezier(.16,1,.3,1),color .3s,border-color .3s,background .3s;display:flex}.nav-item:hover{opacity:1;background:#f5efe60a}.nav-item.active{opacity:1;color:var(--cotton);border-left-color:var(--gold);background:#f5efe60d}.nav-item .ico{color:currentColor;opacity:.85;flex:none;width:18px;height:18px}.nav-item.active .ico{color:var(--gold);opacity:1}.nav-item .badge{font-family:var(--mono);color:var(--gold);margin-left:auto;font-size:10px;font-weight:600}.main{background:var(--bg);color:var(--text);flex-direction:column;order:var(--main-order,1);display:flex;position:relative;overflow:hidden}.topbar{height:var(--nav-h);border-bottom:1px solid var(--border);padding:0 var(--page-x);background:var(--bg);color:var(--text);flex:none;align-items:center;gap:18px;display:flex}.topbar .crumbs{font-family:var(--mono);color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:600}.topbar h1{color:var(--text);font-size:clamp(22px,2.5vw,30px);font-weight:500}.topbar-spacer{flex:1}.chip{border:1px solid var(--border-2);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:10.5px;font-weight:500;display:inline-flex}.chip .dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.content{padding:var(--section-y) var(--page-x);scroll-behavior:smooth;background:var(--bg);color:var(--text);flex:1;overflow-y:auto}.content-inner{max-width:var(--max-content);margin:0 auto}.card{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:2px;padding:28px}.card-h{margin-bottom:22px}.card-h h3{color:var(--text);margin-top:6px;font-size:clamp(22px,2.4vw,30px);font-weight:500}.card-h .eyebrow{display:block}.sec-mark{align-items:center;gap:14px;margin-bottom:14px;display:flex}.sec-mark .line{background:var(--border);flex:1;height:1px}.btn{border:1px solid var(--border-2);color:var(--text);cursor:pointer;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;background:0 0;border-radius:0;align-items:center;gap:10px;padding:11px 22px;font-size:11px;font-weight:600;transition:all .35s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent);letter-spacing:.22em}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--cotton)}.btn.primary:hover{background:var(--maroon-deep);border-color:var(--maroon-deep);color:var(--gold);letter-spacing:.22em}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--maroon-deep)}.btn.gold:hover{color:var(--accent);border-color:var(--accent);letter-spacing:.22em;background:0 0}.btn.ghost{color:var(--text-2);border-color:#0000}.btn.ghost:hover{color:var(--accent);border-color:var(--border)}.btn.danger{color:var(--danger);border-color:#a13e2c80}.btn.danger:hover{border-color:var(--danger);background:#a13e2c14}.btn.sm{letter-spacing:.16em;padding:7px 14px;font-size:10px}.btn.icon{justify-content:center;width:36px;height:36px;padding:9px}.btn.icon:hover{letter-spacing:0}.field{flex-direction:column;gap:7px;display:flex}.field label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);opacity:.85;font-size:9.5px;font-weight:600}.input,.select,textarea.input{background:var(--input-bg,#0a060605);border:1px solid var(--border-2);width:100%;color:var(--text);font-family:var(--sans);border-radius:4px;outline:none;padding:10px 14px;font-size:14px;font-weight:400;transition:all .3s cubic-bezier(.16,1,.3,1)}.input:focus,.select:focus,textarea.input:focus{border-color:var(--gold);background:var(--bg);box-shadow:0 0 0 3px #c9a9611f}.input::placeholder{color:var(--text-3)}.input.mono{font-family:var(--mono);font-size:13.5px}.select{appearance:none;cursor:pointer;background-image:var(--select-arrow,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%235a0f1a'><path d='M1 3l4 4 4-4z'/></svg>"));background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.select option{background:var(--bg);color:var(--text)}textarea.input{resize:vertical;min-height:80px}.checkbox{cursor:pointer;color:var(--text);opacity:.9;align-items:center;gap:10px;font-size:13.5px;display:inline-flex}.checkbox input{accent-color:var(--accent);width:15px;height:15px}.stars{cursor:pointer;gap:5px;display:inline-flex}.stars .star{color:#0a06062e;width:18px;height:18px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.stars .star.on{color:var(--gold)}.stars .star:hover{transform:scale(1.1)}.stars.lg .star{width:24px;height:24px}.tbl{border-collapse:collapse;width:100%;color:var(--text);font-size:13.5px}.tbl th{text-align:left;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border-2);background:var(--bg);z-index:1;padding:14px;font-size:9.5px;font-weight:600;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:16px 14px;font-weight:400}.tbl tr:hover td{background:var(--surface)}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{color:var(--text)}.pill{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:9.5px;font-weight:600;display:inline-flex}.pill.gold{color:var(--gold-dark);background:#c9a9611f;border-color:#b8965a80}.pill.warn{color:var(--warn);background:#a8772612;border-color:#a8772673}.pill.ok{color:var(--ok);background:#5e8a4e12;border-color:#5e8a4e73}.pill.crimson,.pill.maroon{color:var(--accent);background:#5a0f1a0d;border-color:#5a0f1a4d}.roast-pill{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--border-2);color:var(--text-2);background:#0a060608;border-radius:999px;align-items:center;gap:7px;padding:3px 12px 3px 9px;font-size:9.5px;font-weight:600;display:inline-flex}.roast-pill:before{content:"";background:var(--bg,#c9a961);border-radius:50%;width:7px;height:7px}.kpis{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;display:grid}.kpi{background:var(--bg-2);flex-direction:column;gap:10px;padding:30px 28px;display:flex}.kpi .lab{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:9.5px;font-weight:600}.kpi .val{font-family:var(--display);color:var(--text);letter-spacing:-.01em;font-size:clamp(34px,4.5vw,52px);font-weight:500;line-height:1}.kpi .sub{color:var(--text-3);font-size:12px;font-weight:400;line-height:1.5}.progress{background:var(--border);height:2px;margin-top:6px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.hero-quote{font-family:var(--serif);color:var(--accent);margin:8px 0;font-size:clamp(20px,2vw,26px);font-style:italic;font-weight:400;line-height:1.4}.modal-back{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:60;-webkit-overflow-scrolling:touch;background:#0a06068c;justify-content:center;align-items:center;padding:clamp(8px,3vw,24px);animation:.3s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg);color:var(--text);border:1px solid var(--border-2);border-radius:2px;width:100%;max-width:920px;max-height:calc(100vh - clamp(16px,6vw,48px));margin:auto;overflow:auto;box-shadow:0 30px 80px -20px #0006}.modal-h{border-bottom:1px solid var(--border);background:var(--bg);z-index:2;align-items:center;padding:24px 32px;display:flex;position:sticky;top:0}.modal-h h2{color:var(--text);font-size:clamp(22px,2.4vw,30px);font-weight:500}.modal-h .close{cursor:pointer;color:var(--text-2);opacity:.7;margin-left:auto;padding:8px;transition:opacity .3s,color .3s}.modal-h .close:hover{opacity:1;color:var(--accent)}.modal-b{padding:28px 32px}.modal-f{border-top:1px solid var(--border);background:var(--bg);justify-content:flex-end;gap:12px;padding:18px 32px;display:flex;position:sticky;bottom:0}.toasts{z-index:80;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--maroon-deep);border:1px solid var(--maroon-light);border-left:3px solid var(--gold);color:var(--cotton);pointer-events:auto;border-radius:2px;min-width:280px;padding:14px 20px;font-size:13px;font-weight:400;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 10px 30px -10px #00000059}.toast.ok{border-left-color:var(--gold)}.toast.err{border-left-color:var(--danger)}.toast.warn{border-left-color:var(--warn)}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.curve-wrap{background:var(--bg-2);border:1px solid var(--border-2);border-radius:2px;padding:20px}.curve-wrap canvas{display:block}.pos-grid{grid-template-columns:1fr 390px;align-items:flex-start;gap:28px;display:grid;position:relative}.pos-cart{background:var(--bg-2);border:1px solid var(--border-2);max-height:calc(100vh - 120px);color:var(--text);border-radius:12px;flex-direction:column;display:flex;position:sticky;top:20px;overflow:hidden;box-shadow:0 8px 32px #0a060608}.pos-cart-h{border-bottom:1px solid var(--border);background:var(--bg-3);flex-shrink:0;padding:22px 24px}.pos-cart-items{flex:1;min-height:0;padding:16px 24px;overflow-y:auto}.pos-cart-foot{border-top:1px solid var(--border);background:var(--bg-3);flex-shrink:0;padding:22px 24px}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px;padding:4px 0;display:grid;background:0 0!important;border:none!important}.menu-tile{background:var(--bg-2);border:1px solid var(--border-2);cursor:pointer;min-height:146px;color:var(--text);border-radius:12px;flex-direction:column;justify-content:space-between;padding:18px 16px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0a060605}.menu-tile:hover{background:var(--bg-3);border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 28px -8px #5a0f1a1f}.menu-tile .meta{font-family:var(--mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600}.menu-tile .name{font-family:var(--display);color:var(--text);flex-grow:1;margin:8px 0 6px;font-size:19px;font-weight:600;line-height:1.25}.menu-tile .price{font-family:var(--mono);color:var(--accent);letter-spacing:.02em;margin-top:10px;font-size:14px;font-weight:700}.pos-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:12px 0;display:flex}.pos-controls .search-wrap{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.pos-controls .search-wrap input{width:100%;height:42px;padding-left:36px}.pos-controls .search-wrap .search-icon{color:var(--accent);pointer-events:none;position:absolute;left:12px}.pos-controls select{background:var(--bg-2);border:1px solid var(--border-2);height:42px;color:var(--text);cursor:pointer;border-radius:6px;outline:none;padding:0 12px;font-size:14px;transition:all .2s}.pos-controls select:focus{border-color:var(--accent)}.cart-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:8px;padding:14px 0;display:grid}.cart-row:last-child{border-bottom:none}.pos-cart .cart-row .input{border:1px solid var(--border-2);background:var(--bg);border-radius:6px;width:100%;margin-top:6px;padding:6px 10px;font-size:11px}.qty{border:1px solid var(--border-2);background:var(--bg-3);border-radius:6px;align-items:center;display:inline-flex;overflow:hidden}.qty button{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;place-items:center;font-size:16px;transition:all .25s;display:grid}.qty button:hover{color:var(--accent);background:#5a0f1a14}.qty span{text-align:center;width:36px;font-family:var(--mono);color:var(--text);font-size:13px;font-weight:600}.cart-fab{z-index:80;background:var(--accent);color:var(--cotton);border:1px solid var(--maroon-deep);cursor:pointer;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;gap:12px;padding:16px 28px;font-size:12px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:none;position:fixed;bottom:96px;right:20px;box-shadow:0 16px 36px #5a0f1a59}.cart-fab:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 20px 44px #5a0f1a73}.cart-fab .badge{background:var(--gold);color:var(--maroon-deep);letter-spacing:0;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.receipt{color:var(--black);font-family:var(--mono);border:1px solid var(--border-2);background:#fbf6ec;border-radius:0;max-width:320px;margin:0 auto;padding:24px 18px;font-size:11.5px;line-height:1.7}.receipt h4{font-family:var(--display);text-align:center;color:var(--maroon-deep);margin:0 0 4px;font-size:22px;font-weight:500}.receipt .rcpt-sub{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon);margin-bottom:12px;font-size:9.5px;font-weight:600}.receipt .rcpt-div{border-top:1px dashed #0a06064d;margin:10px 0}.receipt .rcpt-row{justify-content:space-between;gap:10px;display:flex}.receipt .rcpt-row.tot{color:var(--maroon-deep);font-size:13px;font-weight:600}.mobile-nav{background:var(--bg);border-top:1px solid var(--border-2);padding:6px 4px env(safe-area-inset-bottom);z-index:50;justify-content:space-around;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 20px -10px #00000014}.mobile-nav .nav-item{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.55;color:var(--text-2);border:none;border-radius:0;flex-direction:column;gap:4px;padding:10px 8px;font-size:9px;font-weight:600}.mobile-nav .nav-item.active{opacity:1;color:var(--accent);background:0 0;border:none}.mobile-nav .nav-item.active .ico{color:var(--accent)}.mobile-nav .nav-item{position:relative}.mobile-nav .nav-item .ico{width:20px;height:20px;color:var(--text-2)}.more-sheet{z-index:55;background:var(--bg);border-top:1px solid var(--border-2);border-radius:18px 18px 0 0;max-height:70vh;animation:.35s cubic-bezier(.16,1,.3,1) slideUp;position:fixed;bottom:60px;left:0;right:0;overflow-y:auto;box-shadow:0 -16px 40px -10px #00000040}.more-item{cursor:pointer;color:var(--text);align-items:center;gap:14px;padding:16px 22px;font-size:15px;transition:background .2s;display:flex}.more-item:hover,.more-item:active{background:var(--surface)}.more-item.active{color:var(--accent);background:var(--surface-hover)}.more-item .ico,.more-item svg{color:currentColor;flex:none}@media (width>=881px) and (width<=1100px){.app{grid-template-columns:var(--grid-cols-tablet,72px 1fr)}.sidebar{width:72px;padding:22px 10px 16px;transition:width .3s cubic-bezier(.16,1,.3,1)}@media (hover:hover){.sidebar:hover{width:240px;top:0;bottom:0;left:var(--sidebar-hover-left,0);right:var(--sidebar-hover-right,auto);z-index:40;box-shadow:var(--sidebar-hover-shadow,8px 0 24px -10px #00000059);position:absolute}}.brand{justify-content:center;padding:0 0 18px}.brand>div:not(.brand-mark){display:none}.sidebar:hover .brand{justify-content:flex-start;padding:0 4px 18px}.sidebar:hover .brand>div:not(.brand-mark){display:block}.nav-section{text-align:center;padding:14px 0 4px;font-size:0}.nav-section:before{content:"·";color:var(--gold);opacity:.4;font-size:18px}.sidebar:hover .nav-section{text-align:left;padding:14px 6px 6px;font-size:9.5px}.sidebar:hover .nav-section:before{display:none}.nav-item{border-left-width:0;border-radius:6px;justify-content:center;padding:11px 8px;font-size:0}.nav-item .ico{width:20px;height:20px}.sidebar:hover .nav-item{border-left-width:2px;border-radius:2px;justify-content:flex-start;padding:11px 12px;font-size:14px}.nav-item .badge{display:none}.sidebar:hover .nav-item .badge{display:inline-block}.sidebar>div:last-child{font-size:0}.sidebar:hover>div:last-child{font-size:initial}.sidebar:hover>div:last-child .hero-quote,.sidebar:hover>div:last-child .label,.sidebar:hover>div:last-child .row{display:initial}.sidebar>div:last-child .hero-quote,.sidebar>div:last-child .label,.sidebar>div:last-child .row{display:none}.topbar{height:68px;padding:0 20px}.content{padding:36px 20px 40px}.pos-grid{grid-template-columns:1fr 320px;gap:18px}.modal{max-width:88vw}}@media (width<=880px){.app{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}.sidebar{display:none}.mobile-nav{display:flex!important}.topbar{gap:10px;height:60px;padding:0 14px}.topbar h1{font-size:18px}.topbar .crumbs{font-size:9px}.content{padding:24px 14px 96px}.chip{padding:5px 10px;font-size:9.5px}.chip:not(:first-of-type){display:none}.topbar .chip:last-of-type{display:inline-flex}.pos-grid{grid-template-columns:1fr!important;gap:0!important}.pos-cart{transform:translateY(100%);z-index:90!important;border-color:var(--border-2)!important;border-bottom:none!important;border-radius:24px 24px 0 0!important;height:80dvh!important;max-height:80dvh!important;transition:transform .4s cubic-bezier(.16,1,.3,1)!important;position:fixed!important;inset:auto 0 0!important;box-shadow:0 -16px 48px #0a060633!important}.pos-cart.open{transform:translateY(0)!important}.pos-cart-h{flex-shrink:0!important;padding:28px 20px 14px!important;position:relative!important}.pos-cart-h:before{content:""!important;background:var(--border-2)!important;border-radius:4px!important;width:44px!important;height:4px!important;position:absolute!important;top:10px!important;left:50%!important;transform:translate(-50%)!important}.pos-cart-items{min-height:0!important}.pos-controls{gap:8px!important}.pos-controls .search-wrap{flex:none!important;width:100%!important}.pos-controls select{flex:1!important;min-width:120px!important;height:38px!important;font-size:13px!important}.pos-cart-foot{padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;flex-shrink:0!important}.pos-cart-foot .cart-meta-fields{flex-direction:column!important;gap:8px!important}.cart-fab{display:inline-flex}.card{padding:20px 16px}.modal{border-radius:0;max-width:100vw;max-height:96vh}.modal-h{padding:18px}.modal-h h2{font-size:18px}.modal-b{padding:18px}.modal-f{flex-wrap:wrap;padding:14px 18px}.modal-f .btn{flex:1;justify-content:center;min-width:120px}.cart-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:59;background:#0a060666;animation:.3s fade;display:none;position:fixed;inset:0}.cart-backdrop.show{display:block}.btn{min-height:44px}.btn.sm{min-height:36px;padding:6px 12px}.btn.icon{min-width:44px;min-height:44px}.input,.select{padding:11px 14px;font-size:16px}textarea.input{font-size:14px}.tbl{min-width:600px;font-size:12.5px}.tbl th{padding:10px;font-size:9px}.tbl td{padding:11px 10px}.sec-mark{margin-bottom:10px}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.kpi{padding:20px 18px}.kpi .val{font-size:clamp(26px,6vw,36px)}.tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab{letter-spacing:.18em;flex:none;padding:12px 16px;font-size:10px}.receipt{max-width:100%;font-size:12px}.menu-tile{padding:16px 14px}.menu-tile .name{font-size:18px}.grid-4{grid-template-columns:1fr 1fr;gap:12px}.grid-3{gap:14px}.toasts{bottom:90px;left:14px;right:14px}.toast{width:100%;min-width:0}.reveal{transform:translateY(10px)}.hero-quote{font-size:16px}}@media (width<=480px){.content{padding:20px 12px 96px}.card{padding:18px 14px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;gap:12px!important}.menu-tile{padding:14px 12px}.menu-tile .name,.topbar h1{font-size:16px}.topbar .chip{display:none}.topbar .chip:last-of-type{display:inline-flex}.mobile-nav .nav-item{padding:8px 4px;font-size:8.5px}.kpis{grid-template-columns:1fr 1fr}.kpi .val{font-size:26px}h2{font-size:clamp(26px,7vw,36px)!important}h3{font-size:clamp(20px,5vw,28px)!important}}@media print{.modal-back{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;position:static}.modal{max-width:none;max-height:none;box-shadow:none;border:none}.modal-h,.modal-f{display:none}.modal-b{padding:0}}.row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.col{flex-direction:column;gap:14px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:16px}}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:32px}.gap-xl{gap:48px}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:28px}.mt-xl{margin-top:44px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:28px}.muted{color:var(--text-3)}.dim{color:var(--text-2)}.bright{color:var(--text)}.tiny{font-size:11.5px}.text-gold{color:var(--gold-dark)}.text-accent{color:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:24px;display:flex}.tab{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;color:var(--text-2);opacity:.7;background:0 0;border:none;border-bottom:1px solid #0000;margin-bottom:-1px;padding:14px 22px;font-size:11px;font-weight:600;transition:opacity .35s cubic-bezier(.16,1,.3,1),border-color .35s,color .35s}.tab:hover{opacity:1;color:var(--accent)}.tab.active{opacity:1;color:var(--accent);border-bottom-color:var(--accent)}@media print{body{color:#000;background:#fff}.sidebar,.topbar,.mobile-nav,.no-print{display:none!important}.content{padding:0;overflow:visible}.main{height:auto}.receipt{max-width:none;margin:0}}.cursor-glow{pointer-events:none;z-index:0;opacity:0;mix-blend-mode:multiply;will-change:transform;background:radial-gradient(circle,#5a0f1a0d,#5a0f1a05 40%,#0000 70%);width:520px;height:520px;transition:opacity .8s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-50%,-50%)}@media (width<=768px){.cursor-glow{display:none}}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:80ms}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}.reveal[data-d="5"]{transition-delay:.4s}.fade-in{animation:.65s cubic-bezier(.16,1,.3,1) pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.modal{animation:.55s cubic-bezier(.16,1,.3,1) modalIn}.modal-back{animation:.35s cubic-bezier(.16,1,.3,1) backIn}@keyframes modalIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:none}}@keyframes backIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1}}.kpi{transition:transform .55s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.kpi:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#c9a96114 50%,#0000 70%);transition:transform 1.1s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-100%)}.kpi:hover:after{transform:translate(100%)}.kpi:hover{transform:translateY(-2px)}.kpi .val{font-variant-numeric:tabular-nums}.lift{transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .5s}.lift:hover{border-color:#c9a96152;transform:translateY(-3px)}.menu-tile{transition:background .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}.menu-tile:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .55s cubic-bezier(.16,1,.3,1);position:absolute;bottom:18px;left:22px;right:22px;transform:scaleX(0)}.menu-tile:hover{transform:translateY(-3px)}.menu-tile:hover:after{transform:scaleX(1)}.tabs,.tab{position:relative}.tab:after{content:"";background:var(--gold);transform-origin:50%;height:1px;transition:transform .45s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.tab.active:after{transform:scaleX(1)}.tab:hover:after{transform:scaleX(.3)}.nav-item{position:relative}.nav-item:after{content:"";background:var(--gold);width:0;height:1px;transition:width .45s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item:hover:after{width:14px}.nav-item.active:after{width:0}.brand-mark{transition:transform .7s cubic-bezier(.16,1,.3,1)}.brand:hover .brand-mark{transform:scale(1.05)rotate(-6deg)}.brand-mark .app-logo-wrap{transition:all .5s cubic-bezier(.16,1,.3,1)}.brand:hover .brand-mark .app-logo-wrap{border-color:#f7d58a!important;box-shadow:0 0 15px #c9a96166!important}.stars .star{transition:transform .35s cubic-bezier(.16,1,.3,1),color .35s}.stars .star.on{animation:.45s cubic-bezier(.16,1,.3,1) starPop}@keyframes starPop{0%{transform:scale(.6)rotate(-12deg)}60%{transform:scale(1.15)rotate(6deg)}to{transform:scale(1)rotate(0)}}.progress>div{transition:width 1.1s cubic-bezier(.16,1,.3,1)}.toast{animation:.55s cubic-bezier(.16,1,.3,1) toastIn}@keyframes toastIn{0%{opacity:0;transform:translate(20px)scale(.96)}to{opacity:1;transform:none}}.btn.primary{position:relative}.btn.primary:before{content:"";border-radius:inherit;pointer-events:none;transition:box-shadow .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;box-shadow:0 0 0 1px #c9a96100}.btn.primary:hover:before{box-shadow:0 0 0 4px #c9a96114}.tbl tbody tr{animation:.55s cubic-bezier(.16,1,.3,1) both rowIn}.tbl tbody tr:first-child{animation-delay:40ms}.tbl tbody tr:nth-child(2){animation-delay:80ms}.tbl tbody tr:nth-child(3){animation-delay:.12s}.tbl tbody tr:nth-child(4){animation-delay:.16s}.tbl tbody tr:nth-child(5){animation-delay:.2s}.tbl tbody tr:nth-child(6){animation-delay:.24s}.tbl tbody tr:nth-child(7){animation-delay:.28s}.tbl tbody tr:nth-child(8){animation-delay:.32s}.tbl tbody tr:nth-child(n+9){animation-delay:.36s}@keyframes rowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero-quote em{transition:letter-spacing .5s cubic-bezier(.16,1,.3,1)}.hero-quote:hover em{letter-spacing:.02em}.sec-mark .line{transform-origin:0;animation:1.1s cubic-bezier(.16,1,.3,1) .15s both lineDraw}@keyframes lineDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.chip .dot{animation:2.4s cubic-bezier(.45,0,.55,1) infinite dotPulse}@keyframes dotPulse{0%,to{box-shadow:0 0 #5a0f1a66}50%{box-shadow:0 0 0 5px #5a0f1a00}}.cart-row{animation:.45s cubic-bezier(.16,1,.3,1) cartRow}@keyframes cartRow{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.select{transition:border-bottom-color .4s,background-position .4s}.roast-pill{transition:transform .3s cubic-bezier(.16,1,.3,1)}.roast-pill:hover{transform:translateY(-1px)}.u-link{color:var(--gold-dark);text-decoration:none;position:relative}.u-link:after{content:"";background:var(--gold-dark);transform-origin:100%;height:1px;transition:transform .45s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.u-link:hover:after{transform-origin:0;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.cursor-glow{display:none}}
