:root{--brand: #b8321f;--brand-dark: #962716;--brand-soft: #f6e3de;--accent: #e9b949;--accent-soft: #f7edd3;--bg: #ece7df;--surface: #f7f4ef;--surface-2: #f1ece4;--sidebar: #e4ded4;--text: #2b2420;--text-2: #4a3f38;--muted: #857869;--border: #d9d1c4;--border-strong: #c7bcab;--hover: #ebe4d9;--danger-bg: #f6e3de;--danger: #962716;--radius: 10px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(60, 40, 20, .06), 0 1px 3px rgba(60, 40, 20, .05);--topbar-h: 64px;--sidebar-w: 264px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3{color:var(--text);font-weight:600;letter-spacing:-.01em;line-height:1.25}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.15rem}code{background:var(--accent-soft);padding:1px 5px;border-radius:4px;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:12px}.page-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-head p{margin:0;color:var(--muted)}.icon-tile{display:inline-grid;place-items:center;flex:none;border-radius:9px;background:var(--tile-bg);color:var(--tile-fg);box-shadow:inset 0 0 0 1px var(--tile-ring);transition:background .15s,color .15s,box-shadow .15s}.icon-tile svg{width:58%;height:58%}.icon-tile-md{width:32px;height:32px}.icon-tile-lg{width:48px;height:48px;border-radius:12px}.tone-red{--tile-bg: #f5dcd5;--tile-fg: #a8321f;--tile-ring: #ecc7bd}.tone-amber{--tile-bg: #f6e6c3;--tile-fg: #9a6a0c;--tile-ring: #ecd7a6}.tone-green{--tile-bg: #dce9d5;--tile-fg: #3d6b2e;--tile-ring: #c8dcbe}.tone-rose{--tile-bg: #f2dadb;--tile-fg: #9b3a46;--tile-ring: #e6c3c6}.tone-plum{--tile-bg: #e7dbe6;--tile-fg: #6d3f68;--tile-ring: #d9c7d7}.tone-teal{--tile-bg: #d7e7e4;--tile-fg: #2f6a63;--tile-ring: #c1d9d4}.tone-orange{--tile-bg: #f5e0cc;--tile-fg: #a7531a;--tile-ring: #eacbae}.tone-brown{--tile-bg: #e9dfd2;--tile-fg: #6f4e33;--tile-ring: #dacbb8}.tone-blue{--tile-bg: #dbe3ec;--tile-fg: #3b5878;--tile-ring: #c6d2e0}.tone-slate{--tile-bg: #e3dfd9;--tile-fg: #5a524a;--tile-ring: #d3cdc4}.badge-new{display:inline-block;background:var(--brand-soft);color:var(--brand-dark);font-weight:600;font-size:.7rem;padding:2px 7px;border-radius:999px;vertical-align:middle;letter-spacing:.03em}.btn{font:inherit;font-weight:500;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius);padding:10px 16px;min-height:44px;transition:background .15s,border-color .15s}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.btn-xl{min-height:56px;font-size:1.05rem;font-weight:600}.btn-small{min-height:36px;padding:6px 12px;font-size:.875rem}.btn-icon{min-width:44px;padding:0;font-size:1.2rem}.btn-link{border:none;background:none;color:var(--muted)}.btn-link:hover{background:none;color:var(--text)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#7d1f12}.btn-danger-ghost{background:transparent;border-color:transparent;color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-bg);border-color:#e8c4bb}a.btn{display:inline-flex;align-items:center;text-decoration:none}.field{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:.95rem;color:var(--text-2)}.field input,.field textarea,.field select,.inline-form input,.og-group input,.input-affix input{font:inherit;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:44px;background:#fbf9f6;color:var(--text);width:100%}.field textarea{resize:vertical;min-height:64px}.field input:focus,.field textarea:focus,.inline-form input:focus,.og-group input:focus,.input-affix input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.field-hint{font-weight:400;color:var(--muted);font-size:.8rem}.login .field input{min-height:50px;padding:12px 14px}.alert{margin-top:16px;padding:12px 14px;border-radius:var(--radius);font-size:.95rem}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #e8c4bb}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-title{font-size:1.05rem;font-weight:600;margin:0 0 8px}.empty{text-align:center;padding:44px 20px;display:flex;flex-direction:column;align-items:center;gap:4px}.empty .icon-tile{margin-bottom:10px}.empty p{margin:0}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px #3c281414;padding:28px 28px 32px;text-align:center}.login-card .stack{text-align:left;margin-top:22px}.login-card h2{margin:14px 0 8px}.login-logo{width:100%;max-width:240px;height:auto;display:block;margin:0 auto;mix-blend-mode:multiply}.login-sub{color:var(--muted);margin:6px 0 0;font-size:.95rem}.login-logo-sm{max-width:150px}.login-staff-btn{min-height:46px;font-size:.95rem;color:var(--text-2);background:transparent}.login-back{margin-top:14px}.staff-list{display:flex;flex-direction:column;gap:8px;margin-top:18px;text-align:left}.staff-row{font:inherit;cursor:pointer;color:var(--text);display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;transition:background .15s,border-color .15s}.staff-row:hover{background:var(--hover);border-color:var(--brand)}.staff-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--brand-soft);color:var(--brand-dark);font-size:1rem;font-weight:700;box-shadow:inset 0 0 0 1px #ecc7bd}.staff-name{flex:1;font-weight:500;text-align:left}.staff-chevron{color:var(--muted);font-size:1.4rem;line-height:1}.pin-dots{display:flex;justify-content:center;gap:14px;margin:22px 0 8px}.pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);background:transparent;transition:background .1s,border-color .1s}.pin-dots span.filled{background:var(--text);border-color:var(--text)}.pin-error span{border-color:var(--brand)}.pin-error{animation:shake .3s}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pin-message{min-height:22px;font-size:.9rem;color:var(--danger)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.pin-key{font:inherit;font-size:1.6rem;font-weight:600;color:var(--text);cursor:pointer;height:68px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;transition:background .1s,transform .05s;-webkit-tap-highlight-color:transparent}.pin-key:hover{background:var(--hover)}.pin-key:active{transform:scale(.97);background:var(--border)}.pin-key:disabled{opacity:.5}.pin-key-text{font-size:1rem;color:var(--text-2)}.topbar{position:fixed;inset:0 0 auto 0;height:var(--topbar-h);z-index:20;display:flex;align-items:center;gap:12px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-logo{height:52px;width:84px;object-fit:cover;object-position:center 40%;display:block;mix-blend-mode:multiply}.topbar{box-shadow:inset 0 -2px 0 var(--brand);border-bottom:none}.topbar-titles{display:flex;flex-direction:column;line-height:1.2;padding-left:12px;border-left:1px solid var(--border)}.topbar-title{font-weight:700;color:var(--text);font-size:1rem}.topbar-sub{color:var(--muted);font-size:.8rem}.topbar-user{color:var(--muted);font-size:.875rem}.btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent}.btn-icon-svg{width:16px;height:16px}.menu-toggle{display:none}.sidebar{position:fixed;top:var(--topbar-h);bottom:0;left:0;width:var(--sidebar-w);z-index:15;background:var(--sidebar);border-right:1px solid var(--border);padding:12px;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:10px}.nav-group{display:flex;flex-direction:column;gap:5px}.nav-group-title{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 4px 2px}.nav-link{display:flex;align-items:center;gap:12px;padding:5px 12px 5px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);text-decoration:none;font-weight:500;font-size:.95rem;white-space:nowrap;transition:background .15s,border-color .15s}.nav-link:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.nav-link.active{background:var(--brand);border-color:var(--brand-dark);color:#fff;font-weight:600;box-shadow:var(--shadow)}.nav-link.active .icon-tile{--tile-bg: rgba(255, 255, 255, .18);--tile-fg: #fff;--tile-ring: rgba(255, 255, 255, .28)}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--accent-soft);color:#8a5a00;font-weight:700;box-shadow:inset 0 0 0 1px #e6d3a3}.sidebar-user-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.sidebar-user-role{font-weight:600;font-size:.85rem}.sidebar-user-mail{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:calc(var(--topbar-h) + 28px) 32px 40px;max-width:1400px}.app-admin .content{margin-left:var(--sidebar-w)}@media (max-width: 860px){.menu-toggle{display:inline-block}.hide-mobile{display:none}.sidebar{transform:translate(-100%);transition:transform .2s;box-shadow:4px 0 20px #0000001f}.sidebar.open{transform:none}.app-admin .content{margin-left:0}.content{padding-left:16px;padding-right:16px}}.stack-lg{display:flex;flex-direction:column;gap:18px}.page-head-text{flex:1;min-width:0}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.section-title{font-size:1rem;margin:22px 0 10px;padding-top:16px;border-top:1px solid var(--border)}.list-title{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pad{padding:12px 16px;margin:0}.card-flush{padding:0;overflow:hidden}.table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.notice{background:var(--accent-soft);border:1px solid #ead8a6;color:#6b4f0f;padding:12px 14px;border-radius:var(--radius);font-size:.92rem}.setup-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid #ead8a6;color:#5b430c;padding:10px 14px;border-radius:var(--radius);margin-bottom:20px;font-size:.92rem}.save-bar{display:flex;justify-content:flex-end;margin-top:14px}.empty-inline{color:var(--muted);padding:16px;text-align:center}.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;vertical-align:middle;margin-left:6px}.pill-muted{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border)}.pill-choice{background:#dbe3ec;color:#3b5878}.pill-addon{background:#f6e6c3;color:#8a5e08}.badge-new{margin-left:6px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px}.input-affix{position:relative;display:flex;align-items:center}.input-affix input{padding-right:44px}.input-affix .affix{position:absolute;right:12px;color:var(--muted);font-size:.85rem;pointer-events:none}.inline-form{display:flex;gap:8px;max-width:520px}.toggle-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px}.toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font:inherit;font-size:.88rem;color:var(--text-2);padding:4px 0}.toggle:before{content:"";width:38px;height:22px;border-radius:999px;background:var(--border-strong);transition:background .15s;flex:none}.toggle{position:relative}.toggle-knob{position:absolute;left:3px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.toggle.on:before{background:#4f7a3f}.toggle.on .toggle-knob{transform:translate(16px)}.toggle-label{white-space:nowrap}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}.segmented button{font:inherit;border:none;background:var(--surface);padding:10px 22px;cursor:pointer;color:var(--text-2)}.segmented button+button{border-left:1px solid var(--border-strong)}.segmented button.active{background:var(--brand);color:#fff;font-weight:600}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.tab{font:inherit;font-size:.9rem;cursor:pointer;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2)}.tab:hover{border-color:var(--border-strong);background:var(--surface)}.tab.active{background:var(--text);border-color:var(--text);color:#fff}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:10px 16px;border-bottom:1px solid var(--border)}.table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}.table tr.inactive td{opacity:.6}.cell-actions{text-align:right;white-space:nowrap}.item-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}.item-row:last-child{border-bottom:none}.item-row.inactive .item-main,.item-row.inactive .item-price{opacity:.55}.item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:4px 0}.item-main.as-text{cursor:default}button.item-main:hover .item-name{color:var(--brand)}.item-name{font-weight:600}.item-portion{font-weight:400;color:var(--muted)}.item-desc{font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-price{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:92px;text-align:right}.order-btns{display:flex;flex-direction:column;gap:2px}.btn-mini{font-size:.6rem;line-height:1;width:24px;height:18px;cursor:pointer;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0}.btn-mini:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.btn-mini:disabled{opacity:.35;cursor:default}.menu-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}.cat-list{padding:12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:calc(var(--topbar-h) + 16px)}.cat-list .list-title{padding:2px 6px 8px}.cat-row{display:flex;align-items:center;gap:6px;border-radius:var(--radius-sm);border:1px solid transparent}.cat-row:hover{background:var(--surface-2)}.cat-row.selected{background:var(--brand-soft);border-color:#ecc7bd}.cat-row.inactive .cat-name{opacity:.5;text-decoration:line-through}.cat-main{flex:1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;background:none;border:none;font:inherit;color:var(--text);cursor:pointer;text-align:left}.cat-row.selected .cat-name{font-weight:600;color:var(--brand-dark)}.cat-count{font-size:.75rem;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 8px}.cat-row .order-btns{padding-right:6px}.cat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.cat-title{margin:0;font-size:1.25rem}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.group-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:12px}.group-chips .pill{margin-left:0;font-weight:500}.og-editor{display:flex;flex-direction:column;gap:12px}.og-group{border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--surface-2)}.og-head{display:flex;align-items:center;gap:8px}.og-name{font-weight:600}.og-flags{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0}.og-options{display:flex;flex-direction:column;gap:6px}.og-option{display:grid;grid-template-columns:1fr 140px 40px;gap:6px;align-items:center}.og-actions{display:flex;justify-content:space-between;margin-top:10px}.og-add{display:flex;gap:8px;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#2b242061;display:grid;place-items:center;padding:16px}.modal{background:var(--surface);border-radius:14px;width:100%;max-width:520px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 50px #28190a40;border:1px solid var(--border)}.modal-wide{max-width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:1.1rem}.modal-body{padding:18px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{padding:10px 16px;border-radius:10px;font-size:.92rem;box-shadow:0 6px 20px #00000026;background:var(--text);color:#fff;max-width:90vw}.toast-error{background:var(--danger)}.settings-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.bracket-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.bracket-row{display:grid;grid-template-columns:150px 1fr 120px 40px;gap:8px;align-items:center;max-width:620px}.bracket-from{font-size:.9rem;color:var(--text-2);font-variant-numeric:tabular-nums}.bracket-to{padding-left:4px}.print-toolbar{display:flex;gap:8px;margin-bottom:16px}.print-menu{background:#fff;color:#111;padding:28px 32px;border-radius:var(--radius);border:1px solid var(--border);max-width:1000px}.print-menu-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:16px}.print-menu-head img{height:80px}.print-cols{columns:2;column-gap:32px}.print-cat{break-inside:avoid;margin-bottom:18px}.print-cat h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #ccc;padding-bottom:4px;margin:0 0 6px}.print-note{font-size:.78rem;color:#555;margin:2px 0 6px}.print-item{margin:4px 0;font-size:.9rem}.print-line{display:flex;align-items:baseline;gap:6px}.print-dots{flex:1;border-bottom:1px dotted #aaa;transform:translateY(-3px)}.print-desc{font-size:.76rem;color:#555;padding-left:2px}@media print{.topbar,.sidebar,.no-print,.setup-banner,.toasts{display:none!important}body,:root{background:#fff}.content{padding:0!important;margin:0!important;max-width:none}.print-menu{border:none;padding:0;max-width:none}@page{margin:12mm}}@media (max-width: 1000px){.menu-layout,.settings-two{grid-template-columns:1fr}.cat-list{position:static}}@media (max-width: 640px){.page-head,.item-row{flex-wrap:wrap}.item-main{flex-basis:60%}.og-option{grid-template-columns:1fr 110px 36px}.bracket-row{grid-template-columns:1fr 1fr}.print-cols{columns:1}.table th:nth-child(3),.table td:nth-child(3){display:none}}
