:root{color-scheme:light;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#241c16;background:#f4efe4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(90deg,rgba(42,99,86,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(42,99,86,.08) 1px,transparent 1px),#f4efe4;background-size:28px 28px}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.shell{display:grid;grid-template-columns:276px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:28px;padding:26px;color:#f9f2e6;background:#123a34}.brand{display:flex;align-items:center;gap:13px}.brandMark{display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(255,255,255,.28);background:#d8b36a;color:#123a34;font-size:22px;font-weight:900}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span,.rateBox span,.eyebrow{color:#ffffffad;font-size:12px}.nav{display:grid;gap:8px}.nav button,.soundButton,.roomActions button,.messageCard button,.panelToolbar button,.urlEditor button,.cartBar button,.cashPanel button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;border-radius:7px;background:#d8b36a;color:#153830;font-weight:800}.nav button{justify-content:flex-start;color:#ffffffd1;background:transparent}.nav button.active{color:#153830;background:#f5e8cf}.nav b{display:grid;min-width:22px;height:22px;margin-left:auto;place-items:center;border-radius:999px;background:#b72d1c;color:#fff;font-size:12px}.rateBox{margin-top:auto;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff0f}.rateBox strong{display:block;margin:7px 0;color:#f4d08d;font-size:24px}.rateBox p{margin:0;color:#ffffffb8;font-size:13px;line-height:1.6}.workbench{position:relative;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:#7b6a56}.topbar h1{margin:4px 0 0;font-size:clamp(28px,4vw,48px);letter-spacing:0}.soundButton{background:#1d584d;color:#fff7ea}.soundButton.ringing{background:#b72d1c;animation:ringPulse .8s ease-in-out infinite}.alertToast{display:flex;align-items:center;gap:14px}.alertToast button{border:1px solid rgba(255,255,255,.45);background:#fff7ea;color:#7f1d12;min-height:34px}@keyframes ringPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.toast,.mobileToast{position:fixed;z-index:10;top:22px;right:28px;padding:14px 18px;border-radius:8px;background:#b72d1c;color:#fff;font-weight:800;box-shadow:0 18px 38px #50241838}.roomGrid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px}.roomTile,.messageCard,.productsPanel,.qrCard,.cashPanel,.menuItem{border:1px solid #dfd2bb;border-radius:8px;background:#fffcf5eb;box-shadow:0 16px 34px #36251214}.roomTile{min-height:266px;padding:18px}.roomTile.running{border-color:#1d584d;box-shadow:inset 0 0 0 2px #1d584d2e,0 16px 34px #36251214}.roomTop,.messageHead,.panelToolbar,.urlEditor,.messageCard footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.roomTop span,.meter span,.hint,.menuItem span{color:#7d6d5a;font-size:13px}.roomTop h2{margin:2px 0 0;font-size:48px}.roomTop strong{color:#1d584d}.meter{display:grid;gap:5px;margin:20px 0 16px;padding:16px;border-radius:6px;background:#eee2ce}.meter b{font-size:24px}.chargeLine{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.chargeLine strong{color:#b72d1c;font-size:30px}.hint{min-height:20px;margin:0 0 14px;line-height:1.5}.graceChoice{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin-bottom:14px}.graceChoice button,.ghost{min-height:34px;padding:0 11px;border:1px solid #d7c7ab;border-radius:6px;background:#fff9ee;color:#3a2b1f;font-weight:800}.roomActions{display:flex;gap:8px;margin-top:auto}.messageList{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px}.messageCard{padding:18px}.messageCard.cash{border-color:#d8b36a}.messageHead{justify-content:flex-start}.messageHead time{margin-left:auto;color:#7d6d5a}.pill{padding:5px 9px;border-radius:999px;background:#e9deca;color:#574431;font-size:12px;font-weight:900}.pill.hot{background:#b72d1c;color:#fff}.orderItems{display:grid;gap:8px;margin:16px 0;padding:0;list-style:none}.orderItems li{display:flex;justify-content:space-between;gap:12px}.done{color:#1d584d;font-weight:900}.productsPanel{overflow:hidden}.panelToolbar{padding:16px;border-bottom:1px solid #dfd2bb}.productTable{display:grid}.tableHead,.productRow{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px 90px 104px;gap:10px;align-items:center;padding:12px 16px}.tableHead{color:#7d6d5a;font-size:13px;font-weight:800;background:#eee2ce}.productRow{border-top:1px solid #eee2ce}.productRow input,.urlEditor input,.cashPanel input{width:100%;min-height:40px;border:1px solid #d7c7ab;border-radius:6px;padding:0 10px;color:#241c16;background:#fffaf1}.switch{position:relative;display:inline-flex;width:48px;height:28px}.switch input{position:absolute;opacity:0}.switch span{width:100%;border-radius:999px;background:#c8b99f}.switch span:after{content:"";display:block;width:22px;height:22px;margin:3px;border-radius:50%;background:#fff;transition:transform .16s ease}.switch input:checked+span{background:#1d584d}.switch input:checked+span:after{transform:translate(20px)}.rowActions{display:flex;gap:6px}.rowActions button{display:grid;width:40px;height:40px;place-items:center;border-radius:6px;background:#1d584d;color:#fff}.rowActions .iconDanger{background:#9d3124}.qrPanel{display:grid;gap:16px}.urlEditor{align-items:end;padding:18px;border:1px solid #dfd2bb;border-radius:8px;background:#fffcf5eb}.urlEditor label{display:grid;flex:1;gap:8px;color:#6e604e;font-size:13px;font-weight:900}.qrGrid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:14px}.qrCard{display:grid;gap:12px;justify-items:center;padding:18px;text-align:center}.qrCard canvas{width:100%!important;max-width:164px;height:auto!important;padding:10px;background:#fff}.qrCard p{width:100%;margin:0;overflow-wrap:anywhere;color:#7d6d5a;font-size:12px}.empty,.loading{display:grid;min-height:260px;place-items:center;color:#756550;font-weight:900}.loading{min-height:100vh;gap:12px;align-content:center}.roomApp{min-height:100vh;padding:16px 16px 96px;background:#f4efe4}.roomHero{min-height:164px;padding:22px;border-radius:8px;background:#123a34;color:#fff8eb}.roomHero span{color:#d8b36a;font-weight:900}.roomHero h1{margin:4px 0 0;font-size:68px}.roomHero p{margin:0;color:#fff8ebc2}.mobileToast{top:14px;right:14px;left:14px;text-align:center}.cashPanel{display:grid;grid-template-columns:1fr 118px 78px;gap:10px;align-items:center;margin:14px 0;padding:14px}.cashPanel div{display:flex;align-items:center;gap:8px}.menuList{display:grid;gap:10px}.menuItem{display:grid;grid-template-columns:1fr auto 118px;gap:12px;align-items:center;padding:14px}.menuItem strong,.menuItem span{display:block}.menuItem b{color:#9d3124}.stepper{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;overflow:hidden;border:1px solid #d7c7ab;border-radius:7px}.stepper button{display:grid;height:34px;place-items:center;background:#eee2ce;color:#2c2118}.stepper span{text-align:center;font-weight:900}.cartBar{position:fixed;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #dfd2bb;background:#fffaf1;box-shadow:0 -14px 28px #3625121a}.cartBar span,.cartBar strong{display:block}.cartBar strong{color:#9d3124;font-size:24px}@media (max-width: 980px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2;padding:14px}.brand,.rateBox{display:none}.nav{grid-template-columns:repeat(4,1fr)}.nav button{justify-content:center;min-height:44px;padding:0 8px}.workbench{padding:18px}.topbar{align-items:flex-start}.topbar h1{font-size:30px}.roomGrid,.messageList,.qrGrid{grid-template-columns:1fr}.tableHead{display:none}.productRow{grid-template-columns:1fr 90px 90px}.productRow .switch,.rowActions{grid-column:span 3}.urlEditor{display:grid}}@media (max-width: 520px){.cashPanel,.menuItem{grid-template-columns:1fr}.cartBar button{min-width:126px}}
