/* SALT Mirissa HMS — css/front-pos.css  (V42 — single-screen touch Front POS)
   Fills the whole screen (4:3 / 5:4 "square" POS monitors, 1024×768 and up).
   No side menu, no top bar — every front operation is one tap away. */

#fposRoot{display:none;position:fixed;inset:0;z-index:100;background:var(--bg);
  --fp-ink:#15171a;--fp-open:#2e6e68;--fp-open-l:#e2efed;--fp-bill:#c07f1f;--fp-bill-l:#f8ecd8;
  --fp-food:#2e6e68;--fp-bev:#3d5f96;--fp-oth:#b3924f;--fp-r:10px;
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body.fpos-on #fposRoot{display:block}
body.fpos-on #app,body.fpos-on #stwFab{display:none!important}
body.fpos-on{overflow:hidden}
body.fpos-on #toast{background:#15171a;color:#fff;border-color:#2c2f36;font-size:14px;font-weight:600;bottom:18px}
[data-theme="dark"] #fposRoot{--fp-open-l:#1e3a37;--fp-bill-l:#3a2f1c}
[data-theme="dark"] .fp-depts button.on:not([class*=dp-]){background:var(--brass)!important;border-color:var(--brass)!important;color:#15171a!important}

#fposRoot button{font-family:var(--ui);cursor:pointer;border:0;color:inherit;background:none}
#fposRoot button:disabled{opacity:.38;cursor:default}
#fposRoot button:not(:disabled):active{transform:scale(.97)}

.fp{display:grid;height:100vh;height:100dvh;
  grid-template-columns:clamp(178px,19vw,250px) minmax(0,1fr) clamp(286px,31vw,400px);
  grid-template-rows:54px minmax(0,1fr)}

/* ---------- header ---------- */
.fp-top{grid-column:1/-1;background:var(--fp-ink);color:#e8e5dd;display:flex;align-items:center;gap:14px;padding:0 10px 0 16px}
.fp-brand{display:flex;flex-direction:column;line-height:1}
.fp-salt{font-family:var(--disp);font-size:22px;letter-spacing:.32em;color:#fff}
.fp-sub{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#b3924f;margin-top:3px}
.fp-who{display:flex;flex-direction:column;line-height:1.15;padding-left:14px;border-left:1px solid #2c2f36}
.fp-who small{font-size:10px;color:#8f8b7e;text-transform:uppercase;letter-spacing:.1em}
.fp-who b{font-size:14px;color:#fff;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-chip{display:flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:17px!important;font-size:12.5px;font-weight:600}
.fp-chip i{width:8px;height:8px;border-radius:50%}
.fp-chip.ok{background:#1e3a37!important;color:#9fd6cc}.fp-chip.ok i{background:#4caf7d}
.fp-chip.off{background:#4a2424!important;color:#f3c1c1}.fp-chip.off i{background:#e06b6b}
.fp-sync{width:9px;height:9px;border-radius:50%;background:#6e6a5e}.fp-sync.on{background:#4caf7d;box-shadow:0 0 0 3px rgba(76,175,125,.2)}
.fp-clock{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:#fff;min-width:48px}
.fp-topacts{margin-left:auto;display:flex;gap:6px}
.fp-tb{height:40px;padding:0 14px;border-radius:8px;background:#22262d!important;color:#e8e5dd!important;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}
.fp-tb b{background:#b3924f;color:#15171a;border-radius:10px;padding:1px 8px;font-size:12px}
.fp-tb.bills{background:#2c2f36!important}
.fp-tb.off{background:#4a2424!important;color:#f3c1c1!important}

/* ---------- seats (left) ---------- */
.fp-seats{display:flex;flex-direction:column;min-height:0;background:var(--surface2);border-right:1px solid var(--border);padding:8px}
.fp-seg{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--fp-r);padding:3px;margin-bottom:8px}
.fp-seg button{flex:1;height:40px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--text2)!important;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.fp-seg button b{font-size:10.5px;font-weight:600;opacity:.75}
.fp-seg button.on{background:var(--fp-ink)!important;color:#fff!important}
[data-theme="dark"] .fp-seg button.on{background:var(--brass)!important;color:#15171a!important}
.fp-movebar{background:var(--brass);color:#15171a;border-radius:8px;padding:7px 8px;font-size:12px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fp-movebar button{margin-left:auto;background:#15171a!important;color:#fff!important;border-radius:6px;padding:5px 9px;font-size:11.5px}
.fp-seatgrid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));grid-auto-rows:minmax(70px,auto);gap:7px;align-content:start;padding:1px}
.fp-seat{border-radius:var(--fp-r);background:var(--surface)!important;border:2px solid var(--border)!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 3px;min-width:0}
.fp-seat .n{font-family:var(--disp);font-size:21px;line-height:1;color:var(--text)}
.fp-seat .a{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.fp-seat .m{font-size:9.5px;opacity:.85;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#fposRoot .fp-seat.s-open,#fposRoot .fp-seat.s-billed{color:#fff}
.fp-seat.s-open{background:var(--fp-open)!important;border-color:var(--fp-open)!important;color:#fff}
.fp-seat.s-open .n,.fp-seat.s-billed .n{color:#fff}
.fp-seat.s-billed{background:var(--fp-bill)!important;border-color:var(--fp-bill)!important;color:#fff}
.fp-seat.s-draft{border-style:dashed!important;border-color:var(--brass)!important}
.fp-seat.s-draft .m{color:var(--brass-d);font-weight:600}
.fp-seat.sel{box-shadow:0 0 0 3px var(--surface2),0 0 0 6px var(--brass);border-color:var(--brass)!important}
.fp-legend{display:flex;gap:8px;justify-content:center;font-size:10.5px;color:var(--text2);padding-top:8px;flex-wrap:wrap}
.fp-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px;border:1.5px solid var(--border);background:var(--surface)}
.fp-legend .l-open::before{background:var(--fp-open);border-color:var(--fp-open)}
.fp-legend .l-billed::before{background:var(--fp-bill);border-color:var(--fp-bill)}

/* ---------- menu (centre) ---------- */
.fp-menu{display:flex;flex-direction:column;min-height:0;min-width:0;padding:8px 8px 8px 10px;gap:8px}
.fp-depts{display:flex;gap:6px}
.fp-depts button{flex:1;height:42px;border-radius:8px;background:var(--surface)!important;border:1.5px solid var(--border)!important;font-size:13.5px;font-weight:700;color:var(--text)!important;letter-spacing:.02em}
.fp-depts button.on{background:var(--fp-ink)!important;border-color:var(--fp-ink)!important;color:#fff!important}
.fp-depts button.dp-kitchen.on{background:var(--fp-food)!important;border-color:var(--fp-food)!important}
.fp-depts button.dp-bar.on{background:var(--fp-bev)!important;border-color:var(--fp-bev)!important}
.fp-depts button.dp-other.on{background:var(--fp-oth)!important;border-color:var(--fp-oth)!important}
.fp-cats{display:flex;flex-wrap:wrap;gap:5px;max-height:94px;overflow-y:auto;flex-shrink:0;padding-bottom:2px}
.fp-cats button{height:42px;padding:0 13px;border-radius:21px;background:var(--surface)!important;border:1px solid var(--border)!important;font-size:12.5px;font-weight:600;color:var(--text2)!important;white-space:nowrap}
.fp-cats button.on{background:var(--brass)!important;border-color:var(--brass)!important;color:#15171a!important}
.fp-items{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));grid-auto-rows:84px;gap:7px;align-content:start;padding:1px}
.fp-items.locked .fp-item{opacity:.55}
.fp-item{position:relative;border-radius:var(--fp-r);background:var(--surface)!important;border:1px solid var(--border)!important;border-left:5px solid var(--fp-food)!important;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;padding:7px 8px 7px 9px;min-width:0;box-shadow:0 1px 2px rgba(21,23,26,.05)}
.fp-item.d-bar{border-left-color:var(--fp-bev)!important}
.fp-item.d-other{border-left-color:var(--fp-oth)!important}
.fp-item .nm{font-size:12.5px;font-weight:600;line-height:1.22;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fp-item .pr{font-size:12px;font-weight:700;color:var(--text2);font-variant-numeric:tabular-nums}
.fp-item .q{position:absolute;bottom:6px;right:6px;min-width:24px;height:24px;border-radius:12px;background:var(--brass);color:#15171a;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.fp-empty{color:var(--muted);font-size:13px;text-align:center;padding:24px 8px;grid-column:1/-1}

/* ---------- order (right) ---------- */
.fp-order{display:flex;flex-direction:column;min-height:0;background:var(--surface);border-left:1px solid var(--border);padding:8px 10px 10px;gap:7px}
.fp-start{padding:22px 8px 14px;text-align:center}
.fp-start .big{font-family:var(--disp);font-size:24px;color:var(--text)}
.fp-start .mut{font-size:12.5px;margin-top:4px}
.fp-ohd{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 2px}
.fp-billrow{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border-radius:8px;border:1px solid var(--border)!important;margin-bottom:6px;text-align:left;background:var(--surface2)!important}
.fp-billrow .s{font-family:var(--disp);font-size:18px;min-width:36px;color:var(--text)}
.fp-billrow .i{flex:1;font-size:13px;font-weight:600;min-width:0;color:var(--text)}
.fp-billrow .i small{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.fp-billrow .v{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}
.fp-ohead{display:flex;align-items:center;gap:6px}
.fp-ohead>div{flex:1;min-width:0}
.fp-ohead .seat{font-family:var(--disp);font-size:24px;line-height:1.05;color:var(--text)}
.fp-ohead .meta{font-size:11.5px;color:var(--muted)}
.fp-mini{height:38px;min-width:42px;padding:0 10px;border-radius:8px;background:var(--surface2)!important;border:1px solid var(--border)!important;font-size:12.5px;font-weight:600;color:var(--text)!important}
.fp-stw{display:flex;align-items:center;gap:10px;width:100%;height:48px;padding:0 12px;border-radius:var(--fp-r);background:var(--surface2)!important;border:1.5px solid var(--border)!important;text-align:left}
.fp-stw small{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);width:56px}
.fp-stw b{flex:1;font-size:15px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-stw span{font-size:22px;color:var(--muted)}
.fp-stw.need{border-color:var(--brass)!important;background:#fbf5e8!important}
[data-theme="dark"] .fp-stw.need{background:#2f2a1e!important}
.fp-stw.need b{color:var(--brass-d)}
.fp-pax{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fp-pax .px{display:grid;grid-template-columns:44px 1fr 44px;grid-template-rows:auto 44px;border:1.5px solid var(--border);border-radius:var(--fp-r);background:var(--surface2);overflow:hidden}
.fp-pax small{grid-column:1/-1;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;padding-top:3px}
.fp-pax button{font-size:22px;font-weight:600;color:var(--text)!important}
.fp-pax b{display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--text);cursor:pointer;border-radius:8px;background:var(--surface)}
.fp-lines{flex:1;min-height:0;overflow-y:auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2px 0}
.fp-ln{display:flex;align-items:center;gap:7px;padding:8px 2px;border-bottom:1px dashed var(--border);font-size:13px;color:var(--text)}
.fp-ln .q{font-weight:700;min-width:28px}
.fp-ln .n{flex:1;min-width:0;line-height:1.25}
.fp-ln .n small{display:block;font-size:11px;color:var(--muted)}
.fp-ln .v{min-width:66px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.fp-ln .t em{font-style:normal;font-size:10px;font-weight:700;padding:2px 6px;border-radius:9px;background:var(--fp-open-l);color:var(--fp-open);white-space:nowrap}
.fp-ln .t em.rdy{background:#e2f0e8;color:var(--ok)}
.fp-ln .t em.wait{background:var(--fp-bill-l);color:var(--fp-bill)}
.fp-ln.sent{cursor:pointer}
.fp-ln.sent:active{background:var(--surface2)}
.fp-ln.inv .n{font-weight:600}
.fp-ln.new{background:#fbf5e8;border-radius:6px;padding:5px 4px;margin:3px 0;border-bottom:0}
[data-theme="dark"] .fp-ln.new{background:#2f2a1e}
.fp-ln.new .n{cursor:pointer}
.fp-ln.new .n small{color:var(--brass-d)}
.fp-ln .qty{display:flex;align-items:center;gap:2px}
.fp-ln .qty button{width:36px;height:36px;border-radius:8px;background:var(--surface)!important;border:1px solid var(--border)!important;font-size:19px;font-weight:600;color:var(--text)!important}
.fp-ln .qty b{min-width:24px;text-align:center;font-size:15px}
.fp-newhd{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brass-d);padding:8px 2px 2px}
.fp-newhd button{font-size:11px;font-weight:600;color:var(--danger)!important;text-transform:none;letter-spacing:0;padding:4px 8px}
.fp-warn{margin:8px 2px;padding:8px;border-radius:8px;background:var(--fp-bill-l);color:var(--fp-bill);font-size:12px;font-weight:600}
.fp-tot{font-size:13px;color:var(--text2)}
.fp-tot div{display:flex;justify-content:space-between;padding:1px 2px}
.fp-tot .g{font-size:20px;font-weight:800;color:var(--text);padding-top:3px;font-variant-numeric:tabular-nums}
.fp-acts{display:flex;flex-direction:column;gap:6px}
.fp-send{height:62px;border-radius:var(--fp-r);background:var(--brass)!important;color:#15171a!important;font-size:19px;font-weight:800;letter-spacing:.06em;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.fp-send span{font-size:11px;letter-spacing:.14em;opacity:.8}
.fp-send small{font-size:11px;font-weight:600;letter-spacing:0;margin-top:1px}
.fp-row2{display:grid;grid-template-columns:1fr 1.25fr;gap:6px}
.fp-bill,.fp-settle{display:flex;align-items:center;justify-content:center}
.fp-bill{height:52px;border-radius:var(--fp-r);background:var(--surface2)!important;border:1.5px solid var(--border)!important;font-size:14px;font-weight:700;color:var(--text)!important}
.fp-settle{height:52px;border-radius:var(--fp-r);background:var(--fp-open)!important;color:#fff!important;font-size:17px;font-weight:800;letter-spacing:.08em}

/* ---------- modals opened from the Front POS ---------- */
#modalBox.fp-m{border-radius:14px;padding:20px 20px 18px;-webkit-user-select:none;user-select:none}
#modalBox.fp-m h3{font-size:21px;margin-bottom:12px;padding-right:34px}
#modalBox.fp-m .mx{width:40px;height:40px;font-size:18px}
#modalBox.fp-narrow{max-width:400px}
#modalBox.fp-xl{max-width:min(940px,96vw);padding:16px}
#mback:has(.fp-m){align-items:center;padding:12px}
.fp-mrow{display:flex;gap:8px;margin-top:14px}
.fp-mrow .fp-btn{flex:1}
.fp-btn{height:50px;padding:0 16px;border-radius:10px;font-size:14.5px;font-weight:700;border:1.5px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;font-family:var(--ui)}
.fp-btn.pri{background:var(--fp-open,#2e6e68);border-color:transparent;color:#fff}
.fp-btn.danger{background:var(--danger);border-color:transparent;color:#fff}
.fp-btn.big{flex:1.6!important;font-size:16px}
.fp-btn:disabled{opacity:.4;cursor:default}
.fp-link{background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;margin-top:12px;cursor:pointer}
.fp-chips{display:flex;flex-wrap:wrap;gap:6px}
.fp-chips button{height:42px;padding:0 14px;border-radius:21px;border:1.5px solid var(--border);background:var(--surface2);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;font-family:var(--ui)}
.fp-chips button.on{background:var(--brass);border-color:var(--brass);color:#15171a}
.fp-stwgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;max-height:46vh;overflow-y:auto}
.fp-stwgrid button{height:58px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface2);font-size:15px;font-weight:700;color:var(--text);cursor:pointer;font-family:var(--ui);padding:0 8px}
.fp-stwgrid button.on{background:var(--fp-open,#2e6e68);border-color:transparent;color:#fff}
.fp-stwgrid button.rm{border-color:#e6c8c8;color:var(--danger)}
.fp-addstw{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.fp-addstw input{flex:1;height:50px;font-size:16px;border-radius:10px;border:1.5px solid var(--border);padding:0 12px;background:var(--input);color:var(--text);text-transform:uppercase}
.fp-paxsel{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.fp-paxsel button{border:2px solid var(--border);border-radius:12px;background:var(--surface2);padding:8px;cursor:pointer;color:var(--text);font-family:var(--ui)}
.fp-paxsel button small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.fp-paxsel button b{font-size:32px}
.fp-paxsel button.on{border-color:var(--brass);background:#fbf5e8}
[data-theme="dark"] .fp-paxsel button.on{background:#2f2a1e}
.fp-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.fp-keys button{height:54px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:22px;font-weight:600;color:var(--text);cursor:pointer;font-family:var(--ui);box-shadow:0 1px 0 var(--border)}
.fp-keys button.fn{background:var(--surface2);font-size:17px}
.fp-keys button:active{background:var(--surface2)}
.fp-entry{display:flex;align-items:baseline;justify-content:space-between;border:2px solid var(--border);border-radius:10px;padding:8px 12px;margin-bottom:8px;background:var(--surface2)}
.fp-entry span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.fp-entry b{font-size:26px;font-variant-numeric:tabular-nums;color:var(--text)}
.fp-voidbox{border:1.5px solid #e6c8c8;border-radius:12px;padding:12px;background:var(--surface2)}
.fp-vh{font-weight:700;color:var(--danger);margin-bottom:8px}
.fp-vq{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px}
.fp-vq button{width:44px;height:44px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface);font-size:20px;cursor:pointer;color:var(--text)}
.fp-vq b{font-size:20px;min-width:26px;text-align:center}
.fp-vl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:8px 0 5px}
.fp-billlist{display:flex;flex-direction:column;gap:6px;max-height:64vh;overflow-y:auto}
.fp-bl{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface2)}
.fp-bl.billed{border-color:var(--warn)}
.fp-bl .s{font-family:var(--disp);font-size:22px;min-width:42px}
.fp-bl .i{flex:1;min-width:0}.fp-bl .i small{display:block;font-size:11.5px;color:var(--muted)}
.fp-bl .v{font-weight:800;font-size:16px;font-variant-numeric:tabular-nums;min-width:90px;text-align:right}
.fp-bl .fp-btn{height:46px}
.fp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.fp-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;text-align:left;font-family:var(--ui);color:var(--text);min-height:92px}
.fp-tile .ic{font-size:20px;color:var(--brass)}
.fp-tile b{font-size:14.5px}
.fp-tile small{font-size:11.5px;color:var(--muted)}

/* settlement pad */
.fp-spad{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}
.fp-sl{display:flex;flex-direction:column;min-height:0;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px}
.fp-sseat{font-family:var(--disp);font-size:26px;color:var(--text)}
.fp-smeta{font-size:12px;color:var(--muted);margin-bottom:8px}
.fp-slines{flex:1;min-height:80px;max-height:44vh;overflow-y:auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px 0}
.fp-slines div{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:3px 0;color:var(--text)}
.fp-stot{font-size:13px;color:var(--text2);padding-top:6px}
.fp-stot div{display:flex;justify-content:space-between;padding:1px 0}
.fp-stot .g{font-size:21px;font-weight:800;color:var(--text);padding-top:4px}
.fp-sr{display:flex;flex-direction:column;min-width:0}
.fp-sbig{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}
.fp-sbig div{border-radius:10px;background:var(--surface2);border:1px solid var(--border);padding:6px 9px}
.fp-sbig small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.fp-sbig b{font-size:18px;font-variant-numeric:tabular-nums;color:var(--text)}
.fp-sbig .rem{background:#f6e9e9;border-color:#e6c8c8}.fp-sbig .rem b{color:var(--danger)}
.fp-sbig .ok{background:#e2f0e8;border-color:#bfe0cd}.fp-sbig .ok b{color:var(--ok)}
[data-theme="dark"] .fp-sbig .rem{background:#3a2626}[data-theme="dark"] .fp-sbig .ok{background:#1e3a2a}
.fp-padwrap{display:grid;grid-template-columns:1fr 92px;gap:6px}
.fp-padwrap .fp-keys button{height:48px}
.fp-quick{display:grid;grid-auto-rows:1fr;gap:6px}
.fp-quick button{border-radius:10px;border:1px solid var(--border);background:var(--surface2);font-size:13.5px;font-weight:700;cursor:pointer;color:var(--text);font-family:var(--ui)}
.fp-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.fp-modes button{height:56px;border-radius:10px;border:0;font-size:15px;font-weight:800;letter-spacing:.04em;cursor:pointer;color:#fff;font-family:var(--ui);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.fp-modes button small{font-size:10px;font-weight:600;opacity:.85;letter-spacing:0}
.fp-modes .cash{background:#2e7d4f}.fp-modes .card{background:#3d5f96}.fp-modes .pend{background:#6b6558}
.fp-modes button:disabled{opacity:.35;cursor:default}
.fp-pays{display:flex;flex-wrap:wrap;gap:5px;min-height:30px;margin-top:8px}
.fp-pays span{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:3px 4px 3px 11px;font-size:12.5px;font-weight:700;color:var(--text)}
.fp-pays span button{width:26px;height:26px;border-radius:13px;border:0;background:var(--surface);cursor:pointer;color:var(--danger)}
.fp-pays .chg{background:#e2f0e8;color:var(--ok);padding-right:11px}
.fp-sspecial{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}
.fp-sspecial button{height:44px;border-radius:10px;border:1.5px dashed var(--border);background:transparent;font-size:13px;font-weight:700;cursor:pointer;color:var(--text2);font-family:var(--ui)}
.fp-svh{font-weight:700;margin-bottom:10px;color:var(--text)}
.fp-roomgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;max-height:52vh;overflow-y:auto}
.fp-roomgrid button{min-height:64px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;color:var(--text);font-family:var(--ui);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px}
.fp-roomgrid button b{font-size:15px}.fp-roomgrid button small{font-size:11.5px;color:var(--muted)}

/* kitchen board — KOT printer station strip */
.fp-kotbar{display:flex;align-items:center;gap:10px;justify-content:space-between;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:13px}
.fp-kotbar.on{background:#e2f0e8;border-color:#bfe0cd}
[data-theme="dark"] .fp-kotbar.on{background:#1e3a2a}

/* compact squares (1024×768) */
@media (max-height:800px){
  .fp{grid-template-rows:50px minmax(0,1fr)}
  .fp-items{grid-auto-rows:76px}
  .fp-send{height:56px}.fp-bill,.fp-settle{height:48px}
  .fp-keys button{height:48px}.fp-padwrap .fp-keys button{height:44px}
  .fp-modes button{height:50px}
}
@media (max-width:1100px){.fp-sub,.fp-sync{display:none}.fp-tb{padding:0 11px}}
@media (max-width:900px){.fp-who{display:none}}
.fp-xl .fp-sbig{margin-right:44px}
