:root {
  --teal: #075b55;
  --deep: #064542;
  --orange: #e96f14;
  --ink: #142729;
  --muted: #75858a;
  --line: #e3e8e9;
  --bg: #f5f7f9;
  --paper: #fff;
  --soft: #eaf3f1;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px;
  color: var(--ink);
  background: var(--bg)
}

* {
  box-sizing: border-box
}

body {
  margin: 0
}

button,
input,
select,
textarea {
  font: inherit
}

button,
a {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent
}

button {
  cursor: pointer;
  color: inherit;
  min-height: 42px;
  background: none;
  border: 0
}

button:disabled {
  cursor: not-allowed;
  opacity: .45
}

a {
  color: var(--teal);
  text-underline-offset: 3px
}

button:focus-visible,
a:focus-visible {
  outline: 3px solid #f49c56;
  outline-offset: 3px
}

input,
select,
textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #d8e1e4;
  background: #fff;
  color: var(--ink);
  border-radius: 8px;
  min-height: 44px;
  padding: 10px 12px;
  font-size: 16px
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #6ba7a0;
  outline-offset: 1px
}

input[type=checkbox] {
  width: 18px;
  min-height: 18px;
  accent-color: var(--teal)
}

input[readonly] {
  background: #f4f6f7
}

textarea {
  min-height: 80px;
  resize: vertical
}

h1,
h2,
h3,
p {
  margin: 0
}

h1 {
  font-size: 27px;
  letter-spacing: -.9px;
  line-height: 1.25;
  font-weight: 750
}

h2 {
  font-size: 17px;
  letter-spacing: -.3px;
  font-weight: 700
}

h3 {
  font-size: 14px
}

.small {
  font-size: 11px;
  color: var(--muted)
}

.muted {
  color: var(--muted)
}

.loading {
  display: grid;
  place-content: center;
  min-height: 80vh;
  text-align: center
}

.loading strong {
  font-size: 30px;
  color: var(--teal)
}

.loading p {
  font-size: 12px;
  color: var(--muted);
  margin-top: 12px
}

.layout {
  display: grid;
  grid-template-columns: 246px minmax(0, 1fr);
  min-height: 100vh;
  max-width: 1920px;
  margin: auto
}

.sidebar {
  background: linear-gradient(160deg, #073f40, #02514c);
  color: #fff;
  padding: 26px 13px 14px;
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column
}

.brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px 22px;
  text-decoration: none;
  color: #fff
}

.brand img {
  width: 34px;
  height: 50px
}

.brand strong {
  font-size: 25px;
  letter-spacing: -.8px
}

.brand small {
  display: block;
  font-size: 12px;
  color: #c2d6d5;
  margin-top: 3px;
  font-weight: 400
}

.branch {
  border: 1px solid #ffffff50;
  border-radius: 8px;
  margin: 0 3px 22px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 11px;
  font-size: 13px;
  font-weight: 600
}

.branch svg {
  width: 19px
}

.nav {
  display: grid;
  gap: 3px
}

.nav button {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 43px;
  padding: 10px 13px;
  text-align: left;
  color: #eef6f5;
  font-size: 12px;
  border-radius: 8px;
  line-height: 1.2
}

.nav button svg {
  width: 20px;
  height: 20px;
  color: #b3d5d2;
  flex-shrink: 0
}

.nav button.active {
  background: #ffffff1e;
  color: #fff;
  box-shadow: inset 0 0 0 1px #ffffff09
}

.nav button.active svg {
  color: #fff
}

.sideuser {
  margin-top: auto;
  border-top: 1px solid #ffffff25;
  padding: 16px 6px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px
}

.avatar {
  height: 34px;
  width: 34px;
  background: #d9edee;
  color: #286977;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 650;
  flex-shrink: 0
}

.sideuser small {
  display: block;
  color: #b8ceca;
  font-size: 10px;
  margin-top: 3px
}

.sideuser button {
  margin-left: auto;
  color: #cee0db
}

.workspace {
  min-width: 0
}

.topbar {
  height: 73px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 0 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px
}

.searchbox {
  position: relative;
  max-width: 460px;
  flex: 1
}

.searchbox svg {
  position: absolute;
  left: 13px;
  top: 11px;
  width: 19px;
  color: #7f8c98
}

.searchbox input {
  background: #f7f8fa;
  border-color: #d2dbe4;
  min-height: 42px;
  font-size: 13px;
  padding-left: 40px
}

.topright {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  white-space: nowrap
}

.topright .date {
  display: flex;
  align-items: center;
  gap: 8px
}

.topright .date svg {
  width: 19px
}

.iconbtn {
  display: inline-grid;
  place-items: center;
  width: 38px;
  min-height: 38px;
  border-radius: 8px;
  position: relative
}

.iconbtn svg {
  width: 21px;
  height: 21px
}

.notification {
  position: absolute;
  right: 0;
  top: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--orange);
  color: #fff;
  font-size: 9px;
  display: grid;
  place-items: center
}

.statuspill {
  background: #daf4e4;
  color: #28694a;
  border: 1px solid #bce8cc;
  border-radius: 30px;
  padding: 6px 11px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.statuspill.closed {
  background: #f0f1f3;
  border-color: #ddd;
  color: #727c84
}

.mobilebrand {
  display: none
}

main {
  padding: 26px 25px 35px
}

.pagehead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 22px
}

.pagehead .sub {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
  margin-top: 7px
}

.actions {
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 41px;
  border: 1px solid #d7e1e3;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  background: #fff
}

.btn svg {
  width: 18px;
  height: 18px
}

.btn.primary {
  background: linear-gradient(110deg, #f07c1f, #dc600c);
  border-color: #df650d;
  color: #fff
}

.btn.teal {
  background: var(--teal);
  border-color: var(--teal);
  color: #fff
}

.btn.outline {
  border-color: #e5a06b;
  color: #c25d14;
  background: #fffaf6
}

.btn.danger {
  background: #fff0ec;
  color: #ac4534;
  border-color: #f0c9be
}

.btn.full {
  width: 100%
}

.btn.smallbtn {
  min-height: 31px;
  padding: 5px 10px;
  font-size: 10px
}

.metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 21px
}

.metric {
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 2px 4px #29445104;
  border-radius: 12px;
  padding: 18px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0
}

.metric .symbol {
  width: 40px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #fff0e3;
  color: var(--orange);
  flex-shrink: 0
}

.metric .symbol.green {
  color: #2e8b43;
  background: #e7f8ed
}

.metric .symbol svg {
  width: 26px;
  height: 26px
}

.metric label {
  font-size: 11px;
  color: #566370;
  display: block
}

.metric strong {
  display: block;
  font-size: 25px;
  letter-spacing: -.8px;
  margin-top: 6px;
  line-height: 1.2;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums
}

.metric small {
  display: block;
  font-size: 9px;
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.5
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 306px;
  gap: 16px;
  align-items: start
}

.panel {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 11px;
  box-shadow: 0 2px 5px #1e3b4b04;
  overflow: hidden
}

.panelhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 17px
}

.panelhead h2 {
  display: flex;
  gap: 9px;
  align-items: center
}

.panelhead h2 svg {
  color: var(--orange);
  width: 21px;
  height: 21px
}

.panelhead small {
  font-size: 10px;
  color: var(--muted)
}

.pad {
  padding: 17px
}

.kanban {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0 12px 13px
}

.lanehead {
  border-radius: 7px;
  padding: 9px 12px;
  font-size: 12px;
  font-weight: 650;
  margin-bottom: 9px;
  background: #fae8db;
  color: #7e3e21
}

.lanehead.preparing,
.lanehead.ready {
  background: #d9eafe;
  color: #25517f
}

.lanehead.courier {
  background: #e0f0df;
  color: #315a2b
}

.ordercard {
  border: 1px solid #e1e5e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 4px #24384b09;
  padding: 11px;
  margin-bottom: 10px;
  min-width: 0
}

.ordercard:last-child {
  margin-bottom: 0
}

.orderhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  font-size: 12px
}

.orderhead strong {
  font-size: 12px
}

.source {
  font-size: 9px;
  border-radius: 5px;
  background: #f0f2f5;
  color: #697586;
  padding: 3px 5px
}

.orderage {
  font-size: 9px;
  white-space: nowrap;
  color: #d06315;
  background: #fff1dd;
  border-radius: 20px;
  padding: 3px 6px
}

.customer {
  font-size: 11px;
  margin: 6px 0 9px;
  color: #51606c
}

.orderitems {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  line-height: 1.6;
  min-height: 50px;
  margin: 8px 0
}

.food {
  background-image: url('products.png');
  background-repeat: no-repeat;
  background-size: 300% 200%;
  width: 53px;
  height: 51px;
  background-color: #f8f8f5;
  flex-shrink: 0;
  border-radius: 7px
}

.food.half {
  background-position: 0 0
}

.food.tombik {
  background-position: 50% 0
}

.food.wrap {
  background-position: 100% 0
}

.food.whole {
  background-position: 0 100%
}

.food.plate {
  background-position: 50% 100%
}

.food.drink,
.food.dessert {
  background-position: 100% 100%
}

.orderbottom {
  display: flex;
  gap: 5px;
  margin-top: 9px
}

.orderbottom .btn {
  flex: 1;
  min-width: 0
}

.morebtn {
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 30px;
  width: 29px;
  font-size: 15px
}

.alertrow {
  border-radius: 7px;
  padding: 11px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: #fff2e7;
  color: #b96522;
  margin-bottom: 9px;
  font-size: 11px
}

.alertrow svg {
  height: 24px;
  width: 22px;
  flex-shrink: 0
}

.alertrow strong {
  font-size: 11px
}

.stack {
  display: grid;
  gap: 16px
}

.staffrow {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf0f1;
  font-size: 11px
}

.staffrow:last-child {
  border: 0
}

.staffrow .avatar {
  height: 31px;
  width: 31px;
  font-size: 12px;
  background: #dfebf9;
  color: #6387b7
}

.staffrow:nth-child(2) .avatar {
  background: #fbe1dc;
  color: #c58378
}

.staffrow:nth-child(3) .avatar {
  background: #fdf0d0;
  color: #c3934a
}

.staffrow .tag {
  margin-left: auto
}

.tag {
  display: inline-block;
  font-size: 9px;
  background: #dff3e3;
  color: #3b7846;
  padding: 4px 7px;
  border-radius: 20px;
  white-space: nowrap
}

.tag.orange {
  background: #fff0d5;
  color: #b57218
}

.tag.blue {
  background: #dfedff;
  color: #3c75b2
}

.tag.gray {
  background: #eef1f4;
  color: #78838b
}

.closurebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 11px;
  flex-wrap: wrap
}

.closurebar h2 {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 15px
}

.closurebar h2 svg {
  width: 24px;
  height: 24px;
  color: var(--teal)
}

.checkitem {
  font-size: 11px;
  color: #62717a;
  display: flex;
  align-items: center;
  gap: 6px
}

.checkitem svg {
  width: 19px;
  color: #6b9285
}

.sectionhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 14px
}

.filters {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 16px
}

.filters button {
  background: #fff;
  border: 1px solid #dce5e7;
  border-radius: 7px;
  padding: 8px 15px;
  font-size: 12px;
  min-height: 37px
}

.filters button.active {
  background: var(--teal);
  color: #fff;
  border-color: var(--teal)
}

.filters select {
  width: auto;
  max-width: 260px;
  font-size: 13px
}

.tablewrap {
  overflow-x: auto
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px
}

th {
  background: #f7f9fa;
  color: #788691;
  font-size: 10px;
  text-align: left;
  font-weight: 600;
  padding: 12px 14px;
  white-space: nowrap
}

td {
  padding: 14px;
  border-top: 1px solid #edf0f2;
  vertical-align: middle;
  font-variant-numeric: tabular-nums
}

td small {
  display: block;
  font-size: 10px;
  color: var(--muted);
  margin-top: 4px
}

.right {
  text-align: right
}

.neg {
  color: #be6338
}

.empty {
  text-align: center;
  color: var(--muted);
  font-size: 12px;
  padding: 27px 15px;
  line-height: 1.7
}

.notice {
  background: #fff6e7;
  color: #986822;
  border: 1px solid #f1e0bd;
  padding: 12px 15px;
  border-radius: 8px;
  font-size: 11px;
  line-height: 1.7;
  margin: 13px 0
}

.notice.success {
  background: #eaf6ee;
  color: #387250;
  border-color: #cee6d4
}

.notice.danger {
  background: #fff0ec;
  color: #a74d36;
  border-color: #edc9bd
}

.buttonlink {
  font-size: 11px;
  color: var(--orange);
  min-height: 30px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0
}

.buttonlink svg {
  width: 15px;
  height: 15px
}

.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px
}

.spacer {
  margin-top: 20px
}

.line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 13px;
  padding: 11px 0;
  font-size: 12px
}

.line+.line {
  border-top: 1px solid #edf0f1
}

.line small {
  font-size: 10px;
  color: var(--muted);
  display: block;
  margin-top: 4px
}

.line strong {
  text-align: right;
  font-variant-numeric: tabular-nums
}

.posgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 19px;
  align-items: start
}

.productgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px
}

.product {
  background: #fff;
  border: 1px solid #dce5e7;
  border-radius: 11px;
  display: flex;
  flex-direction: column;
  position: relative;
  text-align: left;
  padding: 12px;
  min-height: 175px;
  transition: .15s
}

.product:hover {
  border-color: #6fa7a0;
  transform: translateY(-2px)
}

.product .food {
  width: 100%;
  height: 82px;
  border-radius: 8px;
  margin-bottom: 9px
}

.product strong {
  font-size: 12px;
  line-height: 1.3
}

.product small {
  font-size: 10px;
  color: var(--muted);
  margin: 4px 0
}

.product b {
  font-size: 17px;
  color: var(--teal);
  margin-top: auto
}

.product .plus {
  position: absolute;
  right: 10px;
  top: 10px;
  background: #e7f1ef;
  color: var(--teal);
  font-size: 21px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 6px
}

.cartpanel {
  position: sticky;
  top: 15px
}

.cartempty {
  text-align: center;
  color: #89979e;
  padding: 32px 0;
  font-size: 12px;
  line-height: 1.7
}

.cartempty svg {
  height: 35px;
  width: 35px;
  display: block;
  margin: 0 auto 12px
}

.cartline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px
}

.cartline small {
  font-size: 10px;
  color: var(--muted);
  display: block;
  margin-top: 4px
}

.stepper {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap
}

.stepper button {
  width: 29px;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #f6f9f8;
  font-size: 17px
}

.carttotal {
  background: #edf5f2;
  border-radius: 7px;
  padding: 13px;
  margin: 15px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 650;
  font-size: 13px
}

.carttotal strong {
  font-size: 23px;
  color: var(--teal)
}

.payment {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin: 14px 0
}

.payment button {
  border: 1px solid #d9e2e5;
  border-radius: 7px;
  font-size: 12px
}

.payment .active {
  background: var(--teal);
  color: #fff;
  border-color: var(--teal)
}

.cartactions {
  display: flex;
  gap: 8px
}

.hint {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 12px
}

.listorders {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px
}

.listorders .ordercard {
  margin: 0;
  padding: 15px
}

.mobilequick {
  display: none
}

.mobile-bottom {
  display: none
}

.helptext {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.7
}

.authscreen {
  min-height: 100vh;
  background: linear-gradient(140deg, #073c3e, #075d50);
  display: grid;
  place-items: center;
  padding: 25px
}

.authcard {
  background: #fff;
  border-radius: 18px;
  padding: 34px;
  max-width: 440px;
  width: 100%;
  box-shadow: 0 20px 80px #002a2c40
}

.authcard .brand {
  color: var(--teal);
  padding: 0 0 21px
}

.authcard .brand small {
  color: #8ba59e
}

.authcard h1 {
  font-size: 24px;
  margin: 8px 0 7px
}

.authcard p {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 22px
}

.authcard label {
  margin-bottom: 13px
}

.authcard input {
  margin-top: 6px
}

.field {
  display: block;
  font-size: 11px;
  font-weight: 550;
  color: #60757b
}

.field input,
.field select,
.field textarea {
  margin-top: 6px
}

.field small {
  font-size: 10px;
  font-weight: 400;
  display: block;
  color: #8d979b;
  margin-top: 5px
}

.fieldgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.field.wide {
  grid-column: 1/-1
}

.checkbox {
  display: flex !important;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  color: var(--muted);
  line-height: 1.5;
  margin: 17px 0
}

.error {
  font-size: 12px;
  color: #af4c36;
  line-height: 1.7;
  margin: 13px 0
}

.error:empty {
  display: none
}

dialog {
  border: 1px solid #dbe4e7;
  border-radius: 14px;
  padding: 0;
  width: calc(100% - 26px);
  max-width: 670px;
  max-height: 90dvh;
  color: var(--ink);
  box-shadow: 0 20px 90px #002f3440
}

dialog::backdrop {
  background: #07333b75;
  backdrop-filter: blur(3px)
}

.modalhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
  gap: 10px
}

.modalhead h2 {
  font-size: 17px
}

.modalhead button {
  font-size: 23px;
  width: 33px
}

.modalbody {
  padding: 22px
}

.modalbody>p {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 18px
}

.formsection {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  margin: 21px 0 12px
}

.formactions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 21px
}

.compact input {
  width: 88px;
  min-height: 42px;
  font-size: 16px;
  padding: 8px
}

.compact td {
  padding: 8px 11px
}

.compact th {
  padding: 10px
}

.stockcount {
  width: 95px;
  min-height: 42px;
  font-size: 16px
}

.reporttile {
  background: var(--soft);
  color: var(--teal);
  border-radius: 9px;
  padding: 18px;
  margin-top: 15px
}

.reporttile strong {
  font-size: 29px;
  display: block;
  margin-top: 7px
}

.employeegrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px
}

.employeecard {
  padding: 19px
}

.employeecard .avatar {
  height: 42px;
  width: 42px;
  font-size: 18px;
  margin-bottom: 11px
}

.employeecard h3 {
  font-size: 15px
}

.employeecard small {
  font-size: 11px;
  color: var(--muted);
  display: block;
  margin-top: 4px
}

.moregrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px
}

.moregrid button {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 17px;
  font-size: 12px;
  text-align: left
}

.moregrid svg {
  height: 25px;
  width: 25px;
  color: var(--orange)
}

.dailysales input {
  width: 75px;
  font-size: 16px
}

.dailysales td {
  padding: 10px
}

#toast {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translate(-50%, 15px);
  background: #153f3a;
  color: #fff;
  font-size: 12px;
  padding: 14px 21px;
  border-radius: 10px;
  z-index: 30;
  max-width: 90%;
  opacity: 0;
  pointer-events: none;
  transition: .2s;
  box-shadow: 0 4px 25px #153f3a30
}

#toast.show {
  opacity: 1;
  transform: translate(-50%, 0)
}

svg {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round
}

.badge {
  font-size: 10px;
  background: #e3f2eb;
  color: #34775c;
  padding: 4px 8px;
  border-radius: 20px
}

.clock {
  font-variant-numeric: tabular-nums
}

.notificationlist .line {
  align-items: flex-start
}

.greetingmobile {
  display: none
}

.statwide {
  display: none
}

@media(min-width:1550px) {
  main {
    padding: 29px 30px
  }

  .dashboard-grid {
    grid-template-columns: minmax(0, 1fr) 340px
  }

  .kanban {
    gap: 12px;
    padding: 0 15px 15px
  }

  .metric {
    padding: 21px 18px
  }

  .ordercard {
    padding: 14px
  }

  .orderitems {
    min-height: 65px;
    font-size: 12px
  }

  .food {
    width: 65px;
    height: 60px
  }
}

