:root{--ink:#10271f;--ink-2:#1b3a30;--cream:#f5f0e5;--paper:#fffdf8;--gold:#c79545;--rust:#c85d38;--sage:#9cad8e;--muted:#6f756f;--line:#ded9cd;--white:#fff;--danger:#ba3f36;--shadow:0 18px 50px rgba(16,39,31,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:var(--cream)}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.hidden{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700;color:#e8cb91;margin:0 0 12px}.eyebrow.dark{color:var(--rust)}
.hero{min-height:560px;color:white;background:linear-gradient(90deg,rgba(12,34,26,.97) 0%,rgba(12,34,26,.88) 46%,rgba(12,34,26,.25) 100%),url("https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=1800&q=85") center/cover}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50% 50% 45% 55%;display:grid;place-items:center;color:var(--gold);font:700 1.45rem "Playfair Display"}.brand b{display:block;font:700 1.3rem "Playfair Display";letter-spacing:.02em}.brand small{display:block;text-transform:uppercase;font-size:.54rem;letter-spacing:.18em;opacity:.66;margin-top:2px}.table-pill{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:10px 15px;border-radius:30px;font-size:.86rem}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8fd38d;box-shadow:0 0 0 4px rgba(143,211,141,.13)}.hero-content{padding:76px 0 84px}.hero h1{font:700 clamp(2.9rem,7vw,5.6rem)/.98 "Playfair Display";margin:0 0 25px;max-width:720px}.hero h1 em{font-weight:600;color:#dfbb77}.hero-content>p:not(.eyebrow){max-width:520px;font-size:1.07rem;line-height:1.7;color:rgba(255,255,255,.76)}.discover{display:inline-flex;gap:24px;align-items:center;margin-top:20px;color:white;text-decoration:none;font-weight:700;font-size:.86rem;border-bottom:1px solid var(--gold);padding-bottom:8px}.discover span{color:var(--gold)}
.menu-intro{padding:72px 0 35px;display:flex;align-items:end;justify-content:space-between;gap:30px}.menu-intro h2,.drawer-head h2,.success-card h2,.form-card h2{font:700 clamp(2rem,4vw,3rem) "Playfair Display";margin:0}.search{width:320px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:0 14px;display:flex;align-items:center;gap:10px}.search span{font-size:1.4rem}.search input{width:100%;border:0;outline:0;background:transparent;padding:13px 0;color:var(--ink)}.categories-wrap{position:sticky;top:0;z-index:10;background:rgba(245,240,229,.95);backdrop-filter:blur(10px);border-block:1px solid var(--line)}.categories{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none}.category-btn{flex:0 0 auto;border:0;background:transparent;color:var(--muted);padding:17px 18px;border-bottom:3px solid transparent;font-weight:600}.category-btn.active{color:var(--ink);border-color:var(--rust)}.menu-grid{padding:42px 0 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dish-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:23px;min-height:230px;display:flex;flex-direction:column;transition:.2s ease}.dish-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}.dish-top{display:flex;justify-content:space-between;gap:18px}.dish-emoji{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#efe5d4;font-size:1.6rem}.dish-price{font:700 1.15rem "Playfair Display";color:var(--rust)}.dish-card h3{font:700 1.32rem "Playfair Display";margin:20px 0 9px}.dish-card p{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem;flex:1}.dish-add{align-self:flex-end;border:0;border-radius:50%;width:42px;height:42px;background:var(--ink);color:white;font-size:1.5rem;margin-top:18px;transition:.2s}.dish-add:hover{background:var(--rust);transform:rotate(90deg)}.unavailable{opacity:.56}.unavailable .dish-add{background:#b7b4ad;font-size:.67rem;width:auto;padding:0 13px;border-radius:20px;pointer-events:none}.empty-state{text-align:center;padding:60px 20px 140px}.empty-state span{font-size:3rem}.empty-state h3{font:700 1.6rem "Playfair Display";margin:12px 0 5px}.empty-state p{color:var(--muted)}
.dish-price small{font:700 .55rem "DM Sans";letter-spacing:.06em}
.cart-fab{position:fixed;z-index:30;right:28px;bottom:24px;border:0;border-radius:16px;color:white;background:var(--rust);box-shadow:0 16px 45px rgba(161,63,34,.4);padding:12px 15px;display:flex;align-items:center;gap:12px;min-width:250px;text-align:left}.cart-icon{font-size:1.5rem}.cart-fab small,.cart-fab strong{display:block}.cart-fab small{opacity:.75;font-size:.67rem;text-transform:uppercase;letter-spacing:.09em}.cart-fab strong{margin-top:2px}.cart-fab>b{margin-left:auto;background:white;color:var(--rust);width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(6,20,15,.64);backdrop-filter:blur(4px);z-index:40}.cart-drawer{position:fixed;z-index:50;right:0;top:0;height:100dvh;width:min(470px,100%);background:var(--paper);padding:32px;transform:translateX(105%);transition:.28s ease;overflow:auto;box-shadow:-20px 0 50px rgba(0,0,0,.15)}.cart-drawer.open{transform:none}.drawer-handle{display:none}.drawer-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:26px}.drawer-head h2{font-size:2rem}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:50%;width:38px;height:38px;font-size:1.6rem;line-height:1}.cart-items{display:grid;gap:2px}.cart-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.cart-row h4{margin:0 0 5px;font:700 1.05rem "Playfair Display"}.cart-row small{color:var(--muted)}.qty{display:flex;align-items:center;gap:9px}.qty button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:white}.qty strong{min-width:16px;text-align:center}.note-label{display:grid;gap:8px;margin-top:22px;font-weight:700;font-size:.82rem}.note-label textarea,.form-card input,.form-card textarea,.form-card select{border:1px solid var(--line);border-radius:10px;padding:12px;background:white;outline:0;resize:vertical}.note-label textarea:focus,.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:var(--rust)}.cart-summary{display:flex;justify-content:space-between;font-size:1.1rem;padding:23px 0}.cart-summary strong{font:700 1.5rem "Playfair Display"}.primary-btn{width:100%;border:0;border-radius:11px;padding:15px 18px;background:var(--rust);color:white;font-weight:700;display:flex;align-items:center;justify-content:center;gap:20px;transition:.2s}.primary-btn:hover{background:#a84528}.primary-btn:disabled{opacity:.6;cursor:wait}.modal-backdrop{display:grid;place-items:center;padding:20px}.success-card,.form-card{width:min(450px,100%);background:var(--paper);border-radius:20px;padding:38px;text-align:center;box-shadow:var(--shadow)}.success-icon{margin:0 auto 22px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--ink);font-size:2rem}.success-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.status-line{display:flex;align-items:center;justify-content:center;gap:10px;margin:25px 0;padding:12px;background:#eaf0e7;border-radius:9px;font-size:.85rem;font-weight:700}.pulse{width:9px;height:9px;border-radius:50%;background:#66a664;animation:pulse 1.5s infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(102,166,100,0)}}footer{background:var(--ink);color:white;padding:35px 0}footer .shell{display:flex;justify-content:space-between;align-items:center}footer span{font:700 1.35rem "Playfair Display"}footer p{margin:0;color:rgba(255,255,255,.6);font-size:.8rem}
.bill-fab{position:fixed;z-index:29;right:28px;bottom:24px;min-width:250px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:var(--ink);color:white;padding:12px 15px;display:flex;align-items:center;gap:11px;text-align:left;box-shadow:0 16px 45px rgba(16,39,31,.32);transition:.2s}.bill-fab.with-cart{bottom:94px}.bill-fab small,.bill-fab strong{display:block}.bill-fab small{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;color:rgba(255,255,255,.63)}.bill-fab>b{margin-left:auto;color:#e8cb91;font-size:.72rem}.bill-live{width:10px;height:10px;border-radius:50%;background:#e8cb91;box-shadow:0 0 0 5px rgba(232,203,145,.12)}.open-bill-status{display:flex;align-items:center;gap:12px;background:#eaf0e7;border-radius:10px;padding:13px;margin-bottom:18px}.open-bill-status small,.open-bill-status strong{display:block}.open-bill-status small{font-size:.65rem;color:var(--muted);margin-bottom:2px}.open-bill-status strong{font-size:.84rem}.bill-items{border-top:1px solid var(--line)}.bill-line{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.85rem}.bill-line b{color:var(--rust)}.bill-line span:last-child{font-weight:700}.bill-total{border-bottom:1px solid var(--line)}.bill-help{text-align:center;color:var(--muted);font-size:.76rem;line-height:1.5;margin:3px 0 18px}
.tax-summary{padding-top:14px}.tax-summary>div{display:flex;justify-content:space-between;align-items:center;padding:6px 0;color:var(--muted);font-size:.8rem}.tax-summary>div strong{color:var(--ink)}.tax-summary .cart-summary{padding:16px 0 12px;margin-top:8px;border-top:1px solid var(--line);color:var(--ink);font-size:1.05rem}.tax-summary .cart-summary strong{font:700 1.5rem "Playfair Display"}.bill-tax{padding-top:5px}
/* Staff */
.staff-page{background:#f3f1eb;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--ink);color:white;padding:27px 20px;display:flex;flex-direction:column}.brand.light{margin:0 8px 50px}.sidebar nav{display:grid;gap:8px}.side-link{border:0;background:transparent;color:rgba(255,255,255,.62);padding:13px 14px;border-radius:9px;text-align:left;display:flex;align-items:center;gap:12px;font-weight:600}.side-link span{font-size:1.2rem}.side-link.active{background:rgba(255,255,255,.1);color:white}.side-link b{margin-left:auto;background:var(--rust);color:white;border-radius:12px;min-width:22px;padding:3px 6px;text-align:center;font-size:.7rem}.side-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:20px 8px 0;display:flex;gap:11px;align-items:center}.side-foot b,.side-foot small{display:block}.side-foot b{font-size:.78rem}.side-foot small{font-size:.66rem;color:rgba(255,255,255,.48);margin-top:3px}.staff-main{margin-left:250px;padding:34px 42px 70px}.staff-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.staff-header h1{font:700 2.7rem "Playfair Display";margin:0}.clock{text-align:right}.clock span,.clock strong{display:block}.clock span{font-size:.72rem;color:var(--muted)}.clock strong{font:700 1.35rem "Playfair Display";margin-top:3px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:27px}.stat-card{background:white;border:1px solid #e3dfd5;border-radius:12px;padding:17px}.stat-card small{color:var(--muted);font-size:.73rem}.stat-card strong{display:block;font:700 1.7rem "Playfair Display";margin-top:8px}.stat-card.accent{background:var(--ink);color:white;border-color:var(--ink)}.stat-card.accent small{color:rgba(255,255,255,.65)}.order-filters{display:flex;gap:8px;align-items:center;margin-bottom:19px}.filter,.refresh-btn{border:1px solid var(--line);background:white;border-radius:8px;padding:9px 14px;color:var(--muted);font-weight:600;font-size:.8rem}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.refresh-btn{margin-left:auto}.orders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.order-card{background:white;border-radius:14px;border:1px solid #dfdcd3;overflow:hidden}.order-card.urgent{border-top:4px solid var(--rust)}.order-head{padding:18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eeeae1}.table-number span{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);display:block}.table-number strong{font:700 1.55rem "Playfair Display"}.order-time{text-align:right}.order-time strong,.order-time small{display:block}.order-time strong{font-size:.8rem}.order-time small{font-size:.68rem;color:var(--rust);margin-top:3px}.order-body{padding:15px 18px}.order-item{display:flex;gap:9px;margin:10px 0;font-size:.87rem}.order-item b{color:var(--rust);min-width:18px}.order-item span{flex:1}.order-item em{font-style:normal;color:var(--muted)}.order-note{background:#fff4dc;border-radius:7px;padding:10px;font-size:.75rem;line-height:1.5;margin:13px 0}.order-total{display:flex;justify-content:space-between;border-top:1px solid #eeeae1;padding-top:13px;margin-top:14px}.order-total strong{font-family:"Playfair Display"}.order-actions{padding:0 18px 18px;display:grid;gap:8px}.action-btn{border:0;border-radius:8px;padding:11px;font-weight:700;background:var(--ink);color:white}.action-btn.ready{background:#51805f}.action-btn.bill{background:var(--rust)}.action-btn.secondary{background:#ece9e1;color:var(--ink)}.staff-empty{text-align:center;background:white;border:1px dashed var(--line);border-radius:14px;padding:55px}.staff-empty span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e4eee3;margin:auto;color:#51805f;font-size:1.5rem}.staff-empty h3{font:700 1.45rem "Playfair Display";margin:14px 0 4px}.staff-empty p{margin:0;color:var(--muted)}
.order-card.with-addition{box-shadow:0 0 0 3px rgba(199,149,69,.3),0 15px 35px rgba(16,39,31,.12)}.table-number .addition-badge{display:block;width:max-content;margin:5px 0 0!important;background:var(--gold);color:white;border-radius:4px;padding:3px 6px;font:700 .58rem "DM Sans";letter-spacing:.05em}.addition-alert{display:grid;gap:5px;background:#fff2cf;border:1px solid #edce81;border-radius:8px;padding:11px;margin-bottom:15px;color:#6e4b0d;font-size:.75rem}.addition-alert b{margin-bottom:2px}.addition-alert span{font-weight:600}
.waiter-order-btn{margin-left:0}.waiter-card{width:min(620px,100%);max-height:92dvh;overflow:auto}.waiter-table-label{max-width:180px}.waiter-menu{border:1px solid var(--line);border-radius:10px;max-height:330px;overflow:auto;margin:15px 0}.waiter-dish{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px;padding:11px 13px;border-bottom:1px solid #eeeae1}.waiter-dish:last-child{border:0}.waiter-dish.unavailable{display:none}.waiter-dish b,.waiter-dish small{display:block}.waiter-dish b{font-size:.84rem}.waiter-dish small{color:var(--muted);font-size:.69rem;margin-top:2px}.waiter-dish .qty{display:flex}.waiter-summary{display:flex;justify-content:space-between;align-items:center;padding:13px 0 18px}.waiter-summary strong{font:700 1.4rem "Playfair Display"}.action-btn.add-more{background:#f0ece3;color:var(--ink);border:1px solid var(--line)}
.role-limit{margin-top:auto;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:12px}.role-limit b,.role-limit small{display:block}.role-limit b{font-size:.72rem;color:#e8cb91;text-transform:uppercase;letter-spacing:.08em}.role-limit small{font-size:.66rem;color:rgba(255,255,255,.55);line-height:1.45;margin-top:4px}.role-page .side-foot{margin-top:12px}.ready-waiter-note{display:flex;align-items:center;gap:9px;background:#e4eee3;color:#356343;border-radius:8px;padding:12px;font-size:.78rem}.ready-waiter-note span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#5e8c6b;color:white}.side-search{display:grid;grid-template-columns:1fr auto;gap:7px;margin:0 4px 22px}.side-search span{grid-column:1/-1;font-size:.64rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em}.side-search input{min-width:0;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:white;border-radius:7px;padding:10px}.side-search button{border:0;border-radius:7px;background:var(--gold);color:white;font-weight:700}.side-section-title{font-size:.63rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.08em;margin:0 5px 9px}.waiter-tables{display:grid;gap:6px;max-height:48vh;overflow:auto}.waiter-table-link{display:grid;grid-template-columns:1fr auto;text-align:left;gap:4px 8px;border:0;border-radius:8px;padding:10px;background:rgba(255,255,255,.06);color:white}.waiter-table-link:hover,.waiter-table-link.active{background:rgba(255,255,255,.14)}.waiter-table-link span{font-weight:700}.waiter-table-link small{grid-column:1;color:rgba(255,255,255,.5)}.status-dot{grid-row:1/3;grid-column:2;align-self:center;border-radius:10px;padding:4px 6px;font-size:.52rem}.status-dot.ready{background:#79ad7d}.status-dot.preparing{background:#c79545}.status-dot.new{background:#c85d38}.no-tables{color:rgba(255,255,255,.45);font-size:.72rem;padding:10px}.waiter-welcome{text-align:center;background:white;border:1px dashed var(--line);border-radius:15px;padding:90px 20px}.waiter-welcome>span{font-size:3rem;color:var(--gold)}.waiter-welcome h2{font:700 1.8rem "Playfair Display";margin:15px 0 7px}.waiter-welcome p{color:var(--muted)}.waiter-table-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.waiter-table-head h2{font:700 2rem "Playfair Display";margin:0}.waiter-status{text-align:right}.waiter-status strong{display:block;font-size:.72rem;color:#4d7858;margin-top:6px}.order-status,.free-table{display:inline-block;border-radius:20px;padding:7px 10px;font-size:.65rem;font-weight:700;letter-spacing:.05em}.order-status.new{background:#f6ddd5;color:#a33f25}.order-status.preparing{background:#f5e7c9;color:#7d5b18}.order-status.ready{background:#dbeadc;color:#356343}.free-table{background:#e9e7e0;color:var(--muted)}.waiter-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:17px}.waiter-bill-card,.waiter-info{background:white;border:1px solid var(--line);border-radius:14px;padding:22px}.waiter-bill-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px}.waiter-bill-head h3,.waiter-info h3{font:700 1.2rem "Playfair Display";margin:0}.waiter-bill-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:17px;padding:15px 0;border-bottom:1px solid #eeeae1}.waiter-bill-line b,.waiter-bill-line small{display:block}.waiter-bill-line small{color:var(--muted);font-size:.7rem;margin-top:3px}.waiter-bill-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:1.05rem}.waiter-bill-total strong{font:700 1.65rem "Playfair Display"}.bill-pay{background:#51805f}.pay-help{text-align:center;color:var(--muted);font-size:.68rem}.waiter-info p{font-size:.8rem;line-height:1.55;color:var(--muted);padding:10px 0;border-bottom:1px solid #eeeae1}.empty-bill{padding:40px 15px;text-align:center;color:var(--muted);font-size:.82rem}
.waiter-status:has(.order-status.ready){min-width:310px;background:#dbeadc;border:2px solid #79ad7d;border-radius:14px;padding:16px 20px;box-shadow:0 10px 25px rgba(53,99,67,.12)}.waiter-status .order-status.ready{background:#51805f;color:white;font-size:1.05rem;padding:10px 16px}.waiter-status:has(.order-status.ready) strong{font-size:1.05rem;color:#274d32;margin-top:10px}.ceo-live-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.ceo-live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:start}.ceo-table-card{background:white;border:1px solid var(--line);border-top:4px solid var(--rust);border-radius:13px;padding:18px}.ceo-table-card.preparing{border-top-color:var(--gold)}.ceo-table-card.ready{border-top-color:#5e8c6b}.ceo-table-head{display:flex;justify-content:space-between;align-items:center}.ceo-table-head>div span,.ceo-table-head>div strong{display:block}.ceo-table-head>div span{font-size:.6rem;color:var(--muted);letter-spacing:.1em}.ceo-table-head>div strong{font:700 1.75rem "Playfair Display"}.ceo-status{border-radius:16px;padding:6px 9px;font-size:.63rem}.ceo-status.new{background:#f6ddd5;color:#a33f25}.ceo-status.preparing{background:#f5e7c9;color:#7d5b18}.ceo-status.ready{background:#dbeadc;color:#356343}.ceo-time{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;margin:13px 0;padding-bottom:12px;border-bottom:1px solid #eeeae1}.ceo-items{display:grid;gap:8px}.ceo-items>div{display:flex;justify-content:space-between;font-size:.78rem}.ceo-items>div b{color:var(--muted)}.ceo-totals{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.ceo-totals>div{display:flex;justify-content:space-between;font-size:.72rem;padding:3px 0;color:var(--muted)}.ceo-totals>div:last-child{color:var(--ink);font-size:.9rem;padding-top:8px}.ceo-totals strong{font:700 1.15rem "Playfair Display"}
.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-toolbar h2{font:700 1.8rem "Playfair Display";margin:0}.section-toolbar p{color:var(--muted);margin:5px 0 0;font-size:.86rem}.primary-btn.compact{width:auto;padding:12px 17px}.menu-table-wrap{background:white;border:1px solid var(--line);border-radius:14px;overflow:auto}.menu-table{width:100%;border-collapse:collapse;min-width:720px}.menu-table th{text-align:left;padding:14px 18px;background:#f9f7f2;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.menu-table td{padding:14px 18px;border-top:1px solid #eeeae1;font-size:.84rem}.menu-table td:first-child strong,.menu-table td:first-child small{display:block}.menu-table td:first-child small{color:var(--muted);max-width:330px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:3px}.table-actions{display:flex;justify-content:flex-end;gap:5px}.tiny-btn{border:1px solid var(--line);background:white;border-radius:6px;padding:6px 9px;color:var(--ink)}.tiny-btn.danger{color:var(--danger)}.switch{position:relative;width:42px;height:23px;display:inline-block}.switch input{opacity:0}.switch span{position:absolute;inset:0;background:#c9c7c0;border-radius:20px;transition:.2s}.switch span:after{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}.switch input:checked+span{background:#5e8c6b}.switch input:checked+span:after{transform:translateX(19px)}.form-card{text-align:left}.form-card .drawer-head{margin-bottom:20px}.form-card label{display:grid;gap:7px;font-size:.76rem;font-weight:700;margin:14px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.check-row{display:flex!important;align-items:center}.check-row input{width:18px;height:18px}.tables-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.table-qr{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}.table-qr .qr-box{width:110px;height:110px;margin:8px auto 13px;background:repeating-conic-gradient(#10271f 0 25%,#fff 0 50%) 50%/18px 18px;border:9px solid white;outline:1px solid var(--line)}.table-qr h3{font:700 1.25rem "Playfair Display";margin:0 0 12px}.table-qr button{border:1px solid var(--line);background:white;border-radius:7px;padding:7px 10px;font-size:.72rem}.table-count{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem}.table-count input{width:65px;padding:8px;border:1px solid var(--line);border-radius:7px}.toast{position:fixed;z-index:100;right:25px;bottom:25px;background:var(--ink);color:white;border-radius:9px;padding:12px 17px;box-shadow:var(--shadow);font-size:.82rem}
.archive-controls{display:flex;align-items:end;gap:10px}.archive-controls label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:700}.archive-controls input{min-height:41px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:white;color:var(--ink)}.archive-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0 30px}.archive-stat{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.archive-stat span{display:block;color:var(--muted);font-size:.72rem}.archive-stat strong{display:block;font:700 1.7rem "Playfair Display";margin-top:8px}.archive-stat.primary{background:var(--rust);border-color:var(--rust);color:white}.archive-stat.primary span{color:rgba(255,255,255,.75)}.subsection-title{font:700 1.25rem "Playfair Display";margin:25px 0 12px}.table-results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.table-result{background:white;border:1px solid var(--line);border-radius:11px;padding:16px}.table-result-head{display:flex;justify-content:space-between;align-items:center}.table-result-head b{font:700 1.15rem "Playfair Display"}.table-result-head span{font-size:.66rem;color:var(--muted);background:#f2efe8;border-radius:12px;padding:4px 7px}.table-result strong{display:block;color:var(--rust);font:700 1.45rem "Playfair Display";margin:16px 0 7px}.table-result small{display:block;color:var(--muted);font-size:.7rem}.archive-table-wrap .staff-empty{border:0;border-radius:0}.archive-table td{white-space:nowrap}.archive-table .items-cell{max-width:300px;white-space:normal;color:var(--muted);line-height:1.4}.receipt-link{border:0;background:transparent;color:var(--rust);font-weight:700;font-size:.75rem}
@media(max-width:1000px){.menu-grid{grid-template-columns:repeat(2,1fr)}.orders-grid{grid-template-columns:repeat(2,1fr)}.stats,.ceo-live-stats{grid-template-columns:repeat(2,1fr)}.tables-grid{grid-template-columns:repeat(3,1fr)}.table-results{grid-template-columns:repeat(2,1fr)}.ceo-live-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.shell{width:min(100% - 28px,1180px)}.hero{min-height:520px}.topbar{height:76px}.hero-content{padding-top:62px}.hero h1{font-size:3.25rem}.menu-intro{padding-top:50px;align-items:stretch;flex-direction:column}.search{width:100%}.menu-grid{grid-template-columns:1fr;padding-top:25px}.dish-card{min-height:205px}.cart-fab,.bill-fab{left:14px;right:14px;bottom:12px}.bill-fab.with-cart{bottom:82px}.cart-drawer{top:auto;bottom:0;height:auto;max-height:91dvh;border-radius:22px 22px 0 0;padding:20px}.drawer-handle{display:block;width:45px;height:4px;border-radius:3px;background:#d1cdc4;margin:-6px auto 20px}.success-card{padding:30px 24px}footer .shell{display:grid;gap:7px}.sidebar{position:static;width:100%;height:auto;padding:17px}.sidebar .brand{margin:0}.sidebar nav{display:flex;margin-top:16px;overflow:auto}.side-link{flex:0 0 auto}.side-foot{display:none}.staff-main{margin:0;padding:24px 16px 55px}.staff-header{align-items:start}.staff-header h1{font-size:2.1rem}.orders-grid{grid-template-columns:1fr}.tables-grid{grid-template-columns:repeat(2,1fr)}.section-toolbar{align-items:flex-start;gap:16px}.form-card{padding:26px 20px}.clock{display:none}.archive-stats{grid-template-columns:repeat(2,1fr)}.archive-toolbar{flex-direction:column}.archive-controls{width:100%}.archive-controls label{flex:1}.archive-controls input{width:100%}}
@media(max-width:420px){.brand small{display:none}.hero h1{font-size:2.8rem}.category-btn{padding-inline:13px}.tables-grid,.table-results{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat-card{padding:13px}.form-row{grid-template-columns:1fr}.section-toolbar{flex-direction:column}.order-filters{overflow:auto}.refresh-btn{margin-left:0}.archive-controls{align-items:stretch;flex-direction:column}.archive-controls .primary-btn{width:100%}}
@media(max-width:760px){.role-page .role-limit{display:none}.waiter-page .waiter-sidebar{padding-bottom:10px}.waiter-page .waiter-sidebar .brand{margin-bottom:16px}.waiter-tables{display:flex;max-height:none;overflow:auto}.waiter-table-link{min-width:140px}.waiter-layout{grid-template-columns:1fr}.waiter-info{display:none}.waiter-table-head{align-items:flex-start;gap:12px;flex-direction:column}.waiter-status:has(.order-status.ready){width:100%;min-width:0;text-align:center}.waiter-bill-card{padding:16px}.waiter-bill-head{gap:10px}.waiter-bill-line{grid-template-columns:1fr auto}.waiter-bill-line>strong:last-child{grid-column:1/-1;text-align:right}.side-search{margin-top:0}.ceo-live-grid{grid-template-columns:1fr}}
@media print{body *{visibility:hidden}.print-receipt,.print-receipt *{visibility:visible}.print-receipt{position:absolute;left:0;top:0;width:100%;padding:30px;color:#000;background:#fff}.sidebar,.staff-main{display:none}}
