:root{color:#f6efe0;background:#0c0908;font-family:Inter,Noto Sans TC,Microsoft JhengHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #f7f0df;--muted: #b9aa91;--panel: rgba(18, 15, 13, .88);--panel-strong: rgba(25, 20, 17, .96);--line: rgba(236, 190, 113, .18);--gold: #d9a64f;--gold-soft: #f0d597;--teal: #18b6a0;--wine: #8f2d3f;--danger: #d15151;--ok: #53c987;--shadow: 0 18px 60px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;min-width:1024px;min-height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}.appShell{position:relative;min-height:100vh;padding:18px;background:linear-gradient(90deg,#0a0807eb,#0a0807bd 46%,#0a0807f0),var(--hero-image);background-position:center;background-size:cover}.appShell:before{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background:radial-gradient(circle at 22% 22%,rgba(217,166,79,.12),transparent 25%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,100% 4px;mix-blend-mode:screen}.appHeader,.orderGrid,.boardLayout,.adminLayout{position:relative;z-index:1}.appHeader{display:grid;grid-template-columns:220px 1fr 132px;gap:14px;align-items:center;height:66px;margin-bottom:14px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#100d0bd4;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brandLockup,.roleTabs button,.syncState,.areaSwitch button,.seatGrid button,.categoryRail button,.qtyControl button,.ticketActions button,.productRow button,.primaryAction,.ghostAction{min-height:44px;border:1px solid rgba(236,190,113,.22);border-radius:8px;background:#ffffff0e}.brandLockup{display:flex;gap:10px;align-items:center;padding:8px 10px;text-align:left;cursor:pointer}.brandMark{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#16100c;background:linear-gradient(135deg,var(--gold-soft),var(--teal))}.brandLockup strong,.cartHead strong,.ticket header b{display:block;letter-spacing:0}.brandLockup small,.productMeta small,.cartItem small,.ticket small,.productRow small{color:var(--muted)}.roleTabs{display:flex;gap:8px;justify-content:center}.roleTabs button{display:inline-flex;flex:1;max-width:142px;align-items:center;justify-content:center;gap:7px;padding:0 12px;color:var(--muted);cursor:pointer}.roleTabs button.active,.categoryRail button.selected,.seatGrid button.selected,.areaSwitch button.selected{color:#17100a;border-color:#f0d597b3;background:linear-gradient(135deg,var(--gold-soft),var(--gold));box-shadow:0 10px 30px #d9a64f2e}.syncState{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.syncState.live{color:#9be9d9;border-color:#18b6a075}.orderGrid{display:grid;grid-template-columns:150px minmax(0,1fr) 270px;gap:14px;height:calc(100vh - 98px)}.seatPanel,.menuPanel,.cartPanel,.boardHero,.orderBoard,.productForm,.productTable{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.seatPanel,.cartPanel,.menuPanel{min-height:0}.seatPanel{display:flex;flex-direction:column;gap:14px;padding:14px}.panelTitle,.cartHead,.boardHero{display:flex;align-items:center;gap:10px}.panelTitle{color:var(--gold-soft);font-weight:800}.areaSwitch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.areaSwitch button,.seatGrid button{cursor:pointer}.seatGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:auto;padding-right:2px}.seatGrid button{aspect-ratio:1.18;font-weight:900}.menuPanel{display:grid;grid-template-rows:62px 1fr;min-width:0;overflow:hidden}.categoryRail{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;overflow:hidden;padding:10px 12px 0}.categoryRail button{min-width:0;padding:0 4px;white-space:normal;color:var(--muted);cursor:pointer;font-size:13px;font-weight:800;line-height:1.15}.productGrid{display:grid;grid-template-columns:repeat(4,minmax(132px,1fr));grid-auto-rows:208px;align-content:start;gap:12px;overflow:auto;padding:12px}.productCard{display:grid;grid-template-rows:112px auto auto;min-height:0;padding:9px;border:1px solid rgba(236,190,113,.2);border-radius:8px;text-align:left;background:#ffffff12;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.productCard:hover{border-color:#f0d5979e;background:#ffffff1c;transform:translateY(-2px)}.productCard img{width:100%;height:100%;min-height:92px;object-fit:contain;border-radius:6px;background:#0a08077a;filter:saturate(.9) contrast(1.05)}.productName{margin-top:8px;font-weight:850;line-height:1.3}.productMeta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.productMeta b{color:var(--gold-soft)}.cartPanel{display:grid;grid-template-rows:auto 1fr 96px auto auto;gap:12px;padding:14px;min-width:0}.cartHead{justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.cartHead span{color:var(--muted)}.cartCount{display:grid;min-width:38px;height:38px;place-items:center;border-radius:50%;color:#10100d;font-weight:900;background:var(--teal)}.cartList{min-height:0;overflow:auto}.cartItem{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(236,190,113,.12)}.cartItem strong{display:block;overflow-wrap:anywhere}.qtyControl{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:6px}.qtyControl button{display:grid;min-height:32px;place-items:center;cursor:pointer}.qtyControl b{text-align:center}textarea,input,select{width:100%;border:1px solid rgba(236,190,113,.18);border-radius:8px;color:var(--ink);background:#05050557;outline:none}textarea{min-height:96px;resize:none;padding:12px}input,select{height:44px;padding:0 12px}select option{color:#15110e}.message{min-height:34px;padding:8px 10px;border-radius:8px;font-weight:700}.message.ok{color:#a8f3c7;background:#53c98724}.message.warn{color:#ffc1b8;background:#d1515126}.cartFooter{display:grid;grid-template-columns:1fr;gap:12px}.cartFooter small{color:var(--muted)}.cartFooter strong{display:block;color:var(--gold-soft);font-size:30px}.primaryAction,.ghostAction{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;font-weight:900;cursor:pointer}.primaryAction{color:#120f0b;border-color:#18b6a0b3;background:linear-gradient(135deg,#7ce7d2,var(--teal))}.primaryAction:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.65}.ghostAction{width:100%;color:var(--gold-soft);background:#d9a64f17}.boardLayout{display:grid;grid-template-columns:214px 1fr;gap:14px;height:calc(100vh - 98px)}.boardHero{flex-direction:column;justify-content:center;min-height:0;padding:18px;text-align:center}.boardHero svg{color:var(--gold-soft)}.boardHero h1{margin:6px 0 0;font-size:34px}.boardHero span{color:var(--teal);font-size:24px;font-weight:900}.cashierHero span{color:var(--gold-soft)}.orderBoard{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));align-content:start;gap:12px;overflow:auto;padding:12px}.cashierBoard{grid-template-columns:repeat(2,minmax(280px,1fr))}.cashierWorkspace{display:grid;grid-template-rows:minmax(0,1fr) 260px;gap:12px;min-height:0}.cashierSection{display:grid;grid-template-rows:46px minmax(0,1fr);min-height:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--line)}.sectionHead span{color:var(--gold-soft);font-weight:900}.embeddedBoard{border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.salesRecords{display:grid;align-content:start;gap:8px;overflow:auto;padding:10px}.salesRecord{display:grid;grid-template-columns:150px minmax(0,1fr) 110px;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(236,190,113,.16);border-radius:8px;background:#ffffff0e}.salesRecord b,.salesRecord small{display:block}.salesRecord small,.salesRecord p{color:var(--muted)}.salesRecord p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salesRecord strong{color:var(--gold-soft);text-align:right}.ticket{display:grid;gap:12px;padding:14px;border:1px solid rgba(236,190,113,.2);border-radius:8px;background:#fff1}.ticket.preparing{border-color:#18b6a073}.ticket.done{border-color:#53c98780}.ticket header,.ticket footer,.ticket li{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket header span{padding:5px 8px;border-radius:999px;color:#11100d;font-size:13px;font-weight:900;white-space:nowrap;background:var(--gold)}.ticket ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ticket li{padding-bottom:7px;border-bottom:1px solid rgba(236,190,113,.12)}.ticket p{margin:0;padding:9px;border-radius:7px;color:#ffd7bd;background:#8f2d3f33}.ticketActions{display:flex;gap:8px}.ticketActions button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 10px;cursor:pointer}.ticketActions .success{color:#0c130f;border-color:#53c98799;background:var(--ok)}.adminLayout{display:grid;grid-template-columns:340px 1fr;gap:14px;height:calc(100vh - 98px)}.productForm{display:flex;flex-direction:column;gap:14px;padding:18px}.productForm h1{margin:0;font-size:28px}.productForm label{display:grid;gap:8px;color:var(--muted);font-weight:700}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggleLine{align-content:end;grid-template-columns:22px 1fr;align-items:center;height:72px}.toggleLine input{width:20px;height:20px}.productTable{display:grid;align-content:start;gap:10px;overflow:auto;padding:12px}.productRow{display:grid;grid-template-columns:minmax(0,1fr) 110px 48px 70px;gap:10px;align-items:center;padding:12px;border:1px solid rgba(236,190,113,.16);border-radius:8px;background:#ffffff0f}.productRow.inactive{opacity:.52}.productRow b,.productRow small{display:block;overflow-wrap:anywhere}.productRow strong{color:var(--gold-soft)}.productRow button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 8px;cursor:pointer}@media(max-width:1180px){body{min-width:960px}.appShell{padding:12px}.appHeader{grid-template-columns:188px 1fr 104px}.orderGrid{grid-template-columns:138px minmax(0,1fr) 250px;height:calc(100vh - 90px)}.productGrid{grid-template-columns:repeat(3,minmax(126px,1fr))}.orderBoard{grid-template-columns:repeat(2,minmax(230px,1fr))}}