@media(max-width:1190px) {
  .layout {
    grid-template-columns: 215px minmax(0, 1fr)
  }

  .sidebar {
    padding-left: 9px;
    padding-right: 9px
  }

  .brand strong {
    font-size: 22px
  }

  .nav button {
    font-size: 11px;
    gap: 10px
  }

  .dashboard-grid {
    grid-template-columns: 1fr
  }

  .dashboard-side {
    grid-template-columns: 1fr 1fr;
    display: grid
  }

  .metric {
    padding: 15px 11px;
    gap: 9px
  }

  .metric strong {
    font-size: 22px
  }

  .metric .symbol {
    width: 31px;
    height: 36px
  }

  .metric label {
    font-size: 10px
  }

  .posgrid {
    grid-template-columns: 1fr 290px
  }

  .productgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .topright .date {
    display: none
  }

  .listorders {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .employeegrid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(max-width:800px) {
  .layout {
    display: block
  }

  .sidebar {
    display: none
  }

  .topbar {
    padding: 0 17px;
    height: 66px;
    background: var(--deep);
    color: #fff
  }

  .searchbox {
    display: none
  }

  .mobilebrand {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 21px;
    font-weight: 750;
    letter-spacing: -.7px
  }

  .mobilebrand img {
    width: 25px;
    height: 37px
  }

  .topright {
    gap: 7px
  }

  .topright .statuspill {
    font-size: 10px;
    padding: 5px 8px;
    background: #ffffff1a;
    border-color: #ffffff30;
    color: #d9f5e7
  }

  .topright .iconbtn {
    color: #fff
  }

  .topright .desktoponly {
    display: none
  }

  main {
    padding: 20px 15px 100px
  }

  .pagehead {
    margin-bottom: 17px;
    align-items: flex-start
  }

  .pagehead h1 {
    font-size: 25px
  }

  .pagehead .sub {
    font-size: 11px;
    line-height: 1.5
  }

  .pagehead>.actions {
    display: none
  }

  .metrics {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 17px
  }

  .metric {
    padding: 13px 11px;
    gap: 9px;
    align-items: center
  }

  .metric .symbol {
    height: 35px;
    width: 30px
  }

  .metric .symbol svg {
    height: 23px;
    width: 23px
  }

  .metric strong {
    font-size: 23px;
    letter-spacing: -.5px
  }

  .metric label {
    font-size: 10px
  }

  .metric small {
    font-size: 9px
  }

  .dashboard-grid {
    gap: 16px
  }

  .kanban {
    display: none
  }

  .mobile-orders {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    padding: 0 11px 12px
  }

  .mobile-orders .ordercard {
    margin: 0;
    padding: 9px
  }

  .mobile-orders .orderhead {
    flex-wrap: wrap
  }

  .mobile-orders .orderitems {
    font-size: 10px;
    gap: 6px
  }

  .mobile-orders .food {
    width: 43px;
    height: 43px
  }

  .mobile-orders .customer {
    display: none
  }

  .mobile-orders .orderbottom .btn {
    font-size: 10px;
    padding-left: 6px;
    padding-right: 6px
  }

  .mobilequick {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 18px
  }

  .mobilequick .btn {
    min-height: 47px
  }

  .mobile-tasks {
    display: block !important;
    margin-bottom: 17px
  }

  .mobile-tasks h2 {
    font-size: 17px;
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px
  }

  .taskbutton {
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    width: 100%;
    text-align: left;
    padding: 11px;
    font-size: 11px;
    min-height: 43px;
    margin-bottom: 7px
  }

  .taskbutton.warn {
    background: #fff0e4;
    color: #c06020;
    border-color: #f4dbc3
  }

  .taskbutton svg {
    width: 19px;
    height: 19px
  }

  .taskbutton .arrow {
    margin-left: auto
  }

  .dashboard-side {
    display: block
  }

  .dashboard-side .stock-alert-panel {
    display: none
  }

  .dashboard-side .teampanel {
    margin-top: 0
  }

  .panelhead {
    padding: 14px
  }

  .panelhead h2 {
    font-size: 16px
  }

  .panelhead small {
    font-size: 9px
  }

  .closurebar {
    display: none
  }

  .mobile-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 6px 9px calc(8px + env(safe-area-inset-bottom));
    background: #ffffffed;
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--line);
    z-index: 10
  }

  .mobile-bottom button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 49px;
    border-radius: 8px;
    font-size: 9px;
    color: #738287
  }

  .mobile-bottom svg {
    height: 23px;
    width: 23px
  }

  .mobile-bottom button.active {
    background: var(--teal);
    color: #fff
  }

  .posgrid {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .productgrid {
    grid-template-columns: 1fr 1fr;
    gap: 9px
  }

  .product {
    min-height: 108px;
    flex-direction: row;
    align-items: center;
    gap: 9px;
    padding: 10px
  }

  .product .food {
    width: 66px;
    height: 69px;
    margin: 0
  }

  .product .product-info {
    min-width: 0;
    flex: 1;
    padding-right: 10px
  }

  .product strong {
    font-size: 11px;
    display: block
  }

  .product b {
    font-size: 17px;
    margin-top: 5px;
    display: block
  }

  .product small {
    font-size: 9px
  }

  .product .plus {
    height: 21px;
    width: 21px;
    font-size: 17px;
    top: auto;
    bottom: 8px;
    right: 6px;
    background: #fff0e2;
    color: var(--orange)
  }

  .cartpanel {
    position: static
  }

  .cartpanel .panelhead {
    padding: 14px
  }

  .payment button {
    min-height: 45px
  }

  .cartpanel .btn.full {
    min-height: 48px
  }

  .filters {
    gap: 6px
  }

  .filters button {
    padding: 8px 13px;
    font-size: 11px;
    min-height: 39px
  }

  .listorders {
    grid-template-columns: 1fr
  }

  .listorders .ordercard {
    padding: 15px
  }

  .listorders .orderitems {
    font-size: 12px
  }

  .listorders .food {
    height: 60px;
    width: 60px
  }

  .split {
    grid-template-columns: 1fr
  }

  .employeegrid {
    grid-template-columns: 1fr 1fr;
    gap: 10px
  }

  .employeecard {
    padding: 14px
  }

  .employeecard h3 {
    font-size: 13px
  }

  .fieldgrid {
    gap: 12px
  }

  .modalbody {
    padding: 18px
  }

  .modalhead {
    padding: 16px 18px
  }

  .modalhead h2 {
    font-size: 16px
  }

  .modalhead button {
    min-height: 40px
  }

  .formactions .btn {
    min-height: 45px
  }

  .authcard {
    padding: 25px
  }

  .authscreen {
    padding: 20px
  }

  #toast {
    bottom: 85px
  }

  .tablewrap table {
    font-size: 11px
  }

  td {
    padding: 12px 10px
  }

  th {
    padding: 10px;
    font-size: 9px
  }

  .pad {
    padding: 15px
  }

  .compact input {
    width: 77px
  }

  .compact td {
    padding: 8px
  }

  .count-form .fieldgrid {
    grid-template-columns: 1fr
  }

  .mobile-date {
    display: block !important;
    font-size: 10px;
    color: var(--muted);
    margin-top: 8px
  }

  .greetingdesktop {
    display: none
  }

  .greetingmobile {
    display: inline
  }

  .dashboard-side .staffrow {
    font-size: 11px
  }

  .brand-footer {
    font-size: 10px;
    color: var(--muted);
    text-align: center;
    margin: 20px 0 0
  }
}

@media(min-width:801px) {
  .mobile-orders {
    display: none
  }

  .mobile-tasks,
  .mobile-date {
    display: none
  }
}

@media(max-width:370px) {
  main {
    padding-left: 11px;
    padding-right: 11px
  }

  .metric {
    padding: 11px 9px;
    gap: 7px
  }

  .metric strong {
    font-size: 20px
  }

  .metric .symbol {
    width: 26px
  }

  .metric .symbol svg {
    width: 20px
  }

  .product .food {
    width: 49px;
    height: 58px
  }

  .product {
    padding: 8px;
    gap: 6px
  }

  .product b {
    font-size: 16px
  }

  .employeegrid {
    grid-template-columns: 1fr
  }

  .topbar {
    padding: 0 12px
  }

  .mobilebrand {
    font-size: 20px
  }

  .fieldgrid {
    grid-template-columns: 1fr
  }

  .field.wide {
    grid-column: auto
  }
}

@media print {

  .sidebar,
  .topbar,
  .mobile-bottom,
  .actions,
  .filters,
  button {
    display: none !important
  }

  .layout {
    display: block
  }

  main {
    padding: 0
  }

  .metrics {
    grid-template-columns: repeat(4, 1fr)
  }

  body {
    background: #fff
  }

  .panel {
    break-inside: avoid
  }

  .tablewrap {
    overflow: visible
  }
}

@media(max-width:800px) {
  .pos-recent {
    display: none
  }
}

.only-mobile {
  display: none
}

@media(max-width:800px) {
  .only-desktop {
    display: none
  }

  .only-mobile {
    display: inline
  }

  .metric small:has(.only-desktop) {
    display: none
  }

  .teampanel .pad {
    display: none
  }

  .teampanel .panelhead {
    min-height: 47px
  }

  .teampanel .panelhead h2 {
    font-size: 14px
  }
}

