:root{--green:#122319;--green2:#1d3526;--gold:#d7b66a;--cream:#f8f2e4;--bg:#f4f5f2;--danger:#b84242}*{box-sizing:border-box}body{background:var(--bg);color:#263128;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:82px}.app-nav{background:linear-gradient(135deg,var(--green),#0c1710);box-shadow:0 4px 18px #0003}.navbar-brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid #d7b66a}.navbar-brand span{font-family:Georgia,serif;letter-spacing:.08em}.app-container{max-width:1280px;padding:18px}.card{border:0;border-radius:18px;box-shadow:0 8px 28px #26312813}.card-header{background:transparent;border:0;font-weight:700}.btn{border-radius:12px;font-weight:600}.btn-primary{background:var(--green2);border-color:var(--green2)}.btn-primary:hover{background:var(--green);border-color:var(--green)}.btn-gold{background:var(--gold);color:#201b10}.form-control,.form-select{border-radius:12px;min-height:48px}.metric{padding:18px}.metric .value{font-size:1.65rem;font-weight:800}.metric .label{color:#6b746e}.order-card{border-left:5px solid var(--gold)}.product-card img{height:155px;object-fit:cover;border-radius:16px 16px 0 0}.price{font-size:1.25rem;font-weight:800;color:var(--green2)}.mobile-bottom-nav{display:none}.qty-control{display:flex;align-items:center;gap:10px}.qty-control button{width:42px;height:42px;border-radius:50%}.sticky-action{position:sticky;bottom:88px;z-index:5}.menu-hero{background:linear-gradient(#0e1e15dd,#0e1e15ee),url('/assets/img/logo.png') center/cover;padding:55px 18px;color:white;text-align:center;border-radius:0 0 32px 32px}.menu-hero img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}@media(max-width:767px){body{padding-bottom:88px}.app-container{padding:12px}.navbar-nav .nav-link{padding:12px}.mobile-bottom-nav{position:fixed;display:flex;z-index:1040;bottom:0;left:0;right:0;height:72px;background:#fff;border-top:1px solid #ddd;justify-content:space-around;align-items:center;box-shadow:0 -6px 20px #0001}.mobile-bottom-nav a{text-decoration:none;color:#526057;display:flex;flex-direction:column;align-items:center;font-size:20px;min-width:58px}.mobile-bottom-nav span{font-size:11px}.mobile-bottom-nav .new-order{width:58px;height:58px;border-radius:50%;background:var(--gold);color:#172118;justify-content:center;font-size:36px;margin-top:-28px;box-shadow:0 8px 20px #0003}.table-responsive{border-radius:14px}.desktop-only{display:none!important}.sticky-action{bottom:82px}.metric .value{font-size:1.35rem}}
.tables-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.table-tile{min-height:112px;border-radius:14px;padding:12px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 7px 18px #0002}.table-tile strong{font-size:1.55rem}.table-tile span{font-size:.78rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-tile b{font-size:.85rem;margin-top:5px}.table-tile.free{background:#18ad54}.table-tile.occupied{background:#ef6a55}.table-tile.reserved{background:#3bb7d5}.table-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem}.table-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.legend-dot.free{background:#18ad54}.legend-dot.occupied{background:#ef6a55}.legend-dot.reserved{background:#3bb7d5}.product-select-card{cursor:pointer;transition:.15s}.product-select-card:active{transform:scale(.98)}.change-box{background:#eef8f1;border-radius:14px;padding:14px;text-align:center}.change-box strong{font-size:1.6rem;color:#18743b}@media(min-width:576px){.tables-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:992px){.tables-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
.table-wrap{position:relative}.table-tile em{font-style:normal;font-size:.78rem;font-weight:700;line-height:1.15;text-align:center;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 4px}.table-edit{position:absolute;right:5px;top:5px;padding:3px 7px;font-size:.68rem;border-radius:8px;opacity:.92}.table-wrap .table-tile{height:100%}
@media print {
  body * { visibility: hidden !important; }
  #printArea, #printArea * { visibility: visible !important; }
  #printArea { position: absolute; left: 0; top: 0; width: 80mm; padding: 8mm; background: #fff; color:#000; font-size:12px; }
  .no-print, nav, .modal-backdrop { display:none !important; }
}