/* Ürün sprite'ı kare SVG penceresinde, doğal oranıyla gösterilir. */
.food{background-image:none!important;display:grid;place-items:center;overflow:hidden;background-color:#fffaf7}
.food svg{display:block;width:100%;height:100%;stroke:none;fill:none}
.product .food{height:124px}
.product .product-info{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;flex:1}
.product .product-info strong,.product .product-info b,.product .product-info small{display:block;margin:0}
.product .product-info b{margin-top:auto}

/* Soldan sağa sipariş ve mutfak akışları. */
.order-flow{display:grid;grid-template-columns:repeat(5,minmax(175px,1fr));gap:12px;align-items:stretch;overflow-x:auto;padding-bottom:10px;min-height:380px}
.order-flow.kitchen-flow{grid-template-columns:repeat(4,minmax(190px,1fr))}
.flow-lane{background:#edf1f4;border:1px solid #e0e7eb;border-radius:11px;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.flow-heading{display:flex;align-items:center;gap:7px;padding:12px 10px;background:#ffebdc;color:#8d4d25;border-bottom:1px solid #f0dbc9}
.flow-heading h2{font-size:12px;letter-spacing:0;white-space:nowrap}
.flow-step{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#ffffffa0;font-size:10px;font-weight:650}
.flow-count{margin-left:auto;background:#fff;border-radius:12px;padding:3px 7px;font-size:10px;font-weight:650}
.flow-lane.preparing .flow-heading{background:#dfecff;color:#35648e}
.flow-lane.ready .flow-heading{background:#e9e1fa;color:#7457a5}
.flow-lane.courier .flow-heading{background:#dcf1ed;color:#3d7c72}
.flow-lane.completed .flow-heading,.flow-lane.served .flow-heading{background:#e3f1df;color:#4c7a40}
.flow-cards{padding:9px;display:grid;align-content:start;gap:10px}
.flow-cards .ordercard{margin:0;padding:10px}
.flow-cards .orderhead{flex-wrap:wrap;gap:5px}
.flow-cards .orderitems{font-size:11px}
.flow-cards .food{width:48px;height:48px}
.flow-cards .orderbottom .btn{padding:6px;min-height:36px;font-size:10px}
.flow-empty{text-align:center;font-size:11px;color:#94a1a9;padding:35px 8px}
@media(min-width:1024px) and (min-height:620px){
  .layout[data-page="dashboard"]{height:100dvh;overflow:hidden}
  .layout[data-page="dashboard"] .topbar{height:64px}
  .layout[data-page="dashboard"] main{height:calc(100dvh - 64px);padding:18px 20px;display:flex;flex-direction:column;gap:13px;overflow:hidden}
  .layout[data-page="dashboard"] .pagehead{margin:0;flex-shrink:0}
  .layout[data-page="dashboard"] .pagehead h1{font-size:24px}
  .layout[data-page="dashboard"] .pagehead .sub{font-size:11px;margin-top:5px}
  .layout[data-page="dashboard"] .metrics{margin:0;gap:12px;flex-shrink:0}
  .layout[data-page="dashboard"] .metric{padding:13px 12px;min-height:82px}
  .layout[data-page="dashboard"] .metric strong{font-size:23px;margin-top:4px}
  .layout[data-page="dashboard"] .dashboard-grid{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(230px,27%);gap:13px;align-items:stretch}
  .layout[data-page="dashboard"] .dashboard-grid>.panel{display:flex;flex-direction:column;min-height:0}
  .layout[data-page="dashboard"] .panelhead{padding:11px 12px;flex-shrink:0}
  .layout[data-page="dashboard"] .panelhead h2{font-size:14px}
  .layout[data-page="dashboard"] .kanban{flex:1;min-height:0;gap:8px;padding:0 10px 10px}
  .layout[data-page="dashboard"] .kanban>div{min-height:0;overflow-y:auto;scrollbar-width:thin}
  .layout[data-page="dashboard"] .lanehead{padding:7px 9px;margin-bottom:7px;font-size:11px}
  .layout[data-page="dashboard"] .ordercard{padding:8px;margin-bottom:8px}
  .layout[data-page="dashboard"] .customer{font-size:10px;margin:4px 0}
  .layout[data-page="dashboard"] .orderitems{margin:5px 0;min-height:42px;font-size:10px;line-height:1.4}
  .layout[data-page="dashboard"] .food{width:43px;height:43px}
  .layout[data-page="dashboard"] .orderbottom{margin-top:5px}
  .layout[data-page="dashboard"] .orderhead{flex-wrap:wrap}
  .layout[data-page="dashboard"] .orderhead strong{font-size:11px}
  .layout[data-page="dashboard"] .orderbottom .btn{min-height:29px;padding:4px 6px;font-size:10px}
  .layout[data-page="dashboard"] .dashboard-side{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr);min-height:0;gap:12px}
  .layout[data-page="dashboard"] .dashboard-side>.panel{display:flex;flex-direction:column;min-height:0}
  .layout[data-page="dashboard"] .dashboard-side .pad{padding:0 12px 11px;overflow:auto;scrollbar-width:thin;min-height:0}
  .layout[data-page="dashboard"] .alertrow{padding:8px;font-size:10px;margin-bottom:7px}
  .layout[data-page="dashboard"] .dashboard-side .spacer{margin-top:6px;min-height:32px;padding:7px}
  .layout[data-page="dashboard"] .staffrow{padding:7px 0;font-size:10px}
  .layout[data-page="dashboard"] .staffrow .avatar{width:27px;height:27px;font-size:11px}
  .layout[data-page="dashboard"] .closurebar{margin:0;min-height:48px;padding:9px 12px;gap:10px;flex-wrap:nowrap;flex-shrink:0}
  .layout[data-page="dashboard"] .closurebar h2{font-size:12px;white-space:nowrap}
  .layout[data-page="dashboard"] .closurebar .btn{min-height:33px;padding:7px 11px;font-size:10px;white-space:nowrap}
  .layout[data-page="dashboard"] .checkitem{font-size:10px}
}
@media(max-width:800px){
  .product .food{height:70px;width:66px}
  .product .product-info{width:auto;gap:3px}
  .product .product-info b{margin-top:3px}
  .order-flow{grid-template-columns:repeat(5,265px);gap:11px;scroll-snap-type:x proximity;min-height:350px}
  .order-flow.kitchen-flow{grid-template-columns:repeat(4,265px)}
  .flow-lane{scroll-snap-align:start}
  .flow-heading h2{font-size:13px}
  .flow-cards .orderbottom .btn{min-height:42px;font-size:12px}
  .flow-cards .food{width:56px;height:56px}
}

/* Günlük kapanış fişi: aynı form telefonda tek sütun olarak çalışır. */
.daily-sheet{max-width:800px;margin:0 auto;color:#12332f}
.sheet-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}
.sheet-title h1{color:#064f49;font-size:30px;letter-spacing:-1px;line-height:1.15;margin:4px 0 7px}
.sheet-title p{font-size:13px;color:#65777a}
.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.4px;text-transform:uppercase;color:#14665d}
.sheet-sync{display:flex;align-items:center;gap:8px;background:#e5f2eb;border:1px solid #c8e2d6;border-radius:9px;padding:10px 12px;margin-bottom:13px;font-size:11px;color:#346951}
.sheet-sync svg{width:17px;height:17px;flex-shrink:0}
.sheet-section{padding:17px 19px 14px;border:1px solid #dfe5e5;background:#fff;border-radius:13px;margin-bottom:13px;box-shadow:0 2px 4px #163b3604;overflow:hidden}
.sheet-section h2{font-size:20px;letter-spacing:-.4px;color:#075b51;margin:0 0 13px}
.sheet-meat{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sheet-meat label{font-size:13px;font-weight:650;display:flex;flex-direction:column;gap:7px}
.daily-sheet input{border:1px solid #f38543;border-radius:8px;background:#fff8f2;min-width:0;width:100%;box-shadow:none;color:#173630;font-size:17px;font-weight:650;padding:8px 11px;height:39px}
.daily-sheet input:focus{outline:3px solid #f99b4628;border-color:#e75d0d}
.daily-sheet input:disabled{color:#61716d;background:#f4f6f4;border-color:#d7dedb;opacity:1}
.sheet-loss{display:flex;align-items:center;gap:8px;width:fit-content;border-radius:7px;margin-top:11px;background:#e9f2f0;font-size:11px;padding:5px 9px}
.sheet-loss input{max-width:63px;font-size:13px;height:27px;padding:2px 5px}
.sheet-table{width:100%;min-width:0!important;table-layout:fixed;font-size:13px;border-collapse:collapse}
.sheet-table th{background:#e4efed;color:#214d44;padding:7px 9px;font-size:12px;font-weight:700}
.sheet-table th:first-child{width:46%;border-radius:6px 0 0 6px;text-align:left}
.sheet-table th:nth-child(2){width:23%;text-align:center}
.sheet-table th:last-child{width:31%;border-radius:0 6px 6px 0;text-align:right}
.sheet-table td{padding:8px 9px;border-bottom:1px solid #e7eceb;vertical-align:middle}
.sheet-table tr:last-child td{border-bottom:0}
.sheet-table td:first-child strong{display:block;font-size:14px}
.sheet-table td:first-child small{font-size:11px;display:block;color:#73817d;margin-top:3px}
.sheet-table td:first-child small.sheet-recorded{color:#5c8d79;font-size:9px}
.sheet-table td:nth-child(2){text-align:center}
.sheet-table td:last-child{text-align:right;white-space:nowrap;font-weight:700;font-size:15px}
.sheet-table input{max-width:110px;text-align:center;height:35px;font-size:16px;padding:5px}
.sheet-total{background:linear-gradient(110deg,#006a5d,#07554d);color:#fff;border-radius:7px;padding:9px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:15px;font-weight:700}
.sheet-total output{font-size:20px;white-space:nowrap;font-variant-numeric:tabular-nums}
.sheet-grand{margin-bottom:13px;padding:11px 15px;font-size:17px}
.sheet-expenses{margin-bottom:9px}
.sheet-expenses label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;font-weight:650;padding:6px 5px;border-bottom:1px solid #e7eceb}
.sheet-expenses label:last-child{border:0}
.sheet-expenses input{max-width:225px;text-align:right;height:33px;font-size:16px}
.sheet-calculation{background:#e8f4f1;border-color:#d0e7df}
.sheet-calculation .line{padding:7px 3px;font-size:12px;border-color:#cbded6;gap:10px}
.sheet-calculation output{color:#086256;font-size:14px}
.sheet-calculation [data-sheet="difference"]{color:#e66d16}
.sheet-calculation .hint{font-size:10px;line-height:1.6}
.sheet-result{border-radius:13px;padding:17px 19px;background:linear-gradient(125deg,#07564e,#003b35);color:#fff}
.sheet-result .line{border-color:#ffffff25;padding:9px 0;font-size:14px}
.sheet-result .line strong{color:#fff;font-size:18px}
.sheet-result p{font-size:11px;color:#bdd7cf;margin-top:7px}
.sheet-balance{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:750;padding-top:13px;font-size:20px}
.sheet-balance output{font-size:29px;white-space:nowrap}
.sheet-method{display:flex;justify-content:space-between;gap:13px;align-items:center;font-size:11px;color:#deeee8;margin-top:17px}
.sheet-method select{max-width:140px;background:#ffffff12;color:#fff;border:1px solid #ffffff38;border-radius:6px;padding:8px 10px}
.sheet-method option{color:#143730;background:#fff}
.sheet-result .error{color:#ffd4b5}
.sheet-save{width:100%;justify-content:center;font-size:17px;min-height:51px;margin-top:10px}
.sheet-footnote{font-size:10px;line-height:1.7;color:#7d8c88;padding:11px 3px}
.sheet-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sheet-discount{font-size:11px;color:#8a6b57;margin:0 0 10px}
.sheet-discount:empty{display:none}
.menu-management{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.qr-panel .pad{text-align:center;padding:24px}
.qr-code{width:220px;height:220px;max-width:100%;margin:0 auto 14px;background:#fff;border:1px solid #e1e8e5;border-radius:12px;padding:6px}
.qr-code svg{display:block;width:100%;height:100%;stroke:none;fill:inherit}
.qr-panel h3{font-size:20px;margin-bottom:7px}
.qr-panel p{font-size:12px;line-height:1.7;color:#75837e}
.qr-panel .actions{justify-content:center}
.menu-address{display:block;word-break:break-all;font-size:11px;color:#287c6c;margin:13px 0}
.menu-options{display:grid;gap:18px}
.menu-option-icon{background:#eaf3ef;border-radius:10px;width:42px;height:42px;color:#126a5c;display:grid;place-items:center;margin-bottom:13px}
.menu-options h2{margin-bottom:9px;font-size:19px}
.menu-options .helptext{line-height:1.8;font-size:12px}
.sidebar .nav{min-height:0;overflow-y:auto;scrollbar-width:thin;flex:1}
@media(min-width:801px) and (max-height:850px){.sidebar{padding-top:20px}.sidebar .brand{padding-bottom:15px}.sidebar .branch{margin-bottom:13px}.sidebar .nav button{min-height:36px;padding:8px 12px;font-size:11px}.sidebar .sideuser{padding-top:11px}}
@media(max-width:800px){
  .daily-sheet{max-width:520px}
  .sheet-title{align-items:flex-start}
  .sheet-title h1{font-size:25px;letter-spacing:-.8px}
  .sheet-title .btn{padding:8px;font-size:10px;min-height:33px;white-space:nowrap}
  .sheet-title .btn svg{width:14px;height:14px}
  .sheet-sync{font-size:10px;line-height:1.6}
  .sheet-section{padding:14px 12px 11px;margin-bottom:11px;border-radius:11px}
  .sheet-section h2{font-size:19px;margin-bottom:11px}
  .sheet-meat{gap:11px}.sheet-meat label{font-size:11px;line-height:1.5}
  .daily-sheet input{font-size:16px;padding:7px 8px}
  .sheet-table th{font-size:10px;padding:6px}
  .sheet-table td{padding:7px 5px}
  .sheet-table td:first-child strong{font-size:12px}
  .sheet-table td:first-child small{font-size:9px}
  .sheet-table td:first-child small.sheet-recorded{font-size:8px}
  .sheet-table td:last-child{font-size:13px}
  .sheet-table input{font-size:15px;height:32px}
  .sheet-total{font-size:12px;padding:8px 10px}.sheet-total output{font-size:17px}
  .sheet-expenses label{font-size:12px;padding:6px 2px}.sheet-expenses input{max-width:125px;font-size:14px;height:31px}
  .sheet-result{padding:15px 13px}.sheet-result .line{font-size:12px}.sheet-result .line strong{font-size:16px}
  .sheet-balance{font-size:17px;align-items:flex-start}.sheet-balance output{font-size:24px}
  .sheet-method{font-size:10px;line-height:1.6}
  .sheet-footer .btn{font-size:10px;flex:1;padding:9px 6px}
  .menu-management{grid-template-columns:1fr;gap:14px}.menu-options{gap:14px}.qr-panel .pad{padding:18px}
}
@media print{.daily-sheet{max-width:100%;font-size:10px}.sheet-title .btn,.sheet-sync,.sheet-save,.sheet-method,.sheet-footer,.sheet-footnote{display:none!important}.sheet-section{break-inside:avoid;padding:10px;margin-bottom:8px;box-shadow:none}.sheet-section h2{font-size:16px}.sheet-table td{padding:4px 7px}.daily-sheet input{border:0;background:none;padding:2px;font-size:13px;height:auto}.sheet-expenses input{height:auto}.sheet-result{break-inside:avoid;color:#12332f;background:#f1f8f5}.sheet-result .line strong{color:#12332f}.sheet-result p{color:#53665d}}
.food>img{display:block;width:100%;height:100%;object-fit:contain}
.food svg>svg{width:418px;height:418px;overflow:hidden}

/* Aşama geçişi ve yönetici onaylı geri alma. */
.order-flow .ordercard[draggable="true"]{cursor:grab;position:relative}
.order-flow .ordercard[draggable="true"]:active{cursor:grabbing}
.ordercard.dragging{opacity:.34;border-style:dashed;border-color:#ed8e45}
.moving-order,.touch-order-ghost{position:fixed;z-index:10000;pointer-events:none;margin:0!important;box-shadow:0 18px 45px #123a3b35;border:1px solid #e88f4b;background:#fff;border-radius:9px}
.touch-order-ghost{opacity:.95}
.flow-lane{transition:background .18s,border-color .18s,box-shadow .18s}
.flow-lane.drop-allowed{border:2px dashed #549c8b;background:#e3f1eb}
.flow-lane.drop-back{border:2px dashed #dba468;background:#fff1e1}
.flow-lane.drop-target{box-shadow:inset 0 0 0 3px #ffffff,0 0 0 2px #398a78;background:#d0e9de}
.flow-instruction{display:flex;align-items:center;gap:7px;font-size:10px;color:#8a9b9e;margin:-3px 0 13px;line-height:1.6}
.flow-instruction svg{width:15px;height:15px;flex-shrink:0}
.undo-order-button{display:flex;align-items:center;justify-content:center;gap:5px;background:none;border:0;border-top:1px solid #edf0ef;color:#758a89;font-size:10px;width:100%;padding:8px 0 0;margin-top:8px;cursor:pointer}
.undo-order-button:hover{color:#c16a24}.undo-order-button svg{width:13px;height:13px}
.order-arrived{animation:order-land .7s ease-out}@keyframes order-land{0%{box-shadow:0 0 0 3px #5caa8a66}100%{box-shadow:0 1px 3px #263c3a09}}
.undo-requests{background:#fffaf1;border:1px solid #ead3af;border-radius:11px;margin-bottom:18px;padding:13px 16px}
.undo-request-title{display:flex;align-items:center;gap:7px;font-size:12px;color:#8c683c}.undo-request-title>span{padding:2px 7px;background:#eedfca;border-radius:10px;font-size:10px}.undo-request-title svg{width:17px;height:17px}
.undo-request-row{display:flex;justify-content:space-between;gap:13px;align-items:center;border-top:1px solid #ecdfcb;margin-top:11px;padding-top:11px;font-size:11px}.undo-request-row>div:first-child{display:flex;flex-wrap:wrap;gap:5px 9px}.undo-request-row small{flex-basis:100%;color:#9a866b;font-size:10px;line-height:1.6}.undo-request-row .btn{min-height:32px;font-size:10px;padding:7px 11px}
.undo-summary{padding:15px;background:#edf4f1;border:1px solid #d9e7df;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.undo-summary>span{display:flex;align-items:center;gap:10px;font-size:12px;color:#547769}
.professional-settings{display:grid;grid-template-columns:205px minmax(0,1fr);gap:24px;align-items:start}
.settings-navigation{position:sticky;top:20px;display:flex;flex-direction:column;gap:5px;padding-top:7px}
.settings-navigation>span{font-size:9px;color:#98a5aa;letter-spacing:1.5px;font-weight:700;padding:0 13px 10px}
.settings-navigation>button{display:flex;align-items:center;gap:10px;padding:13px;border:0;border-radius:8px;background:transparent;color:#698080;text-align:left;font-size:12px;font-weight:600;cursor:pointer}
.settings-navigation>button>svg{width:17px;height:17px;flex-shrink:0}.settings-navigation>button>svg:last-child{width:13px;margin-left:auto;opacity:0}
.settings-navigation>button.active{background:#e2eeea;color:#0e6255}.settings-navigation>button.active>svg:last-child{opacity:1}
.settings-nav-note{border-top:1px solid #e1e7e8;margin:24px 9px 0;padding-top:20px;font-size:10px;color:#97a5a4;line-height:1.8}.settings-nav-note>svg{color:#609687;width:17px;height:17px;display:block;margin-bottom:8px}.settings-nav-note strong{display:block;color:#728984;font-size:10px;margin-bottom:5px}
.settings-content{min-width:0}.settings-card{border:1px solid #e0e7e8;border-radius:13px;padding:24px;background:#fff;box-shadow:0 2px 5px #173d3d03}
.settings-card-head{display:flex;align-items:center;gap:12px;padding-bottom:21px;border-bottom:1px solid #edf0f0;margin-bottom:22px}.settings-symbol{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:11px;background:#e9f3ef;color:#2b7b68}.settings-symbol.orange{background:#fff1e5;color:#dc843c}.settings-symbol svg{width:21px;height:21px}.settings-card-head h2{font-size:18px;letter-spacing:-.5px}.settings-card-head p{font-size:11px;color:#9ba8aa;line-height:1.7;margin-top:5px}.settings-label{margin-left:auto;white-space:nowrap;font-size:9px;padding:5px 9px;background:#f1f5f3;color:#8b9c97;border-radius:5px}
.business-preview{display:flex;gap:13px;align-items:center;padding:19px;background:linear-gradient(110deg,#f0f6f3,#f9faf8);border:1px solid #e5ede7;border-radius:10px;margin-bottom:25px}.business-logo{display:grid;place-items:center;width:53px;height:53px;background:#fff;border:1px solid #e2ebe4;border-radius:12px}.business-logo img{width:23px;height:37px}.business-preview>div:nth-child(2){display:flex;flex-direction:column;gap:5px}.business-preview strong{font-size:20px;letter-spacing:-.6px;color:#215d4d}.business-preview span{font-size:11px;color:#94a28e}.business-preview>.tag{margin-left:auto;font-size:9px}
.settings-card .field{font-size:11px;color:#6c8284}.settings-card .field input{font-size:14px;padding:11px 12px;border-color:#dce5e4;background:#fcfdfc;height:43px;font-weight:550}.settings-form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;border-top:1px solid #edf1ef;padding-top:20px}.settings-form-foot>span{font-size:10px;color:#97a7a5}.settings-form-foot .btn{font-size:11px;padding:10px 14px}.settings-form-foot .error:empty{display:none}
.settings-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.settings-shortcuts>button{display:flex;align-items:center;text-align:left;gap:11px;padding:18px;border:1px solid #e1e8e5;border-radius:11px;background:#fff;cursor:pointer;color:#41685c}.settings-shortcuts>button>svg{flex-shrink:0}.settings-shortcuts>button>svg:last-child{width:14px;margin-left:auto;color:#9bb3a9}.settings-shortcuts strong{display:block;font-size:11px}.settings-shortcuts small{display:block;font-size:9px;color:#a0ada8;margin-top:5px;line-height:1.6}
.settings-category-tabs{display:flex;gap:6px;margin-bottom:17px;overflow:auto}.settings-category-tabs>button{font-size:11px;padding:8px 15px;background:#f7f9f8;border:1px solid #e4eae7;border-radius:7px;color:#8b9c96;cursor:pointer}.settings-category-tabs>button.active{background:#0b6253;color:white;border-color:#0b6253}
.settings-product-row{display:grid;grid-template-columns:minmax(130px,1.8fr) .9fr .7fr .8fr auto;gap:15px;align-items:center;border-bottom:1px solid #edf1ee;padding:13px 0}.settings-product-row:last-child{border:0}.settings-product-name{display:flex;align-items:center;gap:11px}.settings-product-name .food{width:48px;height:48px;flex-shrink:0}.settings-product-row strong{font-size:12px;display:block}.settings-product-row small{font-size:9px;display:block;color:#9eaaa4;line-height:1.6;margin-bottom:4px}.settings-product-row .btn{padding:8px;font-size:10px;min-height:32px}.settings-product-row .btn svg{width:13px;height:13px}
.settings-note{display:flex;align-items:flex-start;gap:8px;padding:13px;background:#f5f8f6;border-radius:8px;margin-top:18px;font-size:10px;color:#869a90;line-height:1.8}.settings-note>svg{width:15px;height:15px;flex-shrink:0;margin-top:2px}
.account-profile{display:flex;gap:13px;align-items:center;padding:17px;background:#f5f8f6;border-radius:9px;margin-bottom:8px}.account-profile .avatar{width:42px;height:42px}.account-profile strong{display:block;font-size:14px}.account-profile span{display:block;font-size:11px;color:#91a299;margin-top:6px}.account-profile .tag{margin-left:auto;font-size:9px;white-space:nowrap}
.settings-security-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 0;border-bottom:1px solid #edf1ee}.settings-security-row strong{font-size:12px}.settings-security-row p{font-size:10px;line-height:1.8;color:#96a59f;margin-top:6px}.settings-security-row .btn{font-size:10px;white-space:nowrap}
.permissions-summary{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:21px 0 4px}.permissions-summary strong{display:block;font-size:11px;color:#42685a}.permissions-summary span{display:block;font-size:10px;line-height:1.7;color:#97a69e;margin-top:5px}
.settings-export{display:flex;align-items:center;gap:17px;padding:20px;background:#f5f8f5;border-radius:10px}.settings-file-icon{color:#76a18b;display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}.settings-file-icon>svg{width:31px;height:31px}.settings-file-icon b{font-size:8px;letter-spacing:1px}.settings-export h3{font-size:13px}.settings-export p{font-size:10px;color:#829a8b;line-height:1.9;margin:7px 0}.settings-export small{font-size:9px;color:#a3b0a7;line-height:1.6;display:block}.settings-export .btn{margin-left:auto;flex-shrink:0;font-size:10px}.settings-history-title{font-size:13px;margin:27px 0 12px}.settings-audit>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1ee}.settings-audit strong{font-size:11px;display:block;font-weight:550}.settings-audit small{display:block;font-size:9px;color:#a0ada7;margin-top:4px}.audit-dot{width:7px;height:7px;border-radius:50%;background:#b5d3c5;flex-shrink:0}.settings-audit time{font-size:9px;color:#a5b1ab;margin-left:auto;white-space:nowrap}
@media(max-width:1190px){.professional-settings{grid-template-columns:175px minmax(0,1fr);gap:17px}.settings-card{padding:20px}.settings-product-row{gap:9px;grid-template-columns:minmax(120px,1.6fr) .8fr .6fr auto}.settings-product-row>div:nth-child(4){display:none}.settings-export{flex-wrap:wrap}.settings-export>div:nth-child(2){flex:1}.settings-shortcuts{grid-template-columns:1fr}.settings-form-foot>.btn{margin-left:auto}}
@media(max-width:800px){.professional-settings{display:block}.settings-navigation{position:static;display:flex;flex-direction:row;overflow:auto;gap:5px;margin-bottom:16px;padding:0 0 4px}.settings-navigation>span,.settings-navigation .settings-nav-note,.settings-navigation>button>svg:last-child{display:none}.settings-navigation>button{padding:10px 12px;font-size:10px;white-space:nowrap;background:#fff;border:1px solid #e0e8e4;gap:7px}.settings-navigation>button>svg{width:15px;height:15px}.settings-card{padding:17px;border-radius:11px}.settings-card-head{gap:9px;padding-bottom:15px;margin-bottom:17px}.settings-card-head h2{font-size:16px}.settings-card-head p{font-size:10px}.settings-label{display:none}.settings-symbol{width:35px;height:35px;border-radius:9px}.settings-symbol svg{width:18px;height:18px}.business-preview{padding:14px;gap:10px}.business-preview strong{font-size:17px}.business-preview>.tag{font-size:8px}.business-logo{width:41px;height:45px}.settings-card .fieldgrid{grid-template-columns:1fr}.settings-form-foot{margin-top:18px;padding-top:15px}.settings-form-foot>.btn{width:100%;justify-content:center}.settings-shortcuts{grid-template-columns:1fr;gap:10px}.settings-product-row{grid-template-columns:1fr 1fr auto;padding:14px 0;gap:11px}.settings-product-name{grid-column:1/-1}.settings-product-row>div:nth-child(4){display:none}.settings-product-row .food{width:43px;height:43px}.settings-security-row{align-items:flex-start;flex-wrap:wrap;gap:12px}.permissions-summary{gap:14px}.account-profile{padding:12px;gap:8px}.account-profile strong{font-size:12px}.account-profile span{font-size:9px}.account-profile .avatar{width:33px;height:33px}.account-profile .tag{font-size:8px}.settings-export{padding:14px;gap:11px}.settings-export .btn{width:100%;justify-content:center}.settings-audit time{font-size:8px}.undo-request-row{align-items:flex-start;flex-direction:column}.undo-requests{padding:12px}.flow-instruction{font-size:9px;margin:0 0 11px}.undo-order-button{font-size:11px;padding-top:10px;padding-bottom:3px}}
@media(prefers-reduced-motion:reduce){.order-arrived{animation:none}.flow-lane{transition:none}}

/* Masalar ve adisyon */
.sales-mode-tabs{display:flex;gap:6px;border-bottom:1px solid #e2e9e6;margin:-4px 0 21px;padding-bottom:10px}.sales-mode-tabs button{display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:9px 15px;color:#879d96;font-size:12px;font-weight:600;cursor:pointer;border-radius:7px}.sales-mode-tabs button.active{background:#e7f1ec;color:#236e5b}.sales-mode-tabs button>span{font-size:10px;background:#f5e8d8;color:#c88031;border-radius:10px;padding:2px 6px}.sales-mode-tabs svg{width:16px;height:16px}
.table-summary{display:flex;align-items:center;gap:23px;padding:14px 17px;border:1px solid #e0e9e4;background:white;border-radius:10px;margin-bottom:20px;font-size:11px;color:#8b9f96}.table-summary>span{display:flex;align-items:center;gap:7px}.table-summary b{color:#416b59}.table-summary>small{margin-left:auto;font-size:9px;color:#abb7b0}.table-new-summary>svg{width:14px;height:14px;color:#d2924a}.table-dot{width:7px;height:7px;background:#cddbd4;border-radius:50%}.table-dot.occupied{background:#4d9973}
.tables-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.dining-tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:13px}.dining-table{padding:15px;text-align:left;border:1px solid #e0e8e3;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;color:#355e4b;min-height:145px}.dining-table:hover{border-color:#a3c7b0;box-shadow:0 4px 11px #244d3010}.dining-table.occupied{background:#f3f9f3;border-color:#c8dfcb}.dining-table.selected{box-shadow:0 0 0 2px #3b8765;border-color:#3b8765}.dining-table.table-disabled{opacity:.6;background:#eff1ed}.dining-table-top{display:flex;align-items:center;gap:5px}.dining-table-top small{font-size:9px;color:#9aaba1}.table-state-dot{height:6px;width:6px;border-radius:50%;background:#c9d5ce}.occupied .table-state-dot{background:#55a779}.new-table-orders{font-size:8px;color:#c78436;border-radius:7px;background:#fff0db;padding:3px 5px;margin-left:auto}.dining-table-name{display:flex;align-items:center;gap:9px;padding:22px 0 20px}.dining-table-name svg{height:26px;width:26px;color:#9ebba7}.dining-table-name strong{font-size:20px;letter-spacing:-.7px}.dining-table-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.dining-table-bottom>span{font-size:9px;color:#a4b3a8}.dining-table-bottom b{font-size:15px;color:#4c8060}
.table-select-empty{border:1px dashed #cfdcd1;border-radius:13px;text-align:center;padding:70px 26px;color:#a3b7a4;background:#f6f9f4}.table-select-empty>svg{width:36px;height:36px}.table-select-empty h2{font-size:20px;color:#6f9275;margin:15px 0 9px}.table-select-empty p{font-size:11px;line-height:1.8}.table-select-empty>div{border-top:1px solid #e0e8da;margin-top:30px;padding-top:20px;font-size:10px;display:flex;gap:7px;justify-content:center;align-items:center}.table-select-empty>div svg{width:16px;height:16px}
.table-bill{background:#fff;border:1px solid #dce7df;border-radius:13px;overflow:hidden;position:sticky;top:15px}.table-bill-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:21px;background:#f2f7f0;border-bottom:1px solid #e2ebdd}.table-bill-heading .eyebrow{font-size:8px;color:#8fa882}.table-bill-heading h2{font-size:25px;letter-spacing:-.8px;margin:6px 0}.table-bill-heading p{font-size:9px;color:#a0af95}.table-bill-heading .iconbtn{font-size:23px;color:#9ab291;min-width:28px}.table-bill-orders{padding:0 18px;max-height:55vh;overflow:auto}.table-bill-order{padding:17px 0;border-bottom:1px solid #e8eee4}.table-bill-order:last-child{border:0}.table-bill-order-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;gap:10px}.table-bill-order-head strong{font-size:11px}.table-bill-order-head .tag{font-size:8px}.table-line{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;font-size:11px;margin:9px 0}.table-line strong{font-size:11px;white-space:nowrap}.table-line small{display:block;color:#c48642;font-size:9px;line-height:1.7;margin-top:4px}.table-order-note{font-size:10px;padding:8px;background:#fffaef;color:#b18f5a;border-radius:5px}.table-order-actions{gap:9px;margin-top:12px}.table-order-actions .btn{font-size:10px;min-height:31px;padding:7px 10px}.table-order-actions .buttonlink{font-size:9px}.table-served-note{font-size:9px;color:#84a17b}.table-bill-footer{padding:18px 20px;border-top:1px solid #e4ebdf}.table-bill-footer>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:11px;color:#9aae91}.table-bill-footer>div:first-child strong{font-size:24px;letter-spacing:-.7px;color:#4d7954}.table-bill-footer>.btn{justify-content:center;font-size:11px}.table-detail-links{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.table-detail-links .buttonlink{display:flex;gap:5px;align-items:center;font-size:9px}.table-detail-links svg{width:13px;height:13px}.table-empty-bill{text-align:center;padding:35px 12px;color:#afbea4}.table-empty-bill>svg{width:33px;height:33px}.table-empty-bill h3{font-size:14px;color:#849d74;margin-top:12px}.table-empty-bill p{font-size:10px;line-height:1.8;margin-top:8px}.table-qr-modal{text-align:center}.table-qr-modal p{font-size:12px;line-height:1.8;color:#8d9d8a;margin:12px 0}.table-qr-modal .actions{justify-content:center}.table-enable{display:flex;align-items:center;gap:8px;margin:20px 0;font-size:12px}.table-enable input{width:16px;height:16px}.table-payment-amount{padding:25px;background:#f1f7ee;border-radius:10px;text-align:center;margin-bottom:17px}.table-payment-amount span{display:block;font-size:11px;color:#a1b093}.table-payment-amount strong{display:block;font-size:35px;letter-spacing:-1px;color:#487b4d;margin-top:8px}
.order-product-line{margin-bottom:3px}.order-product-line small{display:block;color:#c18445;font-size:9px;line-height:1.6}.order-product-line small:last-child{margin-bottom:5px}
@media(max-width:1190px){.tables-workspace{grid-template-columns:minmax(0,1fr) 310px;gap:15px}.dining-tables-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.dining-table{padding:13px}.dining-table-name strong{font-size:18px}.table-summary{gap:14px}}
@media(max-width:800px){.tables-workspace{grid-template-columns:1fr}.table-select-empty{display:none}.dining-tables-grid{grid-template-columns:1fr 1fr;gap:11px}.dining-table{min-height:150px;padding:14px}.dining-table-name{padding:22px 0}.tables-workspace.has-selected .dining-tables-grid{display:none}.table-bill{position:static}.table-bill-orders{max-height:none}.table-summary{gap:12px;flex-wrap:wrap;padding:12px;font-size:10px}.table-summary>small{flex-basis:100%;margin-left:0;font-size:8px}.table-summary>span{gap:5px}.table-bill-heading p{font-size:10px}.table-line{font-size:12px}.table-line strong{font-size:12px}.table-line small{font-size:10px}.table-order-actions .btn{font-size:11px;min-height:37px}.table-bill-footer>.btn{min-height:43px}.sales-mode-tabs{margin-bottom:17px}.sales-mode-tabs button{font-size:11px}}
.order-flow .ordercard{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

/* Fiziksel masa yerleşimi: alanlar, mobilya planı ve düzenleme paneli. */
.floor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px;flex-wrap:wrap}.floor-area-tabs{display:flex;align-items:center;gap:5px;overflow:auto;max-width:100%;padding:2px}.floor-area-tabs>button{display:flex;align-items:center;gap:8px;background:transparent;border:0;border-radius:8px;padding:10px 15px;color:#8a9e96;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.floor-area-tabs>button>span{font-size:9px;background:#e9eeea;color:#95a79c;padding:3px 6px;border-radius:7px}.floor-area-tabs>button.active{background:#e4efe7;color:#467b53}.floor-area-tabs>button.active>span{background:#d1e3d1;color:#70996c}.floor-area-tabs .floor-add-area{font-size:21px;font-weight:400;padding:5px 13px;border:1px dashed #ccd9cf;color:#98ae99}.floor-toolbar-actions{display:flex;gap:9px;align-items:center}.floor-toolbar-actions .btn{font-size:10px;min-height:35px;padding:8px 13px}.floor-toolbar-actions .btn svg{width:15px;height:15px}.floor-view-toggle{display:flex;padding:3px;background:#e8eeea;border-radius:7px}.floor-view-toggle>button{padding:6px 11px;border:0;font-size:10px;color:#8fa396;background:transparent;border-radius:5px;cursor:pointer}.floor-view-toggle>button.active{background:#fff;color:#57845a;box-shadow:0 1px 4px #355c3812}
.floor-edit-banner{display:flex;align-items:center;gap:8px;background:#fff8eb;border:1px solid #eadfc8;color:#ae9367;border-radius:9px;font-size:10px;line-height:1.8;padding:10px 13px;margin-bottom:16px}.floor-edit-banner>svg{width:17px;height:17px;flex-shrink:0}.floor-edit-banner>b{font-weight:650}.floor-edit-banner>button{margin-left:auto;border:0;background:none;color:#b08247;font-size:10px;white-space:nowrap;cursor:pointer}
.floor-panel{border:1px solid #dce7df;border-radius:14px;background:#fff;overflow:hidden;min-width:0}.floor-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;border-bottom:1px solid #e8eee6}.floor-panel-heading .eyebrow{font-size:8px;letter-spacing:1.4px;color:#a0b09b}.floor-panel-heading h2{display:flex;align-items:center;gap:13px;font-size:23px;letter-spacing:-.7px;color:#4a7351;margin-top:5px}.floor-panel-heading h2>small{font-size:9px;letter-spacing:0;font-weight:400;color:#a4b29d}.floor-grid-state{font-size:8px;padding:6px 9px;border-radius:20px;background:#edf5e7;color:#8aab75;white-space:nowrap}.is-editing .floor-grid-state{background:#fff0d8;color:#c59854}
.floor-viewport{overflow:auto;padding:22px 18px;background:#f8faf6;min-height:400px;max-height:660px;scrollbar-width:thin;overscroll-behavior:contain}.floor-stage-wrap{position:relative;margin:auto}.floor-stage{position:absolute;left:0;top:0;transform-origin:0 0;isolation:isolate;background-color:#fafbf8;background-image:radial-gradient(#c9d7c4 1px,transparent 1px);background-size:20px 20px;border:2px solid #d8e3d2;border-radius:12px;box-shadow:inset 0 0 0 6px #f1f5ed}
.floor-node{position:absolute;border:0;background:none;outline-offset:7px;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.floor-node:focus-visible{outline:3px solid #daae67}.floor-table{z-index:2;overflow:visible;transition:filter .15s}.floor-table:hover{filter:brightness(.98)}.floor-table-surface{display:grid;place-items:center;width:100%;height:100%;background:#fff;border:2px solid #cfdcc8;border-radius:12px;box-shadow:0 3px 0 #e3eae0}.floor-table.round .floor-table-surface{border-radius:50%}.floor-table.rectangle .floor-table-surface{border-radius:11px}.floor-table-copy{display:flex;flex-direction:column;align-items:center;gap:5px;max-width:calc(100% - 10px)}.floor-table-copy>b{font-size:14px;letter-spacing:-.4px;color:#6c8b61;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-table-copy>small{font-size:9px;color:#afbea5}.floor-table-copy>strong{font-size:10px;font-weight:500;color:#a4b79a}.floor-chair{position:absolute;display:block;width:24px;height:8px;border:1.5px solid #c7d6bf;border-radius:4px;background:#edf3e7;z-index:-1;pointer-events:none}.floor-table.occupied .floor-table-surface{background:#e6f1df;border-color:#9fbd8f;box-shadow:0 3px 0 #c9dcc0}.floor-table.occupied .floor-table-copy>b{color:#4e7946}.floor-table.occupied .floor-table-copy>strong{font-size:13px;font-weight:700;color:#5e8b50}.floor-table.occupied .floor-chair{background:#c6dcbc;border-color:#99b88b}.floor-node.floor-selected .floor-table-surface{border-color:#3f885e;box-shadow:0 0 0 3px #65a67c30,0 4px 0 #c4d9bf}.floor-new-dot{position:absolute;top:-8px;right:-8px;font-size:10px;width:21px;height:21px;display:grid;place-items:center;background:#e8a249;color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #a57b4430}.floor-disabled{opacity:.4}
.floor-object{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dce5d6;border-radius:7px;background:#edf1e9;color:#a3b198;font-size:11px;font-weight:500;cursor:default}.floor-object svg{width:15px;height:15px}.floor-object.entrance{background:#faf3e6;border-style:dashed;border-color:#dbc99f;color:#b69d68}.floor-object.wall{background:#dfe6d9;border-color:#d5dece;border-radius:2px;font-size:8px;color:#a7b69c}.floor-object.wall svg{display:none}.floor-object.plant{border-radius:50%;background:radial-gradient(circle at 35% 35%,#dbe9ca,#b8cfa5);border:3px solid #e7eddf;color:#7e9f68}.floor-object.plant>span{display:none}.floor-object.plant>svg{width:18px;height:18px}.floor-object.label{background:none;border:1px dashed #dce6d2;color:#98ad87;font-size:12px}.is-editing .floor-node{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.is-editing .floor-node:active{cursor:grabbing}.is-editing .floor-selected{outline:2px dashed #d4ac65;outline-offset:7px}.floor-dragging{z-index:20!important;filter:drop-shadow(0 10px 10px #4d6f3b25)}
.floor-panel-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 15px;border-top:1px solid #e6ede1;font-size:9px;color:#a1b095}.floor-zoom{display:flex;align-items:center;gap:4px;flex-shrink:0}.floor-zoom>button{border:1px solid #dfe8d7;background:#fff;padding:5px 7px;min-width:25px;border-radius:5px;color:#95ac84;font-size:10px;cursor:pointer}.floor-zoom>button:first-child,.floor-zoom>button:nth-child(3){font-size:16px;padding:0 6px;height:25px}.floor-zoom>small{font-size:8px;min-width:28px;text-align:center;color:#9aad89}
.floor-inspector{border:1px solid #dce6d6;border-radius:13px;background:#fff;overflow:hidden;position:sticky;top:15px}.floor-inspector-head{padding:20px;background:#f2f7ed;border-bottom:1px solid #e2eadb}.floor-inspector-head .eyebrow{font-size:8px;color:#a7b69a}.floor-inspector-head h2{font-size:21px;letter-spacing:-.6px;color:#628452;margin:7px 0}.floor-inspector-head p{font-size:10px;line-height:1.8;color:#a0b08e}.floor-inspector-fields{padding:18px 20px 3px}.floor-inspector-fields label{font-size:10px;color:#8da27d;font-weight:600;display:block;margin-bottom:14px}.floor-inspector-fields input:not([type="checkbox"]),.floor-inspector-fields select{display:block;width:100%;margin-top:7px;padding:9px 10px;border:1px solid #dfe7d7;background:#fcfdf9;color:#6e8a5c;font-size:12px;border-radius:7px;min-width:0;box-shadow:none}.floor-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.floor-shape-buttons{display:flex;gap:5px;margin:2px 0 17px}.floor-shape-buttons>button{flex:1;padding:8px 4px;border:1px solid #e0e8d7;background:#fff;border-radius:6px;font-size:9px;color:#9bb08a;cursor:pointer}.floor-shape-buttons>button.active{background:#e7f2dc;border-color:#c3d8b2;color:#719857}.floor-rotation-row{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:17px}.floor-rotation-row>span{font-size:10px;color:#a5b394}.floor-rotation-row .btn{font-size:9px;padding:7px 8px;min-height:30px}.floor-rotation-row .btn svg{width:12px;height:12px}.floor-inspector-fields .floor-enabled{display:flex;align-items:center;gap:8px;font-size:11px}.floor-enabled input{accent-color:#84a872;width:14px;height:14px}.floor-remove-object{padding:8px 0;border:0;background:none;color:#c99c75;font-size:10px;cursor:pointer}.floor-add-elements{padding:20px;border-top:1px solid #edf1e8}.floor-add-elements h3{font-size:11px;color:#8eaa7b;margin-bottom:12px}.floor-add-elements>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.floor-add-elements button{padding:9px 7px;border:1px solid #e0e7d8;background:#fbfcf8;color:#9aae8a;border-radius:6px;font-size:10px;cursor:pointer}.floor-snap-note{margin:0 19px 20px;padding:12px;background:#f7f9f2;border-radius:7px;font-size:8px;color:#adbc9c;line-height:1.9}.floor-snap-note>svg{height:12px;width:12px;vertical-align:middle;margin-right:4px}.floor-inspector-illustration{text-align:center;color:#c2d2b5;display:flex;flex-direction:column;align-items:center;gap:15px;padding:35px 20px}.floor-inspector-illustration>svg{width:44px;height:44px}.floor-inspector-illustration>span{font-size:10px}
@media(max-width:1190px){.floor-toolbar-actions .btn{font-size:9px;padding:8px 10px}.floor-area-tabs>button{padding:9px 12px;font-size:11px}.floor-panel-heading{padding:15px}.floor-panel-heading h2{font-size:21px}.floor-panel-heading h2>small{font-size:8px}.floor-viewport{min-height:390px;padding:20px 18px}.floor-panel-bottom{flex-wrap:wrap;gap:9px}.floor-zoom{margin-left:auto}}
@media(max-width:800px){.floor-toolbar{gap:10px;margin-bottom:13px}.floor-area-tabs{width:100%}.floor-toolbar-actions{width:100%;justify-content:space-between}.floor-toolbar-actions .btn{font-size:10px}.floor-area-tabs>button{font-size:11px}.floor-edit-banner{font-size:9px;align-items:flex-start}.floor-edit-banner>button{font-size:9px}.floor-panel-heading h2{font-size:21px}.floor-panel-heading h2>small{font-size:9px}.floor-viewport{min-height:320px;max-height:620px;padding:16px 18px}.floor-panel-bottom{padding:11px 12px}.floor-panel-bottom>span{font-size:9px;line-height:1.7;max-width:65%}.floor-grid-state{font-size:8px}.tables-workspace.has-selected .floor-panel{display:none}.tables-workspace.editing-floor .floor-panel{display:block}.floor-inspector{position:static}.floor-inspector-head h2{font-size:20px}.floor-inspector-fields label{font-size:11px}.floor-inspector-fields input:not([type="checkbox"]),.floor-inspector-fields select{font-size:14px;padding:11px}.floor-add-elements button{font-size:11px;min-height:40px}.floor-toolbar:has([data-floor-save]){position:sticky;top:0;background:#f6f8f6;z-index:15;padding:10px 0;border-bottom:1px solid #dfe8d8}.floor-shape-buttons>button{min-height:37px;font-size:10px}}
.floor-table-copy>b{font-size:18px}.floor-table-copy>small{font-size:11px}.floor-table-copy>strong{font-size:12px}.floor-table.occupied .floor-table-copy>strong{font-size:15px}
@media(min-width:1024px) and (min-height:650px){
 .layout[data-page="tables"] main:has(.floor-panel){height:calc(100dvh - 73px);display:flex;flex-direction:column;gap:12px;padding:18px 20px;overflow:hidden}
 .layout[data-page="tables"] main:has(.floor-panel)>.pagehead{margin:0;flex-shrink:0}
 .layout[data-page="tables"] main:has(.floor-panel)>.table-summary{margin:0;padding:11px 15px;flex-shrink:0}
 .layout[data-page="tables"] main:has(.floor-panel)>.floor-toolbar{margin:0;flex-shrink:0}
 .layout[data-page="tables"] main:has(.floor-panel)>.floor-edit-banner{margin:0;flex-shrink:0;padding:8px 12px}
 .layout[data-page="tables"] main:has(.floor-panel)>.tables-workspace{flex:1;min-height:0;align-items:stretch}
 .layout[data-page="tables"] .floor-panel{display:flex;flex-direction:column;min-height:0}
 .layout[data-page="tables"] .floor-panel-heading{padding:11px 14px;flex-shrink:0}
 .layout[data-page="tables"] .floor-panel-heading h2{font-size:20px;margin-top:3px}
 .layout[data-page="tables"] .floor-viewport{flex:1;min-height:0;max-height:none;padding:12px 18px}
 .layout[data-page="tables"] .floor-panel-bottom{padding:9px 12px;flex-shrink:0;flex-wrap:nowrap}
 .layout[data-page="tables"] .floor-panel-bottom>span{font-size:8px}
 .layout[data-page="tables"] .table-bill,.layout[data-page="tables"] .floor-inspector{position:static;max-height:100%;overflow-y:auto;scrollbar-width:thin}
 .layout[data-page="tables"] .table-select-empty{padding:40px 23px;display:flex;flex-direction:column;align-items:center;justify-content:center}
}
@media(min-width:1024px) and (min-height:650px){
 .layout[data-page="tables"] main:has(.is-editing)>.pagehead,.layout[data-page="tables"] main:has(.is-editing)>.table-summary{display:none}
 .layout[data-page="tables"] main:has(.is-editing)>.floor-edit-banner{min-height:39px}
 .layout[data-page="tables"] .floor-panel-bottom{min-height:40px}
}
.floor-edit-banner>button{min-height:24px;padding:0}.floor-zoom>button{min-height:25px}.floor-area-tabs>button{min-height:37px}.floor-view-toggle>button{min-height:28px}.floor-shape-buttons>button{min-height:32px}
/* Table service operations and item-based receipts */
.table-management-actions{display:flex;gap:8px;padding:13px 20px;background:#fafcfb;border-bottom:1px solid #e5ece8;flex-wrap:wrap}.table-management-actions .btn{padding:9px 12px;font-size:11px}.table-group-banner{margin:12px 18px 0;padding:11px 13px;border-radius:9px;background:#e9f2ed;color:#2f7259;font-size:12px;font-weight:700}.table-group-banner svg{height:15px;width:15px;vertical-align:middle;margin-right:5px}.table-group-banner small{display:block;margin-top:5px;font-size:10px;font-weight:400}.table-line-paid{display:block;color:#31825d;font-size:10px;margin:0 0 8px}.table-payment-history{border-top:1px solid #e5ece8;margin-top:16px;padding-top:14px}.table-payment-history h3{font-size:12px;margin:0 0 8px}.table-receipt{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf0ee;font-size:12px}.table-receipt>div{flex:1;min-width:0}.table-receipt strong,.table-receipt small{display:block;overflow-wrap:anywhere}.table-receipt small{color:#84928b;font-size:10px;margin-top:4px}.table-receipt.voided{opacity:.55}.table-receipt.voided>b{text-decoration:line-through}.table-receipt .buttonlink{font-size:10px}.table-bill-footer{flex-shrink:0}
#modal:has(.split-payment){width:min(760px,calc(100vw - 24px));max-width:760px}.split-bill-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px;border-radius:12px;background:#eaf3ee;color:#144f40}.split-bill-summary span{font-size:10px;letter-spacing:1px}.split-bill-summary strong{display:block;font-size:30px;margin-top:6px;letter-spacing:-1px}.split-bill-summary .split-badge{font-size:10px;letter-spacing:0;padding:8px 10px;background:#fff;border-radius:7px}.split-instruction{margin:22px 0 14px}.split-instruction h3{font-size:18px;margin:0 0 7px}.split-instruction p{font-size:12px;color:#74857a;margin:0}.split-quick-actions{display:flex;gap:12px;align-items:center;margin-bottom:12px}.split-quick-actions .btn{font-size:11px;padding:9px 12px}.split-quick-actions .buttonlink{font-size:11px}.split-products{border:1px solid #e1e9e4;border-radius:10px;overflow:hidden}.split-product{display:grid;grid-template-columns:minmax(0,1fr) 110px 88px;gap:15px;align-items:center;padding:15px 17px;border-bottom:1px solid #e9eee9;transition:background .15s}.split-product:last-child{border-bottom:0}.split-product.chosen{background:#f1f8f2}.split-product>div:first-child strong{font-size:13px;display:block}.split-product small{display:block;font-size:10px;color:#7c8c83;margin-top:5px;line-height:1.6}.split-product .split-wait{color:#bc843a}.split-product.not-served{background:#fafaf7}.split-stepper{display:grid;grid-template-columns:31px 46px 31px;border:1px solid #d4dfd6;border-radius:7px;overflow:hidden;background:#fff;height:36px}.split-stepper button{border:0;background:#f2f6f2;color:#3b7152;font-size:18px;padding:0;cursor:pointer}.split-stepper input{min-width:0;width:100%;padding:0;text-align:center;border:0;border-radius:0;font-size:14px;appearance:textfield;-moz-appearance:textfield}.split-stepper input::-webkit-inner-spin-button{appearance:none}.split-line-amount{font-size:13px;text-align:right;white-space:nowrap}.split-person-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.split-person-grid .field small{font-size:9px;color:#87998b}.split-payment-total{margin:20px 0 10px;background:#075c51;color:#fff;border-radius:11px;padding:18px 20px}.split-payment-total>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.split-payment-total strong{font-size:27px;letter-spacing:-.7px}.split-payment-total span{font-size:13px}.split-payment-total p{font-size:11px;color:#c3ded3;border-top:1px solid #ffffff28;margin:14px 0 0;padding-top:12px;display:flex;justify-content:space-between;gap:12px}.split-payment .formactions{flex-wrap:wrap}.split-payment .formactions .primary{flex:1}.relocate-source{background:#edf4ed;border:1px solid #dbe7db;border-radius:10px;padding:18px;color:#2b644a}.relocate-source>span{font-size:10px;letter-spacing:1px}.relocate-source h3{font-size:23px;margin:8px 0}.relocate-preview{background:#fff6ea;border-radius:7px;padding:13px;font-size:13px;color:#9b672b}
@media(max-width:600px){#modal:has(.split-payment) .modalbody{padding:16px}#modal:has(.split-payment) .modalhead{padding:16px}#modal:has(.split-payment) .modalhead h2{font-size:16px}.split-bill-summary{padding:15px}.split-bill-summary strong{font-size:27px}.split-bill-summary .split-badge{max-width:112px;font-size:9px;line-height:1.6}.split-product{grid-template-columns:minmax(0,1fr) 102px;gap:10px;padding:13px 12px}.split-line-amount{grid-column:2;font-size:12px;margin-top:-3px}.split-product>div:first-child{grid-row:span 2}.split-stepper{grid-template-columns:29px 42px 29px;height:35px}.split-person-grid{grid-template-columns:1fr;gap:12px}.split-quick-actions{gap:8px}.split-quick-actions .btn,.split-quick-actions .buttonlink{font-size:10px}.split-payment .formactions .primary{font-size:12px}.split-payment-total{padding:16px}.split-payment-total strong{font-size:24px}.table-management-actions{padding:12px 16px}}
.table-payment-history summary{font-size:11px;font-weight:650;color:#40735b;cursor:pointer;padding:2px 0}.table-payment-history[open] summary{margin-bottom:8px}
@media(min-width:1024px) and (min-height:650px){.layout[data-page="tables"] .table-bill{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.layout[data-page="tables"] .table-bill-heading{padding:15px 18px;flex-shrink:0}.layout[data-page="tables"] .table-bill-heading h2{font-size:22px;margin:4px 0}.layout[data-page="tables"] .table-bill-content{min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin}.layout[data-page="tables"] .table-bill-orders{max-height:none;overflow:visible}.layout[data-page="tables"] .table-bill-footer{padding:14px 18px;background:#fff;max-height:52%;overflow:auto;scrollbar-width:thin;box-shadow:0 -4px 12px #23472e05}.layout[data-page="tables"] .table-bill-footer>div:first-child{margin-bottom:9px}.layout[data-page="tables"] .table-bill-footer>.hint{font-size:9px;line-height:1.6;margin:0 0 9px}.layout[data-page="tables"] .table-bill-footer>.btn{min-height:38px;padding:9px}.layout[data-page="tables"] .table-detail-links{margin-top:10px}.layout[data-page="tables"] .table-payment-history{margin-top:10px;padding-top:9px}}
#modal:has(.split-payment) .modalhead{position:sticky;top:0;z-index:4;background:#fff}.split-person-grid{align-items:end}.split-person-grid .field small{display:inline;margin:0 0 0 5px}.split-payment .formactions{position:sticky;bottom:-16px;background:#fff;padding-top:10px}
@media(min-width:601px){#modal:has(.split-payment) .modalhead{padding:13px 20px}#modal:has(.split-payment) .modalbody{padding:16px 20px}.split-bill-summary{padding:12px 16px}.split-bill-summary strong{font-size:25px;margin-top:3px}.split-instruction{margin:14px 0 9px}.split-instruction h3{font-size:16px;margin-bottom:5px}.split-instruction p{font-size:11px}.split-quick-actions{margin-bottom:9px}.split-quick-actions .btn{padding:7px 10px;min-height:32px}.split-product{padding:11px 15px}.split-product small{margin-top:3px}.split-person-grid{margin-top:14px}.split-person-grid input,.split-person-grid select{min-height:40px;padding:10px 12px}.split-payment-total{margin:14px 0 8px;padding:12px 16px}.split-payment-total strong{font-size:25px}.split-payment-total p{margin-top:10px;padding-top:8px;font-size:10px}.split-payment>.hint{font-size:9px;line-height:1.6;margin:8px 0}.split-payment .formactions{margin-top:12px;padding-top:0}.split-payment .formactions .btn{min-height:39px;padding:10px 13px}}
@media(max-width:600px){.split-bill-summary{padding:12px}.split-bill-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.split-bill-summary>div>span{font-size:9px;letter-spacing:.7px}.split-bill-summary strong{font-size:25px;margin:0}.split-bill-summary .split-badge{display:none}.split-instruction{margin:12px 0 9px}.split-instruction h3{display:none}.split-instruction p{font-size:11px}.split-product{grid-template-columns:minmax(0,1fr) 132px;gap:4px 8px;padding:10px 12px}.split-stepper{grid-template-columns:43px 44px 43px;height:41px}.split-stepper input{font-size:16px}.split-person-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;align-items:end}.split-person-grid .field{font-size:10px}.split-person-grid .field small{font-size:8px;display:block;margin:3px 0 0}.split-person-grid input,.split-person-grid select{font-size:16px;padding:10px;min-height:44px}.split-payment-total{margin:14px 0 8px;padding:14px}.split-payment-total p{font-size:10px;margin-top:10px;padding-top:9px}.split-payment>.hint{font-size:9px;line-height:1.6}.split-payment .formactions{margin-top:12px}.split-payment .formactions .btn{padding:11px 12px;min-height:44px}}

.floor-shared-dot{position:absolute;left:-7px;top:-8px;border:2px solid #fff;border-radius:7px;background:#597b93;color:#fff;font-size:14px;line-height:19px;width:24px;text-align:center;box-shadow:0 2px 5px #3c5a7120}
.payment-mode-tabs{display:flex;gap:5px;padding:4px;background:#eef3ef;border-radius:8px;margin-bottom:14px}.payment-mode-tabs button{flex:1;border:0;background:transparent;padding:10px 12px;border-radius:6px;color:#708579;font-size:12px;font-weight:600;cursor:pointer}.payment-mode-tabs button.active{background:#fff;color:#195e48;box-shadow:0 2px 6px #234c2f10}.equal-bill-link{display:block;width:100%;margin-top:10px;text-align:center;font-size:11px}.equal-bill-link:disabled{opacity:.45;cursor:not-allowed}.equal-people-field{margin:20px 0 15px}.equal-people-field input{font-size:22px;font-weight:650;color:#225e47}.equal-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto}.equal-preview>div{padding:13px;border:1px solid #dce7df;border-radius:8px;background:#f7faf6}.equal-preview span{display:block;font-size:11px;color:#7e9283}.equal-preview strong{display:block;font-size:20px;color:#2c694c;margin-top:6px}.equal-create>.hint{margin:16px 0;font-size:11px;line-height:1.8}#modal:has(.equal-overview){max-width:760px;width:calc(100vw - 24px)}#modal:has(.equal-overview) .modalhead{position:sticky;top:0;background:#fff;z-index:3}.equal-plan-summary{display:grid;grid-template-columns:1fr 1fr;background:#edf5ee;border-radius:12px;padding:20px;gap:20px}.equal-plan-summary>div+div{border-left:1px solid #d3e4d7;padding-left:20px}.equal-plan-summary span{font-size:9px;letter-spacing:1px;color:#7b9582}.equal-plan-summary strong{display:block;font-size:30px;letter-spacing:-.8px;color:#185c44;margin:8px 0}.equal-plan-summary small{font-size:11px;color:#8ba08d}.equal-progress{height:5px;background:#e5ede5;border-radius:10px;margin:17px 0 22px;overflow:hidden}.equal-progress i{display:block;height:100%;background:#38946b;transition:width .3s}.equal-shares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:440px;overflow:auto;padding:1px}.equal-share{padding:17px 14px;border:1px solid #e1e7df;border-radius:11px;background:#fff}.equal-share.paid{background:#f1f8f0;border-color:#c9e0c9}.equal-share-title{display:flex;align-items:center;gap:7px;font-size:12px;color:#4e6c57}.equal-share-title>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f1f3ed;color:#99a98c;font-size:9px}.equal-share-title>b{color:#399362;margin-left:auto}.equal-share-amount{display:block;font-size:28px;letter-spacing:-.7px;color:#224e3a;margin:15px 0}.equal-share-actions{display:flex;gap:6px}.equal-share-actions .btn{flex:1;min-height:36px;padding:8px 9px;font-size:11px;justify-content:center}.equal-paid-tag{font-size:11px;color:#338b5a;padding:10px 0;display:block}.equal-plan-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e4ebe3;padding-top:15px;margin-top:18px}.equal-plan-footer .buttonlink{font-size:11px}.equal-plan-footer button:disabled{opacity:.4;cursor:not-allowed}.equal-overview>.hint{font-size:10px;line-height:1.8;margin:15px 0 0}.equal-extra{font-size:11px;line-height:1.8;color:#a6773c;background:#fff6e8;padding:12px;border-radius:8px;margin-top:15px}.equal-pay-form .table-payment-amount p{font-size:11px;line-height:1.7;margin-top:10px;color:#869d80}
@media(max-width:600px){.payment-mode-tabs button{min-height:42px;font-size:11px}.equal-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.equal-plan-summary{padding:15px;gap:10px}.equal-plan-summary>div+div{padding-left:13px}.equal-plan-summary strong{font-size:25px}.equal-plan-summary span{font-size:8px;letter-spacing:.5px}.equal-plan-summary small{font-size:9px}.equal-shares{grid-template-columns:1fr;max-height:440px;gap:9px}.equal-share{display:grid;grid-template-columns:1fr 135px;align-items:center;gap:5px 12px;padding:12px 14px}.equal-share-title{grid-column:1}.equal-share-amount{grid-column:1;font-size:26px;margin:3px 0}.equal-share-actions{grid-column:2;grid-row:1 / span 2;flex-direction:column;gap:6px}.equal-share-actions .btn{min-height:42px;font-size:12px}.equal-paid-tag{text-align:center}.equal-plan-footer .buttonlink{font-size:10px;min-height:35px}.equal-plan-footer{align-items:center}.equal-pay-form input,.equal-pay-form select{font-size:16px}.equal-progress{margin:13px 0 15px}}
/* Shared payment review: explicit optional tip, readable totals, consistent controls. */
#modal:has(.payment-review){width:min(920px,calc(100vw - 24px));max-width:920px;max-height:94dvh;border-color:#d5e1da;border-radius:18px}#modal:has(.payment-review) .modalhead{position:sticky;top:0;z-index:5;background:#fff;padding:18px 24px}#modal:has(.payment-review) .modalhead h2{font-size:18px;color:#183f33}#modal:has(.payment-review) .modalbody{padding:22px 24px 24px}.payment-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:stretch}.payment-review-main{min-width:0}.payment-context{margin-bottom:20px}.payment-review-step{font-size:9px;letter-spacing:1.3px;color:#789284;font-weight:650}.payment-context h3{font-size:24px;letter-spacing:-.7px;margin:8px 0;color:#164736}.payment-context p{font-size:11px;line-height:1.7;color:#7a8e83;margin:0}.gratuity-section{border:1px solid #dce7df;border-radius:13px;padding:18px;background:#fbfdfa}.gratuity-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px}.gratuity-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d8e8dd;border-radius:10px;background:#eef6ef;color:#438966;font-size:23px;flex-shrink:0}.gratuity-heading h3{font-size:15px;color:#244f3c;margin:0 0 5px;letter-spacing:-.25px}.gratuity-heading p{font-size:10px;color:#819589;margin:0}.optional-label{margin-left:auto;font-size:8px;line-height:1.6;color:#8a9c8d;padding:4px 6px;background:#f0f4ed;border-radius:5px;white-space:nowrap}.gratuity-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.gratuity-presets button{padding:11px 5px;border:1px solid #dbe5dd;border-radius:8px;background:#fff;min-height:61px;color:#526b58;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.gratuity-presets button strong,.gratuity-presets button small{display:block}.gratuity-presets button strong{font-size:11px;white-space:nowrap}.gratuity-presets button small{font-size:10px;color:#8b9d8d;margin-top:6px}.gratuity-presets button.active{border-color:#478b67;background:#eaf4ec;box-shadow:0 0 0 1px #478b6720;color:#20613f}.gratuity-presets button.active small{color:#538566}.gratuity-presets button:focus-visible,.review-methods button:focus-visible{outline:3px solid #efb578;outline-offset:2px}.gratuity-custom{display:block;font-size:10px;font-weight:600;color:#627b69;margin-top:16px}.gratuity-custom>div{position:relative;margin-top:7px;display:flex;align-items:center}.gratuity-custom>div>span{position:absolute;left:12px;color:#8aa08f;font-size:15px}.gratuity-custom input{width:100%;padding:11px 34px;border:1px solid #d8e4dc;border-radius:8px;background:#fff;font-size:16px;min-height:44px;color:#244b36}.gratuity-custom>div>small{position:absolute;right:12px;font-size:11px;color:#90a091}.payment-review-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end;margin-top:20px}.payment-review-fields .field{font-size:10px;color:#5b7565}.payment-review-fields .field small{display:inline;margin-left:4px;font-size:8px}.payment-review-fields input[type=text]{font-size:14px;min-height:43px;padding:11px 12px;border-radius:8px;border-color:#d7e2d9}.review-methods{border:0;min-width:0;padding:0;display:flex;gap:6px}.review-methods legend{font-size:10px;font-weight:550;color:#5b7565;margin-bottom:7px}.review-methods button{display:flex;align-items:center;justify-content:center;flex:1;gap:6px;min-height:43px;padding:8px 9px;background:#fff;border:1px solid #d7e2da;border-radius:8px;color:#7c8e80;font-size:11px;cursor:pointer}.review-methods svg{width:15px;height:15px;flex-shrink:0}.review-methods button.active{border-color:#39765a;background:#eef5ee;color:#286044;box-shadow:0 0 0 1px #39765a15}.payment-review-summary{border:1px solid #d6e5da;border-radius:13px;background:linear-gradient(155deg,#f1f7ef,#eaf2e8);padding:22px 19px;display:flex;flex-direction:column;min-width:0}.payment-summary-eyebrow{font-size:9px;letter-spacing:1.3px;color:#779078;font-weight:650}.payment-review-summary h3{font-size:23px;letter-spacing:-.6px;color:#245235;margin:8px 0 23px}.payment-summary-lines>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;font-size:11px;color:#6d836e}.payment-summary-lines b{font-size:14px;color:#325b3d;white-space:nowrap}.payment-summary-lines small{display:block;font-size:8px;color:#94a78e;margin-top:4px}.payment-summary-total{border-top:1px solid #ccddca;margin-top:12px;padding-top:18px}.payment-summary-total>span{display:block;font-size:11px;color:#607d61}.payment-summary-total>strong{display:block;font-size:36px;font-weight:750;letter-spacing:-1.2px;color:#105c39;margin:8px 0}.payment-summary-total>small{display:block;font-size:10px;color:#7f9678}.payment-summary-note{font-size:9px;line-height:1.8;color:#8b9f83;margin:18px 0 20px}.payment-review-summary .error{font-size:11px}.review-confirm{width:100%;min-height:45px;padding:12px 10px;justify-content:center;gap:7px;font-size:12px;margin-top:auto;box-shadow:0 4px 10px #d2681817}.review-confirm svg{width:16px;height:16px}.review-back{border:0;background:none;color:#7f9278;font-size:10px;padding:13px 6px 0;cursor:pointer;min-height:34px}.receipt-tip{display:block;font-size:9px;color:#4b8e69;font-weight:450;margin-top:5px;white-space:normal}.equal-paid-tag small{display:block;font-size:9px;line-height:1.7;color:#6b9277;margin-top:4px}.equal-plan-summary span{color:#647d6c;font-size:10px}.equal-share-title{color:#355c44}.equal-paid-tag{color:#2d7750}.equal-share-amount{color:#195236}.equal-share.paid{background:#eef7ed}.equal-share-actions .btn{min-height:41px}.payment-mode-tabs button{min-height:40px}.split-product small{color:#6e8477}.table-line-paid{color:#2a7950}
@media(max-width:760px){.payment-review-grid{grid-template-columns:1fr;gap:17px}.payment-review-summary{padding:17px}.payment-review-summary h3{margin:6px 0 10px}.payment-summary-total{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding-top:13px;margin-top:10px}.payment-summary-total>strong{grid-column:2;grid-row:1 / span 2;font-size:30px;margin:0}.payment-summary-total>small{grid-column:1}.payment-summary-note{margin:12px 0;font-size:9px}.payment-summary-lines>div{margin:8px 0}.payment-summary-lines small{display:inline;font-size:8px;margin-left:3px}.review-confirm{margin-top:8px}.payment-context{margin-bottom:14px}.payment-context h3{font-size:21px}.payment-context p{display:none}.payment-review-fields{margin-top:15px}}
@media(max-width:600px){#modal:has(.payment-review){border-radius:14px;max-height:95dvh}#modal:has(.payment-review) .modalhead{padding:15px 17px}#modal:has(.payment-review) .modalhead h2{font-size:16px}#modal:has(.payment-review) .modalbody{padding:15px 16px 17px}.payment-review-grid{gap:15px}.payment-review-step{font-size:8px}.payment-context h3{font-size:20px;margin:6px 0}.gratuity-section{padding:13px}.gratuity-heading{gap:8px;margin-bottom:13px}.gratuity-heading h3{font-size:13px}.gratuity-heading p{font-size:9px}.gratuity-icon{width:28px;height:28px;font-size:20px;border-radius:8px}.optional-label{display:none}.gratuity-presets{gap:5px}.gratuity-presets button{min-height:56px;padding:10px 3px}.gratuity-presets button strong{font-size:10px}.gratuity-presets button small{font-size:9px;margin-top:5px}.gratuity-custom{margin-top:13px}.payment-review-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.payment-review-fields .field{font-size:9px}.payment-review-fields .field small{display:none}.payment-review-fields input[type=text]{font-size:16px;padding:10px;min-height:44px}.review-methods legend{font-size:9px}.review-methods button{font-size:10px;gap:4px;padding:8px 6px;min-height:44px}.review-methods svg{width:12px;height:12px}.payment-review-summary{padding:14px 15px}.payment-review-summary h3{display:none}.payment-summary-lines{margin-top:7px}.payment-summary-lines>div{font-size:10px;margin:8px 0}.payment-summary-lines b{font-size:12px}.payment-summary-eyebrow{font-size:8px}.payment-summary-total>span{font-size:10px}.payment-summary-total>strong{font-size:29px}.payment-summary-total>small{font-size:9px}.payment-summary-note{font-size:8px;margin:10px 0}.review-confirm{font-size:12px;min-height:45px}.review-back{font-size:10px;padding-top:11px;min-height:30px}}
.sheet-tip-notice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 17px;background:#edf5e9;border:1px solid #d8e8d2;border-radius:11px;margin:13px 0;color:#557447;font-size:12px}.sheet-tip-notice strong{margin-left:auto;font-size:19px}.sheet-tip-notice small{flex-basis:100%;font-size:10px;line-height:1.7;color:#849777}
@media(max-width:600px){.payment-review-fields:has([data-review-method="online"]){grid-template-columns:1fr;gap:12px}.review-methods:has([data-review-method="online"]) button{min-width:0;white-space:nowrap}.payment-review-fields:has([data-review-method="online"]) .field input{margin-top:5px}.payment-review-fields:has([data-review-method="online"]) .field{font-size:10px}}

.tip-validation{display:block;font-size:10px;color:#a24c35;line-height:1.6;margin-top:7px}.tip-validation:empty{display:none}

/* Staff tip pool: separate entitlement and actual payment. */
.tip-eyebrow{font-size:10px;letter-spacing:1.2px;color:#537773;font-weight:750;display:block;margin-bottom:7px}
.tip-staff .panelhead{flex-wrap:wrap;gap:16px}.tip-staff-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:0 20px;border-radius:12px;background:#eaf5f1;padding:20px;gap:15px}.tip-staff-metrics small{display:block;color:#536d69}.tip-staff-metrics strong{display:block;font-size:26px;color:#075951;margin-top:8px}.tip-staff-metrics em{font-size:13px;font-style:normal}.tip-person-grid{padding:0 20px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tip-person{border:1px solid #dce8e4;border-radius:12px;padding:16px;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center}.tip-person h3{margin:0 0 4px;font-size:15px}.tip-person small{display:block;font-size:11px;color:#617671}.tip-person>strong{font-size:23px;color:#075951}.tip-person>.btn{justify-self:end}.tip-history{border-top:1px solid #e4ece8}.tip-history summary{padding:18px 20px;cursor:pointer;font-weight:650}.tip-staff-alert{margin:0 20px 16px;background:#fff2df;border:1px solid #f1ce9c;padding:12px;border-radius:9px;font-size:12px;color:#8b5011}.tip-recipient-list{display:grid;gap:8px;margin:20px 0}.tip-recipient-list label{padding:14px;border:1px solid #dce8e4;border-radius:9px;display:flex;align-items:center;gap:12px}.tip-recipient-list input{width:19px;height:19px;accent-color:#075951}.tip-payout-summary{background:#eaf5f1;padding:20px;border-radius:12px;display:grid;gap:8px;margin-bottom:20px}.tip-payout-summary strong{font-size:32px;color:#075951}.tip-payout-summary span{font-size:12px;color:#617671}
@media(max-width:650px){.tip-staff-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 12px;padding:16px}.tip-staff-metrics strong{font-size:23px}.tip-person-grid{grid-template-columns:1fr;padding:0 12px 12px}.tip-staff .panelhead .btn{width:100%}.tip-staff-alert{margin-left:12px;margin-right:12px}.tip-staff .panelhead h2{font-size:20px}}

.tip-report-mobile{display:none}@media(max-width:650px){.tip-report-table{display:none}.tip-report-mobile{display:grid;gap:10px;padding:12px}.tip-report-mobile article{border:1px solid #dce8e4;border-radius:12px;padding:14px}.tip-report-mobile h3{margin:0 0 14px;font-size:15px}.tip-report-mobile article>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tip-report-mobile span{font-size:11px;color:#617671}.tip-report-mobile strong{display:block;color:#075951;font-size:17px;margin-top:5px;overflow-wrap:anywhere}.tip-report-mobile .btn{margin-top:14px;width:100%}}

/* Period and employee filters for gratuity receivables. */
.tip-period .panelhead{align-items:flex-start;gap:16px;flex-wrap:wrap}.tip-period .panelhead p{font-size:12px;color:#69807c;margin:8px 0 0}.tip-period form{padding:0 20px 20px;border-bottom:1px solid #e4ece8}.tip-period-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tip-period-presets button{border:1px solid #dae6e2;background:#fff;border-radius:8px;padding:10px 18px;color:#46635e;font:inherit;font-size:12px;cursor:pointer}.tip-period-presets button[aria-pressed=true]{background:#075951;border-color:#075951;color:#fff}.tip-period-fields{display:grid;grid-template-columns:1fr 1fr 1.25fr auto;gap:12px;align-items:end}.tip-period-fields label{display:grid;gap:7px;color:#526d67;font-size:12px;font-weight:650;min-width:0}.tip-period-fields input,.tip-period-fields select{width:100%;min-width:0;max-width:100%;height:43px;padding:9px 11px;border:1px solid #d3dfdc;border-radius:8px;background:#fff;color:#183d37;font:inherit}.tip-period-caption{padding:20px;display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#46635e;flex-wrap:wrap}.tip-period .tip-staff-metrics{margin-bottom:20px}.tip-period-table th{white-space:normal}.tip-due-cell{color:#075951;background:#f1f8f5}.tip-period-mobile{display:none}.tip-daily-operations>summary{padding:18px 20px;font-weight:650;cursor:pointer;color:#305e56}.tip-daily-operations>.tip-staff{margin:0;border:0;border-top:1px solid #e4ece8;box-shadow:none;border-radius:0}.tip-period .error{margin:16px}.tip-period-content{min-height:100px}
@media(max-width:760px){.tip-period-fields{grid-template-columns:1fr 1fr}.tip-period-fields .btn{width:100%;min-height:43px}.tip-period-table{display:none}.tip-period-mobile{display:grid;gap:12px;padding:0 12px 12px}.tip-period-mobile article{border:1px solid #dce8e4;border-radius:12px;padding:15px}.tip-period-mobile h3{font-size:16px;margin:0 0 15px}.tip-period-mobile article>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tip-period-mobile span{font-size:11px;color:#617671;border-radius:8px;padding:8px}.tip-period-mobile strong{display:block;color:#075951;font-size:19px;margin-top:6px;overflow-wrap:anywhere}.tip-period .tip-staff-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 12px 20px;padding:15px}.tip-period .tip-staff-metrics strong{font-size:23px}.tip-period form{padding:0 12px 16px}.tip-period-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tip-period-presets button{padding:10px 4px;font-size:11px}.tip-period-fields input[type=date]{font-size:12px}.tip-period .panelhead h2{font-size:20px}}
@media print{.tip-period-presets,.tip-period-fields .btn,[data-tip-period-csv]{display:none!important}}

/* Unified monthly staff account. */
.payroll-panel .panelhead{gap:16px;align-items:flex-start;flex-wrap:wrap}.payroll-panel .panelhead p{font-size:12px;color:#69807c;margin:8px 0 0}.payroll-panel form#payroll-filters{padding:0 20px 20px;display:grid;grid-template-columns:1fr 1.3fr auto;gap:12px;align-items:end;border-bottom:1px solid #e4ece8}.payroll-panel form#payroll-filters label{display:grid;gap:7px;font-size:12px;font-weight:650;color:#526d67;min-width:0}.payroll-panel form#payroll-filters input,.payroll-panel form#payroll-filters select{min-width:0;width:100%;height:43px;padding:9px 11px;font:inherit;border:1px solid #d3dfdc;border-radius:8px;background:#fff;color:#183d37}.payroll-panel #payroll-filter-note{grid-column:1/-1;margin:0}.payroll-caption{padding:20px;display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#46635e}.payroll-panel .tip-staff-metrics{margin-bottom:20px}.payroll-panel .tip-staff-metrics strong{font-size:25px;overflow-wrap:anywhere}.payroll-panel .tip-staff-metrics strong+small{font-size:10px;margin-top:5px}.payroll-notice{margin:0 20px 15px;padding:12px 14px;border-radius:8px;background:#fff5e6;color:#80531c;font-size:12px}.payroll-table td{vertical-align:top}.payroll-table td .line{display:flex;gap:12px;justify-content:space-between;padding:4px 0;border:0;font-size:11px}.payroll-table td .line strong{font-size:12px;white-space:nowrap}.payroll-table th{white-space:normal}.payroll-row-actions{display:grid;gap:8px;justify-items:start}.payroll-row-actions button{font-size:11px;text-align:left}.payroll-due{font-size:20px;color:#075951;white-space:nowrap}.payroll-secondary>summary,.payroll-movements>summary,.payroll-unassigned>summary{padding:18px 20px;cursor:pointer;font-weight:650;color:#305e56}.payroll-secondary>.tip-staff{margin:0;border:0;border-top:1px solid #e4ece8;box-shadow:none}.payroll-secondary>.employeegrid{padding:20px}.payroll-secondary>.helptext{padding:0 20px 20px}.payroll-mobile{display:none}.payroll-detail-heading{display:flex;gap:12px;align-items:center;margin-bottom:22px}.payroll-detail-heading h3,.payroll-detail-heading p{margin:0}.payroll-detail-heading p{font-size:12px;color:#69807c;margin-top:6px}.payroll-detail-heading>strong{margin-left:auto;font-size:25px;color:#075951}.payroll-detail-heading small{display:block;font-size:11px;font-weight:400}.payroll-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.payroll-detail-grid section{padding:15px;border:1px solid #dce8e4;border-radius:10px}.payroll-detail-grid h3{margin:0 0 12px}.payroll-detail-grid .line{font-size:12px}.payroll-report-link{text-align:right;margin-bottom:12px}
@media(max-width:760px){.payroll-table{display:none}.payroll-mobile{display:grid;gap:12px;padding:0 12px 15px}.payroll-mobile article{border:1px solid #dce8e4;border-radius:12px;padding:16px}.payroll-person-heading{display:flex;gap:12px;align-items:center}.payroll-person-heading h3{font-size:17px;margin:0 0 5px}.payroll-person-heading small{font-size:11px;color:#69807c}.payroll-mobile-sums{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0;background:#f3f8f6;border-radius:8px;padding:12px}.payroll-mobile-sums small{font-size:11px;color:#69807c}.payroll-mobile-sums strong{display:block;font-size:20px;color:#075951;margin-top:6px;overflow-wrap:anywhere}.payroll-paid-lines .line{font-size:12px;padding:7px 0}.payroll-person-balance{margin:12px 0 16px;padding:12px;background:#eaf5f1;border-radius:9px;display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:12px;color:#075951}.payroll-person-balance small{display:block;font-size:10px;margin-top:5px}.payroll-person-balance>strong{font-size:22px;overflow-wrap:anywhere}.payroll-row-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payroll-row-actions button{font-size:11px}.payroll-panel form#payroll-filters{grid-template-columns:1fr 1fr;padding:0 12px 16px}.payroll-panel form#payroll-filters .btn{grid-column:1/-1;width:100%}.payroll-panel .tip-staff-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 12px 16px;padding:15px}.payroll-panel .tip-staff-metrics strong{font-size:23px}.payroll-notice{margin-left:12px;margin-right:12px}.payroll-detail-grid{grid-template-columns:1fr}.payroll-detail-heading{flex-wrap:wrap}.payroll-panel .panelhead h2{font-size:20px}}
@media print{#payroll-filters .btn,[data-payroll-csv],.payroll-row-actions,.payroll-report-link{display:none!important}}

/* Attendance, leave and automatic monthly earnings. */
.attendance-toolbar{display:flex;gap:10px;flex-wrap:wrap;padding:0 20px 16px}.attendance-month-totals{margin:0 20px 18px;padding:14px;border:1px solid #dce8e4;border-radius:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attendance-month-totals span{font-size:11px;color:#617671}.attendance-month-totals strong{display:block;color:#075951;margin-top:6px;font-size:15px}.attendance-brief{display:grid;gap:6px;font-size:11px;color:#617671}.attendance-brief span{display:flex;gap:8px;justify-content:space-between}.attendance-brief strong{color:#183d37;white-space:nowrap}.attendance-brief small{font-size:10px}.attendance-week{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 18px}.attendance-week label{display:flex;align-items:center;gap:6px;border:1px solid #dce8e4;border-radius:8px;padding:9px;font-size:12px}.attendance-week input{width:16px;height:16px;accent-color:#075951}.attendance-formula{padding:15px;border-radius:10px;background:#eef6f3;color:#315e54;font-size:12px;line-height:1.6;margin:16px 0}.attendance-formula p{margin:8px 0 0}.attendance-records>summary{padding:16px 20px;font-weight:650;cursor:pointer;color:#305e56;border-top:1px solid #e4ece8}.payroll-row-actions .tag{font-size:9px}.payroll-table table{min-width:830px}.payroll-table .attendance-brief{min-width:125px}.payroll-mobile .attendance-brief{border:1px solid #e0e9e5;border-radius:9px;padding:12px;margin-bottom:12px}
@media(max-width:760px){.attendance-toolbar{padding:0 12px 14px}.attendance-toolbar .btn{flex:1;font-size:11px;padding:10px}.attendance-month-totals{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 12px 15px}.payroll-row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-row-actions .tag{grid-column:1/-1}.attendance-week label{padding:8px;font-size:11px}}

.payroll-table .attendance-brief{margin-top:10px}.payroll-table td{padding-left:12px;padding-right:12px}

@media(max-width:600px){.attendance-form .fieldgrid{grid-template-columns:minmax(0,1fr)}.attendance-form .field{min-width:0}.attendance-form input,.attendance-form select{min-width:0;max-width:100%}}

/* Staff phone access and approval inbox. */
.portal-request-grid{padding:0 20px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-request-grid article{border:1px solid #e0e9e4;border-radius:12px;padding:18px;background:#fcfdfc}.portal-request-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-request-grid h3{font-size:13px;margin:16px 0 8px}.portal-request-grid p{font-size:12px;line-height:1.6;color:#62786e;overflow-wrap:anywhere}.portal-request-actions{display:flex;gap:10px;margin-top:16px}.portal-request-actions>.btn{flex:1}.portal-qr-box{display:flex;flex-direction:column;align-items:center;gap:14px;border:1px solid #dce8e2;border-radius:14px;padding:20px;margin:20px 0;background:#f8fbf9}.portal-qr-box svg{display:block;width:220px;height:220px;max-width:100%}.portal-qr-box.disabled{opacity:.6}.portal-rotate{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:12px}.portal-rotate input{width:18px;height:18px;accent-color:#075951}@media(max-width:760px){.portal-request-grid{grid-template-columns:minmax(0,1fr);padding:0 12px 14px}.portal-request-head{flex-wrap:wrap}.portal-qr-box{padding:16px}.portal-request-actions>.btn{min-height:44px}}

/* Shift adherence and daily presence. */
.shift-monitor #monitor-filters{padding:0 20px 20px;display:flex;align-items:end;gap:10px;flex-wrap:wrap}.shift-monitor #monitor-filters label{display:grid;gap:7px;flex:1;min-width:130px;font-size:11px;color:#6c8176}.shift-monitor input,.shift-monitor select{width:100%;min-width:0}.monitor-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;background:#f5f9f6;border-block:1px solid #e1eae4;font-size:12px}.monitor-caption small{color:#7a8f84;font-size:10px}.monitor-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:20px}.monitor-metrics>button{background:#f4f8f5;border:1px solid #dde9e1;border-radius:11px;padding:14px 10px;text-align:left;color:#315d50;cursor:pointer}.monitor-metrics small{font-size:10px;display:block}.monitor-metrics strong{display:block;font-size:25px;margin-top:10px}.monitor-list-caption{display:flex;justify-content:space-between;align-items:center;padding:0 20px 14px;font-size:12px}.monitor-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px}.monitor-cards article{border:1px solid #e0e9e4;border-radius:12px;padding:16px;min-width:0}.monitor-cards article>header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.monitor-cards header strong{font-size:14px}.monitor-cards header small{display:block;color:#809388;font-size:10px;margin-top:5px}.monitor-cards header button{font-size:10px}.monitor-plan{display:flex;justify-content:space-between;gap:8px;padding:15px 0;border-bottom:1px solid #e8eee9;margin-bottom:14px;font-size:10px;color:#7c8f83}.monitor-plan strong{color:#325849;font-size:11px}.monitor-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.monitor-times small{display:block;color:#839589;font-size:10px}.monitor-times strong{display:block;margin-top:6px;font-size:17px;color:#285846}.monitor-flags{display:flex;flex-wrap:wrap;gap:6px}.monitor-flags .tag{white-space:normal;font-size:9px}.monitor-cards .empty{grid-column:1/-1}@media(max-width:1000px){.monitor-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.shift-monitor #monitor-filters{padding:0 12px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.shift-monitor #monitor-filters label{min-width:0}.shift-monitor #monitor-filters label:nth-child(3){grid-column:1/-1}.shift-monitor #monitor-filters input,.shift-monitor #monitor-filters select{font-size:13px}.monitor-caption{padding:13px 12px}.monitor-metrics{padding:14px 12px;gap:7px}.monitor-metrics>button{padding:13px 8px;min-height:76px}.monitor-metrics small{font-size:9px}.monitor-metrics strong{font-size:22px;margin-top:7px}.monitor-list-caption{padding:0 12px 14px}.monitor-cards{grid-template-columns:minmax(0,1fr);padding:0 12px 14px}.monitor-cards article{padding:16px}.monitor-times strong{font-size:20px}.monitor-flags .tag{font-size:10px}.shift-monitor .panelhead .actions{display:flex;gap:8px;flex-wrap:wrap}.shift-monitor .panelhead .actions>.btn{font-size:10px}}

.monitor-metrics>button[aria-pressed="true"]{background:#0a5b51;border-color:#0a5b51;color:#fff}.monitor-metrics>button:focus-visible{outline:3px solid #f59a44;outline-offset:3px}
.weekly-panel #weekly-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:0 20px 18px}.weekly-panel label{display:grid;gap:7px;font-size:11px;color:#6e817b;min-width:150px}.weekly-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;background:#f4f8f6;border-block:1px solid #e0eae5}.weekly-nav strong{font-size:12px}.weekly-scroll{overflow:auto;padding:16px}.weekly-grid{display:grid;grid-template-columns:130px repeat(7,minmax(100px,1fr));min-width:830px;gap:1px;background:#e1ebe6;border:1px solid #e1ebe6;border-radius:12px;overflow:hidden}.weekly-head{background:#ecf3ef;padding:14px 8px;font-size:10px;font-weight:700}.weekly-employee{background:#fff;padding:18px 10px}.weekly-employee small{display:block;font-size:10px;color:#7d8f86;margin-top:6px}.weekly-cell{background:#fff;padding:8px;min-height:120px;display:flex;flex-direction:column;gap:7px}.weekly-shift{display:block;width:100%;text-align:left;background:#e6f3ed;color:#155b4c;border:1px solid #c6dfd3;border-radius:8px;padding:10px 6px;cursor:pointer}.weekly-shift strong{font-size:11px;display:block}.weekly-shift small{display:block;font-size:9px;margin-top:6px;line-height:1.5}.weekly-shift.rest{background:#f4eee2;color:#97642c;border-color:#e8dbc1}.weekly-empty{font-size:10px;color:#8d9d95;padding:10px 0}.weekly-add{background:none;border:1px dashed #cbdcd2;border-radius:6px;color:#5f7d6d;font-size:10px;padding:7px;cursor:pointer;margin-top:auto}.weekly-leave{font-size:9px;line-height:1.5;color:#8e6428}.weekly-mobile-day{display:none}.weekly-grid .is-today{background:#f2faf5}@media(max-width:600px){.weekly-panel #weekly-filters{padding:0 12px 14px;display:grid;grid-template-columns:1fr 1fr}.weekly-panel label{min-width:0}.weekly-panel input,.weekly-panel select{min-width:0;width:100%;font-size:12px}.weekly-nav{padding:12px;gap:6px}.weekly-nav .btn{font-size:10px;padding:9px}.weekly-nav strong{text-align:center;font-size:10px}.weekly-scroll{padding:12px}.weekly-grid{display:flex;flex-direction:column;min-width:0;background:#fff;gap:0}.weekly-head{display:none}.weekly-employee{background:#e9f2ed;padding:14px}.weekly-cell{min-height:0;padding:12px;display:grid;grid-template-columns:1fr;gap:8px;border-top:1px solid #e4ece7}.weekly-mobile-day{display:block;color:#607e6d;font-weight:700}.weekly-add{margin-top:0}.weekly-shift strong{font-size:14px}}

.weekly-shift strong{white-space:nowrap}
.week-copy-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.week-copy-summary>span{background:#edf6f0;border:1px solid #d8e9de;border-radius:10px;padding:14px;font-size:11px;color:#6a8174}.week-copy-summary strong{display:block;margin-top:8px;color:#14584a;font-size:12px}.week-copy-rows{max-height:330px;overflow:auto;border:1px solid #e0eae4;border-radius:12px;margin:16px 0}.week-copy-row{display:flex;align-items:start;gap:12px;padding:14px;border-top:1px solid #e5eee8;cursor:pointer}.week-copy-row:first-child{border-top:0}.week-copy-row input{width:18px;height:18px;margin:3px 0 0;flex-shrink:0;accent-color:#075951}.week-copy-row strong,.week-copy-row b,.week-copy-row small{display:block}.week-copy-row strong{font-size:13px}.week-copy-row small{font-size:10px;color:#7a8f82;line-height:1.6;margin-top:5px}.week-copy-row b{font-size:12px;margin-top:7px;color:#165c4a}.week-copy-row.skipped{background:#faf7f2;cursor:default}.week-copy-row.skipped small:last-child{color:#9b713c}@media(max-width:600px){.week-copy-summary{grid-template-columns:1fr}.week-copy-rows{max-height:280px}.weekly-panel .panelhead>.actions{flex-wrap:wrap;gap:7px}.weekly-panel .panelhead>.actions .btn{font-size:10px}}
/* Compact monthly staff ledger. */
.payroll-panel .panelhead{padding:16px 18px;align-items:center}.payroll-panel .panelhead h2{font-size:18px}.payroll-panel .panelhead p{font-size:11px;margin-top:4px}.payroll-panel .tip-eyebrow{font-size:9px}.payroll-panel #payroll-filters{padding:0 18px 12px;gap:9px;grid-template-columns:160px minmax(160px,260px) auto;justify-content:start}.payroll-panel #payroll-filters label{font-size:10px;gap:5px}.payroll-panel #payroll-filters input,.payroll-panel #payroll-filters select{height:35px;padding:7px 9px;font-size:12px}.payroll-panel .btn{min-height:34px;padding:8px 12px;font-size:11px}.payroll-panel .payroll-caption{padding:10px 18px;font-size:11px}.payroll-panel .tip-staff-metrics{margin:0 18px 12px;padding:12px 14px;gap:14px;border-radius:9px;background:#edf5f2}.payroll-panel .tip-staff-metrics strong{font-size:21px;margin-top:5px}.payroll-panel .tip-staff-metrics small{font-size:10px}.payroll-panel .attendance-toolbar{padding:0 18px 10px;gap:7px}.payroll-panel .attendance-month-totals{margin:0 18px 12px;padding:10px 12px;gap:10px;background:#fafcfb;border-radius:8px}.payroll-panel .attendance-month-totals span{font-size:10px}.payroll-panel .attendance-month-totals strong{display:inline;margin-left:8px;font-size:12px}.payroll-table table{min-width:760px;width:100%;table-layout:fixed}.payroll-table th:nth-child(1){width:29%}.payroll-table th:nth-child(2){width:20%}.payroll-table th:nth-child(3){width:17%}.payroll-table th:nth-child(4){width:23%}.payroll-table th:nth-child(5){width:11%}.payroll-table th{padding:10px 12px;font-size:10px}.payroll-table td{padding:13px 12px;font-size:12px}.payroll-table td>small{font-size:10px;line-height:1.5;margin-top:4px}.payroll-table .line{gap:8px!important;font-size:10px!important;padding:2px 0!important}.payroll-table .line strong{font-size:11px!important}.payroll-table .payroll-due{font-size:18px}.payroll-action-trigger{white-space:nowrap;padding:7px 8px!important;font-size:10px!important}.payroll-attendance-detail{margin-top:7px}.payroll-attendance-detail>summary{font-size:10px;color:#476e60;cursor:pointer;line-height:1.6}.payroll-attendance-detail .attendance-brief{margin-top:8px}.payroll-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payroll-menu-actions .buttonlink{border:1px solid #dbe7e0;border-radius:9px;background:#f5faf7;text-align:left;padding:14px;font-size:12px;color:#245c4c;min-height:46px}.payroll-menu-actions .tag{grid-column:1/-1;justify-self:start}.payroll-menu-actions button:focus-visible{outline:3px solid #f5a35a}.payroll-panel .payroll-movements>summary,.payroll-panel .payroll-unassigned>summary,.payroll-panel .attendance-records>summary{padding:12px 18px;font-size:11px}@media(max-width:760px){.payroll-panel #payroll-filters{grid-template-columns:1fr 1fr;padding:0 12px 12px}.payroll-panel #payroll-filters .btn{grid-column:1/-1}.payroll-panel .tip-staff-metrics{margin:0 12px 12px;padding:12px;gap:12px}.payroll-panel .tip-staff-metrics strong{font-size:19px}.payroll-panel .attendance-toolbar{padding:0 12px 10px}.payroll-panel .attendance-month-totals{margin:0 12px 12px;grid-template-columns:1fr 1fr}.payroll-panel .attendance-month-totals strong{display:block;margin:4px 0 0}.payroll-mobile article{padding:13px}.payroll-person-heading h3{font-size:15px}.payroll-mobile-sums{margin:10px 0;padding:10px}.payroll-mobile-sums strong{font-size:17px}.payroll-mobile .attendance-brief{padding:9px;font-size:10px;gap:4px;margin-bottom:10px}.payroll-paid-lines .line{padding:4px 0;font-size:11px}.payroll-person-balance{margin:10px 0;padding:10px}.payroll-person-balance>strong{font-size:18px}.payroll-mobile .payroll-action-trigger{width:100%;text-align:center}.payroll-panel .panelhead p{max-width:230px}}
.sheet-bread-reference{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;padding:15px;background:#eaf5ef;border:1px solid #c9e0d3;border-radius:11px;color:#185d4c}.sheet-bread-reference small{display:block;font-size:11px;color:#637e6e}.sheet-bread-reference strong{display:block;font-size:23px;margin-top:6px}.sheet-bread-reference p{grid-column:1/-1;margin:0;font-size:10px;line-height:1.6;color:#557769}.sheet-bread-reference p:last-child{border-top:1px solid #d5e6dc;padding-top:8px}@media(max-width:600px){.sheet-bread-reference{padding:12px;gap:10px}.sheet-bread-reference strong{font-size:20px}.sheet-bread-reference small{font-size:10px}}
.sheet-reference-rule{margin:0 0 16px;font-size:12px;color:#447466}.sheet-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sheet-balance-grid>div{padding:14px;background:#fff;border:1px solid #d0e3d8;border-radius:10px}.sheet-balance-grid small,.sheet-balance-grid span{display:block;font-size:10px;color:#668474;line-height:1.5}.sheet-balance-grid strong{display:block;font-size:22px;color:#075951;margin:8px 0}.sheet-reference-difference{display:grid;grid-template-columns:1fr auto;gap:6px;padding:15px;margin-top:12px;border:1px solid #e5cfa8;background:#fff5e7;border-radius:10px;color:#966022}.sheet-reference-difference>span{font-size:13px;font-weight:700}.sheet-reference-difference strong{font-size:23px}.sheet-reference-difference small{grid-column:1/-1;font-size:10px}.sheet-recipe-settings{margin-top:16px;font-size:11px;color:#71877d}.sheet-recipe-settings summary{font-size:11px;cursor:pointer}.sheet-recipe-settings .sheet-loss{margin-top:10px}@media(max-width:600px){.sheet-balance-grid{grid-template-columns:1fr 1fr;gap:8px}.sheet-balance-grid>div{padding:12px}.sheet-balance-grid strong{font-size:20px}.sheet-reference-difference strong{font-size:21px}}
/* Compact application frame and touch POS. */
html,body,#app{height:100%;min-height:0}body:has(.layout){overflow:hidden}.layout{height:100dvh;min-height:0;max-width:none;grid-template-columns:210px minmax(0,1fr)}.layout .sidebar{height:100dvh;padding:18px 10px 10px;min-width:0;overflow:hidden}.layout .brand{margin-bottom:18px}.layout .brand strong{font-size:23px}.layout .branch{margin-bottom:14px}.layout .nav>button{padding:10px 12px;min-height:40px;font-size:11px}.layout .workspace{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.layout .topbar{height:54px;min-height:54px;padding:0 16px;gap:12px}.layout .topbar .searchbox{max-width:440px}.layout .topbar .searchbox input{height:36px;font-size:12px}.shell-menu-toggle{width:40px;min-height:40px;flex-shrink:0;border:1px solid #d7e4dd;border-radius:9px;background:#f3f8f5;color:#075951;font-size:23px;cursor:pointer}.layout.nav-collapsed{grid-template-columns:0 minmax(0,1fr)}.layout.nav-collapsed .sidebar{display:none}.layout main#main{flex:1;min-height:0;overflow:auto;padding:16px 18px;overscroll-behavior:contain}.layout .pagehead{margin-bottom:14px;gap:10px}.layout .pagehead h1{font-size:23px}.layout .pagehead .sub{font-size:11px;margin-top:5px}.layout .panelhead{padding:14px 16px}.layout .panelhead h2{font-size:16px}.layout .pad{padding:16px}.layout .metrics{gap:10px;margin-bottom:14px}.layout .metric{padding:16px;min-height:80px}.layout .metric strong{font-size:23px}.layout .spacer{margin-top:14px}.layout .filters{gap:8px;margin-bottom:12px}.layout table th{padding:10px 12px;font-size:10px}.layout table td{padding:11px 12px;font-size:12px}.layout .btn{min-height:38px;padding:9px 13px;font-size:11px}.layout .tablewrap{overflow:auto;overscroll-behavior:contain}.layout .sidebar .nav{flex:1}.layout .sideuser{margin-top:10px}.layout[data-page="pos"] main#main{overflow:hidden;padding:12px 16px}.touch-pos{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.pos-command{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}.pos-command h1{font-size:23px;margin:3px 0 0}.pos-command .btn{min-height:44px;padding:10px 18px;font-size:12px}.touch-pos-body.posgrid{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(300px,350px);align-items:stretch;gap:14px}.pos-products{display:flex;flex-direction:column;min-height:0;min-width:0}.pos-products .filters{flex-shrink:0;display:flex;gap:8px;margin:0 0 10px}.pos-products .filters button{min-height:44px;min-width:90px;padding:10px 18px;font-size:14px}.touch-pos .productgrid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:12px;align-content:stretch}.touch-pos .product{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;height:100%;padding:12px;overflow:hidden}.touch-pos .product .food{display:block;width:100%;height:100%;min-height:0;margin:0 0 8px;aspect-ratio:auto;max-height:none}.touch-pos .product .food svg,.touch-pos .product .food img{width:100%;height:100%;object-fit:contain;max-height:100%}.touch-pos .product-info{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center;padding-top:8px}.touch-pos .product strong{font-size:15px}.touch-pos .product b{font-size:21px;margin:0;white-space:nowrap}.touch-pos .product small{font-size:10px;grid-column:1/-1;margin:0}.touch-pos .product .plus{width:34px;height:34px;font-size:24px}.touch-pos .product:active{transform:scale(.98)}.touch-pos .cartpanel{position:static;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.touch-pos .cartpanel .panelhead{padding:15px;flex-shrink:0}.touch-pos .cartpanel h2{font-size:17px}.touch-cart-lines{flex:1;min-height:0;overflow:auto;padding:0 14px}.touch-pos .cartline{gap:8px;padding:12px 0;grid-template-columns:minmax(0,1fr) auto auto;display:grid;align-items:center}.touch-pos .cartline strong{font-size:12px}.touch-pos .cartline small{font-size:10px}.touch-pos .stepper button{width:38px;height:40px;font-size:21px}.touch-pos .stepper b{min-width:25px;font-size:14px}.touch-pos .cartempty{display:grid;place-content:center;min-height:120px;height:100%;font-size:12px;padding:18px}.touch-checkout{padding:14px;border-top:1px solid #e3ece6;display:grid;gap:10px;flex-shrink:0;text-align:left}.touch-checkout .carttotal{margin:0;padding:13px;font-size:13px}.touch-checkout .carttotal strong{font-size:26px}.touch-checkout .payment{margin:0;gap:7px}.touch-checkout .payment button{min-height:46px;font-size:14px}.touch-checkout .btn{min-height:49px;font-size:13px;margin:0}.touch-checkout .btn:last-child{min-height:42px;font-size:11px}.module-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;flex-shrink:0}.module-tabs button{background:#fff;border:1px solid #d5e3db;border-radius:8px;padding:10px 15px;min-height:40px;color:#537564;font-size:12px;cursor:pointer}.module-tabs button.active{background:#075951;color:#fff;border-color:#075951}.compact-staff{height:100%;display:flex;flex-direction:column;min-height:0}.staff-module-body{flex:1;min-height:0;overflow:auto;padding-bottom:6px}.staff-module-body>.panel{margin-top:0}.ledger-page{height:100%;display:flex;flex-direction:column;min-height:0}.ledger-toolbar{display:flex;align-items:end;gap:14px;margin-bottom:12px;flex-shrink:0}.ledger-toolbar label{display:grid;font-size:11px;color:#607b6c;gap:6px}.ledger-toolbar select{padding:10px;min-height:40px;border:1px solid #d5e2da;border-radius:8px;background:white}.ledger-toolbar .ledger-archive{display:flex;align-items:center;gap:7px;min-height:40px}.ledger-list{flex:1;min-height:0;overflow:auto}.ledger-actions{display:flex;gap:6px;flex-wrap:wrap}.ledger-actions .btn{min-height:40px;font-size:10px;padding:8px 11px}.ledger-list table{min-width:800px}.ledger-list td{vertical-align:top}.ledger-edit-lines{max-height:300px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.ledger-edit-lines label{display:grid;grid-template-columns:1fr 76px;border:1px solid #dce8df;padding:10px;border-radius:8px;font-size:12px;align-items:center}.ledger-edit-lines small{font-size:10px;grid-column:1}.ledger-edit-lines input{grid-column:2;grid-row:1/3;width:76px;min-height:42px;font-size:16px;text-align:center;border:1px solid #b9d7c8;border-radius:7px}.layout[data-page="dashboard"] .dashboard-grid{gap:14px}.layout[data-page="orders"] .order-flow,.layout[data-page="kitchen"] .order-flow{height:calc(100dvh - 205px);min-height:0}.layout .flow-lane{min-height:0}.layout .flow-cards{overflow:auto;min-height:0}.layout[data-page="tables"] main#main:has(.floor-panel){height:auto;padding:14px 16px;gap:10px}.layout[data-page="tables"] .floor-panel{min-height:0}.layout[data-page="tables"] .floor-viewport{min-height:0}.layout[data-page="tables"] .tables-workspace{min-height:0;flex:1}.layout[data-page="tables"] .floor-panel-heading h2{font-size:18px}
@media(max-width:900px){.layout,.layout.nav-open,.layout.nav-collapsed{grid-template-columns:minmax(0,1fr)}.layout .sidebar{display:none}.layout.nav-open .sidebar{display:flex;position:fixed;width:230px;left:0;top:54px;height:calc(100dvh - 54px);z-index:70;box-shadow:10px 0 30px #14382a35}.layout .topbar{gap:8px;padding:0 12px}.layout .searchbox{display:none}.layout .mobilebrand{display:flex}.layout .mobilebrand img{width:24px}.layout .topright{margin-left:auto}.layout main#main{padding:12px;min-height:0}.layout .mobile-bottom{position:static;height:61px;min-height:61px;flex-shrink:0}.touch-pos-body.posgrid{grid-template-columns:minmax(0,1fr) 290px}.touch-pos .productgrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.touch-pos .product strong{font-size:12px}.touch-pos .product b{font-size:16px}.touch-pos .product .plus{width:27px;height:27px}.touch-pos .cartline{grid-template-columns:1fr auto}.touch-pos .cartline>strong{grid-column:1/-1;text-align:right}.touch-pos .cartline .stepper button{width:32px}.touch-checkout .btn{font-size:12px}.touch-pos .product-info{display:block}.touch-pos .product-info b{display:block;margin-top:3px}.pos-command h1{font-size:19px}.pos-command .btn{min-height:40px;padding:8px 10px;font-size:10px}.pos-command .tip-eyebrow{font-size:8px}.ledger-toolbar{flex-wrap:wrap;gap:8px}.module-tabs{gap:5px}.module-tabs button{font-size:10px;padding:8px 11px;min-height:38px}}
@media(max-width:600px){.layout[data-page="pos"] main#main{padding:9px}.touch-pos{gap:8px}.pos-command{align-items:start;gap:6px}.pos-command .actions{gap:5px;flex-wrap:nowrap}.pos-command .btn{font-size:9px;padding:7px;min-height:38px}.pos-command .btn svg{display:none}.pos-command h1{font-size:18px;white-space:nowrap}.touch-pos-body.posgrid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,.9fr);gap:8px}.pos-products .filters{gap:6px;margin-bottom:7px}.pos-products .filters button{font-size:12px;min-width:0;padding:7px 13px;min-height:36px}.touch-pos .productgrid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px}.touch-pos .product{padding:6px;border-radius:8px}.touch-pos .product .food{margin:0;min-height:0}.touch-pos .product strong{font-size:10px;line-height:1.2}.touch-pos .product b{font-size:13px;margin-top:2px}.touch-pos .product small{display:none}.touch-pos .product .plus{width:22px;height:22px;right:5px;top:5px;font-size:18px}.touch-pos .product-info{padding-top:4px}.touch-pos .cartpanel .panelhead{padding:8px 10px}.touch-pos .cartpanel h2{font-size:13px}.touch-pos .cartpanel .panelhead small{font-size:10px}.touch-cart-lines{padding:0 10px}.touch-pos .cartline{display:grid;grid-template-columns:1fr auto auto;padding:5px 0}.touch-pos .cartline>strong{grid-column:auto;font-size:10px}.touch-pos .cartline>div strong{font-size:10px}.touch-pos .cartline small{display:none}.touch-pos .stepper button{height:32px;width:32px;font-size:18px}.touch-pos .cartempty{min-height:28px;padding:8px;font-size:10px}.touch-pos .cartempty svg{display:none}.touch-checkout{padding:8px;gap:6px;display:grid;grid-template-columns:1fr 1fr}.touch-checkout .carttotal{grid-column:1/-1;padding:7px 10px;font-size:11px}.touch-checkout .carttotal strong{font-size:19px}.touch-checkout .payment{grid-column:1/-1}.touch-checkout .payment button{min-height:34px;font-size:12px}.touch-checkout .btn{min-height:38px;font-size:10px;padding:7px}.touch-checkout .btn:last-child{min-height:38px;font-size:9px}.touch-checkout .btn svg{display:none}.touch-pos .cartline .stepper b{font-size:12px;min-width:18px}.ledger-edit-lines{grid-template-columns:1fr}.layout .pagehead h1{font-size:20px}.layout .metrics{grid-template-columns:1fr 1fr}.layout .compact-staff .pagehead .sub{font-size:10px}.layout .staff-module-body .panelhead{padding:12px}.layout .staff-module-body .panelhead h2{font-size:16px}}
@media(max-height:650px) and (min-width:901px){.layout .topbar{height:48px;min-height:48px}.layout main#main{padding:10px 14px}.pos-command h1{font-size:20px}.touch-pos{gap:8px}.touch-checkout{gap:7px;padding:10px}.touch-checkout .btn{min-height:42px}.touch-checkout .payment button{min-height:40px}.touch-pos .product .product-info strong{font-size:12px}.touch-pos .product .product-info b{font-size:17px}.layout .pagehead h1{font-size:20px}.layout .metric{min-height:65px;padding:12px}.layout[data-page="tables"] main:has(.floor-panel){display:flex;flex-direction:column;overflow:hidden}.layout[data-page="tables"] .floor-panel{display:flex;flex-direction:column}.layout[data-page="tables"] .floor-viewport{flex:1}}
.layout .workspace{grid-column:2}.layout .sidebar{grid-column:1;grid-row:1}.layout .workspace{grid-row:1}@media(max-width:900px){.layout .workspace{grid-column:1}}
/* Module sections retain form values while the visible pane changes. */
.module-compact{display:flex;flex-direction:column;overflow:hidden!important;gap:10px}.module-compact>.pagehead,.module-compact>.metrics,.module-compact>.filters,.module-compact>.module-tabs{flex-shrink:0;margin:0}.module-pane-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.module-pane[hidden]{display:none!important}.module-pane>.spacer{margin-top:0}.module-pane>.panel{margin-bottom:10px}.module-pane>details.panel{padding:12px}.compact-pane-tabs{margin:0 0 10px;flex-shrink:0}.module-compact>.module-tabs{margin:0}.module-pane>.metrics{margin:0 0 12px}.compact-closing{overflow:hidden!important}.compact-closing>.daily-sheet{height:100%;display:flex;flex-direction:column;min-height:0;margin:auto}.compact-closing .sheet-title{flex-shrink:0;margin:0 0 6px}.compact-closing .sheet-title h1{font-size:25px}.compact-closing .sheet-title p{margin:4px 0;font-size:12px}.compact-closing .sheet-sync{flex-shrink:0;margin:0 0 8px;padding:8px 12px}.compact-closing #daily-sheet-form{flex:1;min-height:0;display:flex;flex-direction:column}.compact-closing .sheet-footer{flex-shrink:0;margin:8px 0 0;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.compact-closing .sheet-footer .sheet-save{width:auto;margin:0;font-size:13px;padding:10px 14px;min-height:40px}.compact-closing .sheet-section{padding:14px;margin:0 0 10px}.compact-closing .sheet-section h2{font-size:18px;margin:0 0 12px}.compact-closing .sheet-section input{height:40px;font-size:16px;padding:7px 10px}.compact-closing .sheet-sales td{padding:7px}.compact-closing .sheet-tip-notice{padding:6px;margin-bottom:8px}.compact-closing .sheet-meat{gap:12px}.compact-closing .sheet-footer .btn{font-size:12px}.module-compact>.payroll-report-link{margin:0;align-self:flex-end}.module-compact .menu-management{margin-top:0}.compact-closing .sheet-result{margin:0;padding:16px}.compact-closing .sheet-grand{margin:0 0 8px}.compact-closing .sheet-reference-rule{font-size:12px}
@media(max-width:600px){.compact-closing .sheet-title h1{font-size:21px}.compact-closing .sheet-footer{gap:5px}.compact-closing .sheet-footer .btn{font-size:10px;padding:8px;min-height:36px}.compact-closing .sheet-footer .sheet-save{flex:1}.module-compact{gap:8px}.module-pane-body{scrollbar-width:thin}}
@media print{.compact-closing,.compact-closing>.daily-sheet,.compact-closing #daily-sheet-form,.module-compact,.module-pane-body{display:block!important;height:auto!important;overflow:visible!important}.module-pane[hidden]{display:block!important}.compact-pane-tabs,.compact-closing .sheet-footer{display:none!important}}
.compact-flow{display:flex;flex-direction:column;overflow:hidden!important}.compact-flow>.pagehead,.compact-flow>.filters{flex-shrink:0}.compact-flow>.order-flow{flex:1;min-height:0;height:auto}.compact-closing .sheet-balance-grid>div{padding:12px}.compact-closing .sheet-reference-difference{padding:10px 12px}.compact-closing .sheet-balance-grid strong{font-size:23px}.compact-closing .sheet-reference-balance .hint{margin:6px 0 0;font-size:11px}
.floor-area-actions{display:flex;gap:6px;align-items:center}.floor-area-actions .btn{min-height:34px;padding:7px 10px;font-size:11px}.floor-add-area{width:auto!important;white-space:nowrap;padding:0 10px!important}.danger-text{color:#bd4035!important;border-color:#e9c6c1!important}.area-delete-confirm{display:flex;align-items:center;gap:10px;margin:18px 0}.area-delete-confirm input{width:18px;height:18px}.floor-toolbar{flex-wrap:wrap}.floor-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:700px){.floor-toolbar-actions{width:100%;justify-content:space-between;gap:6px}.floor-area-actions .btn{min-height:36px}.floor-area-tabs{max-width:100%;overflow:auto}.floor-toolbar-actions>.btn{font-size:11px;padding:7px 10px}}
/* Dense header: reserve vertical space for the working area. */
.layout .topbar{height:48px;min-height:48px;padding:0 16px;gap:10px}.layout .shell-menu{width:36px;height:36px;min-height:36px}.layout .searchbox{height:34px}.layout .searchbox input{height:34px;padding-top:6px;padding-bottom:6px}.layout .topright{gap:14px}.layout .topbar .badge{padding:5px 9px;font-size:10px}.layout .pagehead{margin-bottom:10px;gap:10px}.layout .pagehead h1{font-size:21px;line-height:1.2;margin:0}.layout .pagehead .sub{font-size:11px;line-height:1.4;margin-top:4px}.layout .pagehead>.btn,.layout .pagehead>.actions>.btn{min-height:34px;padding:7px 11px;font-size:11px}.layout[data-page="tables"] main#main:has(.floor-panel){padding:8px 12px;gap:6px}.layout[data-page="tables"] main>.pagehead{min-height:32px}.layout[data-page="tables"] main>.pagehead .sub{display:none}.layout[data-page="tables"] .table-summary{min-height:28px;padding:6px 10px;font-size:10px}.layout[data-page="tables"] .floor-toolbar{gap:8px}.layout[data-page="tables"] .floor-area-tabs>button{padding:6px 10px;min-height:32px;font-size:11px}.layout[data-page="tables"] .floor-area-tabs .floor-add-area{font-size:11px;font-weight:600}.layout[data-page="tables"] .floor-toolbar-actions{gap:6px}.layout[data-page="tables"] .floor-toolbar-actions .btn{min-height:32px;padding:6px 9px;font-size:10px}.layout[data-page="tables"] .floor-view-toggle{padding:2px}.layout[data-page="tables"] .floor-view-toggle>button{padding:5px 8px}.layout[data-page="tables"] .floor-panel-heading{padding:7px 12px;gap:8px}.layout[data-page="tables"] .floor-panel-heading .eyebrow{display:none}.layout[data-page="tables"] .floor-panel-heading h2{font-size:17px;margin:0;line-height:1.2}.layout[data-page="tables"] .floor-panel-bottom{padding:7px 10px}.layout[data-page="tables"] .floor-viewport{padding:10px}.layout .pos-command{min-height:38px}.layout .pos-command h1{font-size:21px}.layout .pos-command .tip-eyebrow{display:none}
@media(max-width:900px){.layout.nav-open .sidebar{top:48px;height:calc(100dvh - 48px)}.layout .topbar{padding:0 10px}.layout .topright{gap:8px}.layout .pagehead h1{font-size:20px}.layout .pagehead .sub{font-size:10px}.layout[data-page="tables"] .floor-toolbar-actions .btn{min-height:34px}.layout .pos-command h1{font-size:18px}}
.layout[data-page="tables"] .table-summary{height:28px}
/* Sales ledger uses one compact command row on desktop. */
.ledger-page{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:8px}.ledger-page>.pagehead{grid-column:1;grid-row:1;margin:0;align-items:center;min-width:0;gap:12px}.ledger-page>.pagehead .sub{display:none}.ledger-page>.pagehead h1{font-size:20px;white-space:nowrap}.ledger-page>.pagehead>.btn{min-height:32px;padding:6px 10px;font-size:11px;white-space:nowrap}.ledger-page>.ledger-toolbar{grid-column:2;grid-row:1;gap:8px;align-items:center;flex-wrap:nowrap;margin:0}.ledger-toolbar>label:not(.ledger-archive){display:flex;align-items:center;gap:6px;font-size:10px;white-space:nowrap}.ledger-toolbar select{min-height:32px;height:32px;padding:5px 7px;font-size:11px;max-width:150px}.ledger-toolbar .ledger-archive{min-height:32px;font-size:10px;gap:5px;white-space:nowrap}.ledger-toolbar .ledger-archive input{width:16px;height:16px}.ledger-toolbar>.btn{min-height:32px;padding:6px 9px;font-size:10px}.ledger-page>.ledger-list{grid-column:1/-1;grid-row:2}.ledger-list td{padding:8px 10px;font-size:12px}.ledger-list th{padding:9px 10px}.ledger-actions{gap:5px}.ledger-actions .btn{min-height:32px;padding:6px 8px;font-size:10px}.ledger-list .helptext{font-size:10px;padding:10px}
@media(max-width:1000px){.ledger-page{display:flex;flex-direction:column;gap:7px}.ledger-page>.pagehead{flex-shrink:0}.ledger-page>.ledger-toolbar{flex-shrink:0;justify-content:flex-end}.ledger-page>.ledger-list{flex:1}.ledger-toolbar>label:not(.ledger-archive){margin-right:auto}.ledger-toolbar select{max-width:150px}}@media(max-width:600px){.ledger-page>.ledger-toolbar{justify-content:flex-start;gap:7px}.ledger-toolbar>label:not(.ledger-archive){font-size:0;gap:0}.ledger-page>.pagehead h1{font-size:19px}.ledger-page>.ledger-toolbar select{max-width:145px}.ledger-toolbar .ledger-archive{font-size:10px}}
/* Payment desk: controls left, live thermal receipt right. */
#modal:has(.payment-desk){width:min(1020px,calc(100vw - 24px));max-width:1020px;max-height:calc(100dvh - 24px);border-radius:14px}#modal:has(.payment-desk) .modalhead{padding:12px 18px;height:50px;min-height:50px}#modal:has(.payment-desk) .modalhead h2{font-size:17px}#modal:has(.payment-desk) .modalbody{padding:14px 18px;overflow:hidden}.payment-desk{height:min(640px,calc(100dvh - 104px));display:flex;flex-direction:column;min-height:0}.payment-desk .payment-review-grid{grid-template-columns:minmax(0,1fr) 320px;gap:18px;min-height:0;height:100%;flex:1}.payment-desk .payment-review-main{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;padding-right:5px;scrollbar-width:thin;overscroll-behavior:contain}.desk-context{display:flex;align-items:center;justify-content:space-between;gap:10px}.desk-context h3{font-size:19px;margin:3px 0;color:#123c35}.desk-secure{font-size:10px;color:#66857a;display:flex;align-items:center;gap:4px}.desk-secure svg{width:14px;height:14px}.payment-desk .review-methods{margin:0;flex-shrink:0;display:flex;gap:7px}.payment-desk .review-methods legend{font-size:10px;margin-bottom:6px}.payment-desk .review-methods button{flex:1;min-height:40px;padding:8px;font-size:12px;justify-content:center}.cash-desk{border:1px solid #dce6e1;border-radius:11px;background:#f7faf8;padding:12px}.cash-desk[hidden]{display:none!important}.cash-received-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:#425e54;margin-bottom:6px}.cash-entry{display:flex;align-items:center;border:1px solid #bfd3c8;border-radius:8px;overflow:hidden;background:white}.cash-entry input{font-size:27px;font-weight:750;font-variant-numeric:tabular-nums;width:100%;min-width:0;border:0;background:transparent;padding:8px 12px;color:#073f37;outline-offset:-3px}.cash-entry>button{margin-right:7px;flex-shrink:0;min-height:30px;background:#eaf3ee;border:0;border-radius:5px;font-size:10px;color:#28624d;padding:5px 9px;cursor:pointer}.cash-quick-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#71867c;margin:8px 0 6px}.cash-quick-label>button{background:none;border:0;color:#a25836;font-size:10px;cursor:pointer}.cash-notes{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.cash-notes>button{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:2px;min-height:43px;border:1px solid #b9cdbf;background:#eaf0df;border-radius:5px;box-shadow:inset 0 0 0 3px #ffffff65;color:#38604b;cursor:pointer;font-variant-numeric:tabular-nums}.cash-notes>button:after{content:'';position:absolute;inset:6px;border:1px solid currentColor;border-radius:3px;opacity:.2;z-index:-1}.cash-note-mark{position:absolute;font-size:30px;opacity:.09;left:1px;font-weight:800}.cash-notes b{font-size:17px}.cash-notes small{font-size:9px}.cash-notes>button:nth-child(3){background:#f2e8d9;color:#87633e}.cash-notes>button:nth-child(4){background:#f8e0dd;color:#9b5147}.cash-notes>button:nth-child(5){background:#dbeee5;color:#3e7e62}.cash-notes>button:nth-child(6){background:#f7e9d9;color:#ae7540}.cash-notes>button:nth-child(7){background:#dfebf6;color:#4a719a}.cash-notes>button:nth-child(8){background:#e9e1f5;color:#7c609c}.cash-notes>button:active{transform:translateY(1px)}.cash-change-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.cash-change-row>div{display:grid;gap:3px}.cash-change-row>div>span{font-size:10px;color:#698476}.cash-change-row strong{font-size:23px;font-variant-numeric:tabular-nums;color:#0b5643}.cash-change-row>button{font-size:10px;max-width:190px;min-height:35px;border:1px solid #c9ddd0;background:white;color:#377151;border-radius:6px;padding:6px 10px;cursor:pointer}.cash-change-row>button.active{background:#dceee2;border-color:#3e8f65}.cash-change-row>button:disabled{opacity:.45;cursor:default}.cash-validation{color:#ae5335;font-size:10px;line-height:1.4;margin:5px 0 0}.cash-validation:empty{display:none}.payment-desk .gratuity-section{padding:10px 12px;border-radius:10px;background:white}.payment-desk .gratuity-heading{margin-bottom:7px;gap:8px}.payment-desk .gratuity-heading h3{font-size:13px;margin:0 0 2px}.payment-desk .gratuity-heading p{font-size:9px}.payment-desk .gratuity-icon{width:25px;height:25px;border-radius:7px;font-size:18px}.payment-desk .gratuity-presets{gap:6px}.payment-desk .gratuity-presets button{min-height:42px;padding:6px 4px}.payment-desk .gratuity-presets button strong{font-size:10px}.payment-desk .gratuity-presets button small{font-size:9px;margin-top:3px}.payment-desk .gratuity-custom{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:7px;font-size:10px}.payment-desk .gratuity-custom>div{max-width:180px;margin:0}.payment-desk .gratuity-custom input{height:32px;min-height:32px;font-size:14px;padding:6px 10px 6px 28px}.payment-desk .tip-validation{font-size:10px}.desk-payer{display:flex;align-items:center;gap:7px;font-size:10px;flex-wrap:wrap;color:#607c6f}.desk-payer small{font-size:9px;opacity:.7}.desk-payer input{flex:1;min-width:120px;min-height:33px;padding:6px 10px;border:1px solid #d4e2d8;border-radius:6px;font-size:12px}.desk-confirm-row{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:10px 0 4px;border-top:1px solid #e3eae5;margin-top:auto}.desk-confirm-row>div{display:grid;gap:3px}.desk-confirm-row small{font-size:10px;color:#72897d}.desk-confirm-row strong{font-size:23px;white-space:nowrap;color:#073f35;font-variant-numeric:tabular-nums}.desk-confirm-row .review-confirm{width:auto;flex:1;max-width:320px;min-height:44px;font-size:12px;padding:10px}.payment-desk .review-back{font-size:10px;min-height:24px;padding:0 0 4px}.payment-desk #form-error:empty{display:none}.live-receipt-preview{display:flex;flex-direction:column;min-width:0;min-height:0;background:#eaf0ec;padding:12px;border-radius:11px;border:1px solid #dae5de;overflow:hidden}.receipt-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;font-size:9px;font-weight:700;letter-spacing:1px;color:#617a6c}.receipt-live-dot{font-size:8px;font-weight:400;letter-spacing:0;white-space:nowrap}.receipt-live-dot:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#3a996c;margin-right:4px}.thermal-receipt{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;padding:17px 16px 22px;background:#fffefb;box-shadow:0 3px 10px #1836280d;font-family:'Courier New',monospace;font-variant-numeric:tabular-nums;color:#283b33;border-bottom:6px dotted #eaf0ec}.thermal-receipt header{text-align:center;border-bottom:1px dashed #b9c5bb;padding-bottom:10px;margin-bottom:10px}.receipt-logo{display:inline-grid;place-items:center;width:26px;height:26px;background:#154c3d;color:white;font-size:18px;font-weight:800;border-radius:4px}.thermal-receipt header h3{font-family:inherit;font-size:19px;margin:7px 0 3px;font-weight:800;color:#203d2c}.thermal-receipt header p{font-size:10px;margin:3px 0}.thermal-receipt header small{font-size:9px;display:block;margin-top:7px}.receipt-unpaid{font-size:8px;margin-top:9px;border:1px solid #dce4dc;padding:5px 3px;color:#718371}.receipt-column-labels{display:flex;justify-content:space-between;font-size:9px;font-weight:700;margin-bottom:5px}.receipt-line{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dotted #d3dcd2;font-size:11px}.receipt-line>div{min-width:0}.receipt-line strong{font-size:11px;display:block;overflow-wrap:anywhere}.receipt-line small{display:block;font-size:9px;margin-top:4px;color:#738373}.receipt-line>b{font-size:11px;white-space:nowrap}.receipt-stepper{display:inline-flex;gap:8px;align-items:center;margin-top:6px;font:11px system-ui}.receipt-stepper button{width:25px;height:24px;border:1px solid #d3dfd4;border-radius:4px;background:#f9fbf6;color:#295f43;cursor:pointer}.receipt-totals{margin-top:12px}.receipt-totals>div{display:flex;justify-content:space-between;gap:6px;font-size:10px;margin:8px 0}.receipt-totals>div[hidden]{display:none}.receipt-totals small{font-size:8px;color:#7d897d}.receipt-totals b{white-space:nowrap}.receipt-totals .receipt-grand{font-size:16px;font-weight:800;border-top:1px dashed #9aa99c;border-bottom:1px dashed #9aa99c;padding:10px 0;margin:10px 0}.thermal-receipt footer{text-align:center;margin-top:20px}.thermal-receipt footer p{font-size:10px}.thermal-receipt footer small{font-size:8px;color:#7f897d;line-height:1.5}.receipt-bars{height:23px;width:132px;margin:auto;background:repeating-linear-gradient(90deg,#344534 0 2px,transparent 2px 4px,#344534 4px 5px,transparent 5px 8px,#344534 8px 11px,transparent 11px 13px);opacity:.65}.receipt-help{font-size:9px;line-height:1.5;color:#6d8173;margin:10px 0 0}.receipt-add{display:flex;margin-top:10px;gap:4px}.receipt-add select{min-width:0;width:100%;font-size:9px;padding:6px;border:1px solid #d7e2d6;border-radius:4px;background:#fffefb}.receipt-add button{width:30px;border:1px solid #d7e2d6;border-radius:4px;background:#edf5eb;font-size:18px;color:#316b44}.receipt-empty{font-size:11px;padding:12px 0;color:#93714f}.desk-mobile-tabs{display:none}
@media(max-width:650px){#modal:has(.payment-desk){width:calc(100vw - 12px);max-height:calc(100dvh - 12px);margin:auto;border-radius:12px}#modal:has(.payment-desk) .modalhead{height:44px;min-height:44px;padding:9px 12px}#modal:has(.payment-desk) .modalhead h2{font-size:14px}#modal:has(.payment-desk) .modalbody{padding:10px}.payment-desk{height:calc(100dvh - 92px)}.desk-mobile-tabs{display:flex;gap:6px;margin-bottom:10px;flex-shrink:0}.desk-mobile-tabs button{flex:1;min-height:34px;border:1px solid #d8e3dc;background:#f6faf7;border-radius:7px;font-size:12px;color:#668070}.desk-mobile-tabs button[aria-pressed=true]{background:#07574c;border-color:#07574c;color:white}.payment-desk .payment-review-grid{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.payment-desk[data-mobile-pane=controls] .live-receipt-preview{display:none}.payment-desk[data-mobile-pane=receipt] .payment-review-main{display:none}.payment-desk .payment-review-main,.payment-desk .live-receipt-preview{height:100%;flex:1}.payment-desk .payment-review-main{padding-right:2px;gap:9px}.cash-notes{grid-template-columns:repeat(4,minmax(0,1fr))}.cash-notes>button{min-height:35px}.cash-entry input{font-size:27px}.payment-desk .review-methods button{min-height:40px}.payment-desk .gratuity-custom input,.desk-payer input{font-size:16px}.desk-confirm-row strong{font-size:21px}.desk-confirm-row .review-confirm{font-size:11px}.cash-change-row>button{font-size:10px;max-width:174px}.desk-context h3{font-size:17px}.thermal-receipt{padding:18px 22px}.receipt-stepper button{width:32px;height:30px}}
/* Optional tight density, persisted without rebuilding forms or carts. */
.density-toggle{font-size:10px;min-height:29px;padding:4px 8px;border:1px solid #d5e2da;border-radius:6px;background:#fff;color:#567469;white-space:nowrap;cursor:pointer}.density-toggle[aria-pressed=true]{background:#dceee5;color:#145e47;border-color:#b8d6c6}.layout.density-tight{grid-template-columns:190px minmax(0,1fr)}.layout.density-tight.nav-collapsed{grid-template-columns:0 minmax(0,1fr)}.density-tight .topbar{height:44px;min-height:44px}.density-tight .shell-menu-toggle{height:32px;width:32px;min-height:32px}.density-tight .topbar .searchbox,.density-tight .topbar .searchbox input{height:30px}.density-tight .sidebar{padding:12px 8px 8px}.density-tight .brand{margin-bottom:12px}.density-tight .brand strong{font-size:21px}.density-tight .brand small{font-size:10px}.density-tight .branch{padding:8px 10px;margin-bottom:9px;min-height:32px;font-size:11px}.density-tight .nav{gap:2px;scrollbar-width:thin}.density-tight .nav>button{min-height:32px;padding:7px 10px;font-size:10px;gap:8px}.density-tight .nav>button svg{width:16px;height:16px}.density-tight .sideuser{padding-top:9px;font-size:10px}.density-tight main#main{padding:8px 10px;font-size:12px}.density-tight .pagehead{margin-bottom:7px;gap:8px}.density-tight .pagehead h1{font-size:19px;line-height:1.15}.density-tight .pagehead .sub{display:none}.density-tight .pagehead .btn{min-height:30px;padding:5px 9px;font-size:10px}.density-tight .metrics{gap:8px;margin-bottom:8px}.density-tight .metric{min-height:58px;padding:10px;gap:9px}.density-tight .metric strong{font-size:22px}.density-tight .metric small{font-size:9px}.density-tight .metric .metric-icon{width:32px;height:32px}.density-tight .panelhead{padding:9px 11px;gap:8px}.density-tight .panelhead h2{font-size:15px}.density-tight .panelhead p{font-size:10px;margin:3px 0 0}.density-tight .panelhead .tip-eyebrow{display:none}.density-tight .panel .pad,.density-tight .panel.pad{padding:12px}.density-tight .spacer{margin-top:10px}.density-tight .filters{gap:6px;margin-bottom:8px}.density-tight .filters .btn{min-height:31px;padding:6px 9px;font-size:10px}.density-tight .module-tabs{gap:5px;margin-bottom:7px}.density-tight .module-tabs button{min-height:30px;padding:6px 10px;font-size:10px}.density-tight .compact-staff{gap:7px}.density-tight .staff-module-body>.spacer{margin-top:0}.density-tight .staff-module-body .panelhead>div>p{display:none}.density-tight .staff-module-body .panelhead .actions .btn{min-height:31px;padding:6px 9px;font-size:10px}.density-tight .weekly-panel{margin:0}.density-tight #weekly-filters{padding:7px 10px;gap:7px}.density-tight #weekly-filters label{font-size:10px;gap:4px}.density-tight #weekly-filters input,.density-tight #weekly-filters select{min-height:31px;height:31px;padding:5px 8px;font-size:12px}.density-tight #weekly-filters button{min-height:31px;padding:6px 9px;font-size:10px}.density-tight .weekly-nav{padding:6px 10px;gap:7px;min-height:37px}.density-tight .weekly-nav .btn{min-height:27px;padding:4px 8px;font-size:10px}.density-tight .weekly-nav strong{font-size:11px}.density-tight .weekly-scroll{padding:8px}.density-tight .weekly-head{padding:8px;font-size:10px}.density-tight .weekly-cell{min-height:70px;padding:6px;gap:4px}.density-tight .weekly-employee{padding:8px;min-height:70px}.density-tight .weekly-employee strong{font-size:12px}.density-tight .weekly-employee small{font-size:9px}.density-tight .weekly-shift{padding:5px;min-height:30px;margin:0}.density-tight .weekly-shift strong{font-size:11px}.density-tight .weekly-shift small,.density-tight .weekly-empty,.density-tight .weekly-leave{font-size:9px}.density-tight .weekly-add{min-height:23px;padding:3px;margin-top:4px;font-size:9px}.density-tight table td{padding:7px 9px;font-size:11px}.density-tight table th{padding:7px 9px;font-size:10px}.density-tight .staff-module-body .helptext{font-size:9px;padding:8px 10px}.density-tight .payroll-panel .panelhead,.density-tight .shift-monitor .panelhead{padding:8px 10px}.density-tight .payroll-totals{padding:12px;gap:8px}.density-tight .payroll-totals strong{font-size:21px}.density-tight .table-summary{height:25px;min-height:25px;padding:4px 8px;font-size:9px}.density-tight .floor-toolbar{gap:5px}.density-tight .floor-area-tabs{padding:0;gap:3px}.density-tight .floor-area-tabs>button{min-height:27px;padding:4px 8px;font-size:10px}.density-tight .floor-toolbar-actions .btn{min-height:27px;padding:4px 7px;font-size:9px}.density-tight .floor-view-toggle>button{padding:4px 7px;font-size:9px}.density-tight[data-page=tables] main#main:has(.floor-panel){padding:6px 9px;gap:4px}.density-tight[data-page=tables] main>.pagehead{min-height:29px}.density-tight .ledger-toolbar select{height:29px;min-height:29px}.density-tight .ledger-page{gap:6px}.density-tight .ledger-actions .btn{min-height:29px;padding:5px 7px}.density-tight .flow-lane-head{padding:9px;font-size:11px}.density-tight .flow-cards{padding:7px;gap:7px}.density-tight .flow-card{padding:9px}.density-tight .formgrid,.density-tight .fieldgrid{gap:10px}.density-tight .hint,.density-tight .helptext{font-size:10px}.density-tight .settings-tabs button{padding:7px 10px}.density-tight .setting-card{padding:12px}
@media(min-width:901px){.density-tight main input:not([type=checkbox]):not([type=radio]),.density-tight main select{min-height:31px;font-size:12px;padding:6px 8px}.density-tight .weekly-grid{grid-template-columns:110px repeat(7,minmax(85px,1fr))}.density-tight .field{font-size:10px}.density-tight .field>input,.density-tight .field>select{margin-top:4px}.density-tight .table-summary .table-poll{font-size:8px}}
@media(max-width:900px){.layout.density-tight,.layout.density-tight.nav-open,.layout.density-tight.nav-collapsed{grid-template-columns:minmax(0,1fr)}.density-tight.nav-open .sidebar{top:44px;height:calc(100dvh - 44px);width:210px}.density-tight .topbar{gap:6px;padding:0 9px}.density-tight .topright{gap:6px}.density-toggle{font-size:9px;padding:3px 6px}.density-tight .mobilebrand{font-size:17px}.density-tight main input:not([type=checkbox]):not([type=radio]){font-size:16px}.density-tight .weekly-cell{min-height:70px}.density-tight .module-tabs button{min-height:32px}.density-tight .floor-toolbar-actions .btn{min-height:30px}.density-tight .statuspill{font-size:8px;padding:4px 7px}}
/* Closing sheet: full-width working form with a small command header. */
.compact-closing>.daily-sheet{width:100%;max-width:none;margin:0!important}.compact-closing .sheet-title{min-height:32px;margin:0 0 5px;gap:8px}.compact-closing .sheet-title>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compact-closing .sheet-title .eyebrow{display:none}.compact-closing .sheet-title h1{font-size:20px;letter-spacing:-.5px;margin:0;line-height:1.2}.compact-closing .sheet-title p{font-size:11px;margin:0;padding-left:11px;border-left:1px solid #d0ded5;line-height:18px}.compact-closing .sheet-title>.btn{min-height:30px;padding:5px 9px;font-size:10px}.compact-closing .sheet-sync{min-height:25px;margin:0 0 5px;padding:5px 9px;font-size:10px;background:#f5faf7;border:1px solid #deebe2;border-radius:6px;gap:6px}.compact-closing .sheet-sync svg{width:12px;height:12px}.compact-closing .sheet-tip-notice{display:flex;align-items:center;gap:8px;padding:5px 9px;min-height:27px;margin:0 0 5px;border-radius:6px;font-size:10px}.compact-closing .sheet-tip-notice strong{font-size:13px;margin-left:auto}.compact-closing .sheet-tip-notice small{display:none}.compact-closing .compact-pane-tabs{gap:5px;margin-bottom:6px}.compact-closing .compact-pane-tabs button{min-height:29px;padding:5px 9px;font-size:10px}.compact-closing .sheet-section{padding:11px;margin-bottom:8px;border-radius:9px}.compact-closing .sheet-section h2{font-size:15px;margin-bottom:9px}.compact-closing .sheet-meat label{font-size:11px}.compact-closing .sheet-section input,.density-tight .compact-closing .sheet-section input{min-height:32px;height:32px;font-size:14px;padding:5px 8px}.compact-closing .sheet-table input{max-width:100px}.compact-closing .sheet-table td{padding:7px 8px}.compact-closing .sheet-table td>strong{font-size:12px}.compact-closing .sheet-table td>small{font-size:9px;line-height:1.3;margin-top:2px}.compact-closing .sheet-table th{padding:6px 8px;font-size:10px}.compact-closing .sheet-table td output{font-size:14px}.compact-closing .sheet-total{padding:8px 10px;font-size:12px;min-height:33px;border-radius:6px}.compact-closing .sheet-total output{font-size:17px}.compact-closing .sheet-grand{display:none}.compact-closing .sheet-bread-reference{padding:9px;margin-top:8px;gap:7px}.compact-closing .sheet-bread-reference strong{font-size:18px}.compact-closing .sheet-bread-reference p{font-size:9px;line-height:1.4;margin:3px 0}.compact-closing .sheet-balance-grid{gap:8px}.compact-closing .sheet-balance-grid>div{padding:10px}.compact-closing .sheet-balance-grid strong{font-size:21px}.compact-closing .sheet-balance-grid small,.compact-closing .sheet-balance-grid span{font-size:10px}.compact-closing .sheet-reference-difference{padding:9px 11px;margin-top:9px}.compact-closing .sheet-reference-difference>strong{font-size:22px}.compact-closing .sheet-reference-difference small{font-size:10px}.compact-closing .sheet-reference-rule{margin:3px 0 10px;font-size:11px}.compact-closing .sheet-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;background:#fff;border:1px solid #d9e5de;border-radius:10px;color:#24493a}.compact-closing .sheet-result>.line{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:11px;background:#f4f8f5;border:1px solid #e2ebe5;border-radius:7px;font-size:10px}.compact-closing .sheet-result>.line strong{font-size:19px;color:#144c3a;white-space:nowrap}.compact-closing .sheet-result>.sheet-balance{grid-column:1/-1;padding:12px 14px;background:linear-gradient(110deg,#095d4f,#083f38);border-radius:8px;color:white;font-size:14px}.compact-closing .sheet-balance output{font-size:26px}.compact-closing .sheet-result>p{grid-column:1/-1;margin:0;font-size:10px;color:#718376}.compact-closing .sheet-result>.sheet-method{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding-top:8px;border-top:1px solid #e3eae5;font-size:10px;color:#587765}.compact-closing .sheet-method select{max-width:180px;background:#fff;border:1px solid #cbdcd0;color:#244c3a;min-height:31px;padding:5px 8px;border-radius:5px}.compact-closing .sheet-result>.error{grid-column:1/-1;color:#b45435;font-size:11px}.compact-closing .sheet-result>.error:empty{display:none}.compact-closing .sheet-footnote{font-size:9px;line-height:1.5;margin:8px 0;color:#75887c}.compact-closing .sheet-footer{margin-top:6px;gap:6px}.compact-closing .sheet-footer .btn,.compact-closing .sheet-footer .sheet-save{min-height:32px;font-size:11px;padding:6px 10px}.compact-closing .sheet-expenses label{padding:6px 0;font-size:12px}
@media(max-width:650px){.compact-closing .sheet-title h1{font-size:18px}.compact-closing .sheet-title>div{gap:4px 8px}.compact-closing .sheet-title p{font-size:10px}.compact-closing .sheet-result{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}.compact-closing .sheet-result>.line{padding:9px;gap:4px}.compact-closing .sheet-result>.line strong{font-size:18px}.compact-closing .sheet-balance{font-size:12px}.compact-closing .sheet-balance output{font-size:22px}.compact-closing .sheet-footer .btn{font-size:9px;padding:6px 7px}.compact-closing .sheet-method select{max-width:120px}.compact-closing .sheet-section input,.density-tight .compact-closing .sheet-section input{font-size:16px}.compact-closing .sheet-result>.sheet-method{font-size:10px}.compact-closing .sheet-sync{font-size:9px}}
.layout.density-tight .topbar{height:44px;min-height:44px}.layout.density-tight[data-page=tables] .table-summary{height:25px;min-height:25px;padding:4px 8px}.layout.density-tight[data-page=tables] .floor-area-tabs>button{min-height:27px;padding:4px 8px;font-size:10px}.layout.density-tight[data-page=tables] .floor-toolbar-actions .btn{min-height:27px;padding:4px 7px;font-size:9px}.layout.density-tight[data-page=tables] .floor-view-toggle>button{padding:4px 7px;font-size:9px}
.desk-collection-note{font-size:9px;line-height:1.4;color:#7a897e;margin:0}.payment-desk .desk-confirm-row{margin-top:0}
.menu-options-config form{padding:12px}.menu-config-notice{font-size:10px;line-height:1.6;background:#fff5df;border:1px solid #efddb8;color:#9b7844;padding:9px 11px;border-radius:7px;margin:0 0 12px}.menu-config-product-picker{display:flex;align-items:center;gap:10px;font-size:12px;color:#476d55;margin-bottom:10px}.menu-config-product-picker select{min-width:180px;border:1px solid #cfdfd3;padding:7px 10px;border-radius:6px;background:white}.menu-config-product>label{display:block;font-size:11px;color:#5f7d67}.menu-config-product textarea{width:100%;display:block;margin-top:6px;padding:9px 11px;border:1px solid #d4e1d5;border-radius:6px;font-size:12px;min-height:58px}.menu-config-product fieldset{border:0;padding:0;margin:13px 0}.menu-config-product legend{font-size:10px;margin-bottom:8px;color:#81947b}.menu-config-ingredients{display:flex;flex-wrap:wrap;gap:6px}.menu-config-ingredients label{display:flex;align-items:center;gap:5px;border:1px solid #dce6d6;background:#f7faf2;border-radius:5px;padding:6px 8px;font-size:10px;color:#607e52}.menu-config-ingredients input{width:13px;height:13px;accent-color:#40805a}.menu-config-extra-title{font-size:14px;margin:16px 0 10px}.menu-options-config table small{display:block;font-size:9px;color:#8da080;margin-top:3px}.menu-options-config table input[type=number]{width:100px;max-width:100%;border:1px solid #d2dfd1;border-radius:5px;padding:5px 8px;font-size:12px;min-height:31px}.menu-options-config table input[type=checkbox]{width:15px;height:15px;accent-color:#40805a}.menu-config-save{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px}.menu-config-save .error{font-size:11px}.menu-options-config table{min-width:430px}

/* Compact live-receipt quantity control; reset shared form button sizing. */
#modal .payment-desk .receipt-stepper{display:inline-flex;align-items:center;gap:0;height:24px;margin-top:4px;border:1px solid #d3dfd4;border-radius:5px;overflow:hidden;background:#f8fbf7;font:11px system-ui;vertical-align:middle}
#modal .payment-desk .receipt-stepper button{display:grid;place-items:center;flex:0 0 24px;width:24px;height:22px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;font:13px/1 system-ui;box-shadow:none}
#modal .payment-desk .receipt-stepper button:hover{background:#e5efe6}
#modal .payment-desk .receipt-stepper button:focus-visible{outline:2px solid #07574c;outline-offset:-2px}
#modal .payment-desk .receipt-stepper>span{min-width:22px;text-align:center;font-size:11px;line-height:22px}
.payment-desk .receipt-line{padding:6px 0}
@media(max-width:650px),(pointer:coarse){#modal .payment-desk .receipt-stepper{height:32px}#modal .payment-desk .receipt-stepper button{flex-basis:32px;width:32px;height:30px}#modal .payment-desk .receipt-stepper>span{min-width:24px;line-height:30px}}
/* V21 operations: compact, isolated panels with independent scrolling. */
.ops-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.ops-toolbar .filters{margin:0;flex:1}.ops-toolbar select{padding:6px;max-width:180px}.ops-content{overflow:auto;min-height:0;flex:1}.ops-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ops-content h2{font-size:15px;margin:6px 0 10px}.ops-call,.ops-alarm{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;margin-bottom:8px;border-left:3px solid #e98224}.ops-call.ack{border-left-color:#167c70}.ops-call strong,.ops-call span,.ops-alarm strong,.ops-alarm small,.ops-call small{display:block}.ops-call span{font-size:13px;margin:4px 0}.ops-call small,.ops-alarm small{font-size:11px;color:#718484}.ops-alarm b{font-size:12px;white-space:nowrap}.ops-alarm.late{background:#fff3ed;border-color:#df643d}.ops-order-alarm{font-size:10px;padding:4px 6px;background:#edf5f1;color:#4b7068;border-radius:4px;margin:5px 0}.ops-order-alarm.late{background:#ffeadc;color:#b44817;font-weight:700}.ops-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ops-content table input,.ops-content table select{max-width:200px;width:100%;padding:5px;min-height:30px}.ops-content table small{display:block;font-size:10px;color:#8b7a6b}.ops-content details summary{font-size:12px;cursor:pointer}.ops-content .metrics{margin-bottom:12px}.ops-toolbar .active{background:#07574c;color:white}.ops-content .fieldgrid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.ops-live-grid{grid-template-columns:1fr}.ops-content .fieldgrid{grid-template-columns:1fr 1fr}.ops-toolbar .filters{flex-basis:100%;overflow:auto;flex-wrap:nowrap}.ops-toolbar .filters button{white-space:nowrap}.ops-content .metrics{grid-template-columns:1fr 1fr}}

.ops-feed-button{border:1px solid #d2e2db;border-radius:6px;background:#f2f8f4;color:#386459;font-size:10px;min-height:28px;padding:4px 8px;white-space:nowrap;max-width:155px;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.ops-feed-button.has-alert{background:#fff0df;border-color:#edc5a1;color:#a94b12}@media(max-width:650px){.ops-feed-button{max-width:120px;font-size:9px;padding:4px}}
/* POS service flyout: non-modal; leaves the checkout/cart mounted. */
#service-desk{position:fixed;z-index:1100;right:12px;top:52px;width:350px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 72px);display:flex;flex-direction:column;background:#fff;border:1px solid #d1e1da;border-radius:12px;box-shadow:0 16px 50px #163e3933;color:#163d36;font:13px system-ui;overflow:hidden}#service-desk header{display:flex;justify-content:space-between;align-items:center;background:#07574c;color:white;padding:12px 14px}#service-desk header strong{font-size:14px}#service-desk header span{background:#ffffff26;border-radius:20px;padding:2px 7px;margin-left:5px;font-size:11px}#service-desk header small{display:block;font-size:10px;color:#c3dfd5;margin-top:3px}#service-desk header button{background:transparent;border:0;color:white;font-size:25px;width:32px;height:32px;cursor:pointer}.service-desk-tools{display:flex;gap:6px;padding:9px 12px;border-bottom:1px solid #e6eeea}.service-desk-tools button{border:1px solid #d6e3dd;border-radius:6px;background:#f6faf7;color:#376655;padding:7px 10px;font-size:11px;cursor:pointer}.service-desk-calls{overflow:auto;min-height:0;padding:0 12px}.service-desk-calls article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e5ede8}.service-desk-calls article strong{display:block;font-size:14px}.service-desk-calls article b{display:block;font-size:12px;margin:3px 0;font-weight:500}.service-desk-calls article small{font-size:10px;color:#b86122}.service-desk-calls .ack small{color:#297e68}.service-desk-calls article button{border:0;background:#ec7b18;color:white;border-radius:7px;padding:9px 10px;min-height:36px;font-size:11px;cursor:pointer;white-space:nowrap}.service-desk-calls .ack button{background:#07574c}.service-desk-calls article button:disabled{opacity:.5}.service-desk-empty{padding:24px 8px;text-align:center;color:#80928b;font-size:12px}#service-desk footer{padding:9px 12px;background:#f7faf7}#service-desk footer small{display:block;font-size:10px;line-height:1.6;color:#758980}.service-desk-error{margin:0;color:#b34427;font-size:11px}.service-desk-error:empty{display:none}
/* Header controls share available width; inputs never outgrow the compact bar. */
.layout .topbar{box-sizing:border-box;min-width:0;flex-shrink:0;align-items:center}.layout .topbar #search-form{flex:1 1 280px;width:auto;min-width:0;max-width:440px;height:32px;max-height:calc(100% - 8px);margin:0;box-sizing:border-box}.layout .topbar #search-form input{display:block;width:100%;min-width:0;height:32px;min-height:0;max-height:100%;padding:5px 10px 5px 34px;box-sizing:border-box;font-size:11px;line-height:20px}.layout .topbar #search-form svg{width:15px;height:15px;top:50%;transform:translateY(-50%);left:11px}.layout .topright{flex:0 0 auto;min-width:0;gap:10px;margin-left:auto}.layout .topright .ops-feed-button{flex-shrink:1;min-width:0}.layout .topbar .shell-menu-toggle{align-self:center;max-height:calc(100% - 6px)}@media(min-width:901px) and (max-width:1200px){.layout .topbar{gap:8px;padding:0 12px}.layout .topright{gap:8px}.layout .topright .date{display:none}.layout .topbar #search-form{flex-basis:200px;max-width:340px}}@media(max-width:900px){.layout .topbar #search-form{display:none}.layout .topright{gap:7px}}
@media(max-width:600px){.layout .topbar .mobilebrand{font-size:0;gap:0;flex:0 0 18px;width:18px;min-width:0;overflow:hidden}.layout .topbar .mobilebrand img{width:18px;height:28px;object-fit:contain}.layout .topright .density-toggle{display:none}.layout .topright{gap:7px}.layout .topbar .ops-feed-button{max-width:115px}}
/* Service flyout anchored to its own header button. */
#service-desk{overflow:visible;animation:service-button-in .18s cubic-bezier(.2,.75,.25,1) both;transform-origin:top right}#service-desk::before{content:'';position:absolute;top:-6px;left:var(--service-arrow,90%);width:11px;height:11px;background:#07574c;border-top:1px solid #07574c;border-left:1px solid #07574c;transform:translateX(-50%) rotate(45deg)}#service-desk>header{border-radius:11px 11px 0 0}#service-desk>footer{border-radius:0 0 11px 11px}.service-desk-calls{max-height:46dvh}@keyframes service-button-in{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){#service-desk{animation:none}}

/* Nested horizontal tables must pass vertical gestures to the module scroller. */
.module-pane-body .tablewrap{overscroll-behavior:auto}
.module-pane-body{scrollbar-gutter:stable}
