:root {
  --ink: #241a14;
  --muted: #5e5249;
  --cream: #f4eddf;
  --paper: #fffaf0;
  --surface: #fffdf8;
  --line: #d8cdbd;
  --coffee: #38241a;
  --coffee-2: #593525;
  --orange: #f47a32;
  --orange-dark: #963609;
  --green: #1e7551;
  --yellow: #f2bd49;
  --red: #ad3b32;
  --blue: #2e6784;
  --shadow: 0 22px 70px rgba(49, 28, 17, .12);
  color: var(--ink);
  background: var(--cream);
  font-family: Inter, "Segoe UI", ui-sans-serif, system-ui, sans-serif;
}

/* Batch 7 Menu & Promo workspace. Kept additive so legacy operational surfaces
   remain rollback-compatible while the production flags are OFF. */
.menu-v2-shell {
  --menu-ink: #16211b;
  --menu-muted: #657068;
  --menu-accent: #176b45;
  --menu-soft: #eef6f1;
  margin: 0 0 24px;
  overflow: hidden;
  border: 1px solid #dce5de;
  border-radius: 24px;
  background: #fbfcfb;
  box-shadow: 0 18px 50px rgba(28, 49, 36, .08);
  color: var(--menu-ink);
}
.menu-v2-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 28px 30px 20px; }
.menu-v2-shell > header h2 { margin: 2px 0 6px; font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.04em; }
.menu-v2-shell > header p:last-child { margin: 0; color: var(--menu-muted); }
.menu-v2-revision { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; background: var(--menu-soft); color: var(--menu-accent); font: 700 .75rem/1.2 ui-monospace, monospace; }
.menu-v2-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 0 22px; border-bottom: 1px solid #e3e9e4; scrollbar-width: thin; }
.menu-v2-tabs button { min-height: 48px; flex: 0 0 auto; padding: 0 14px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--menu-muted); font: inherit; font-weight: 700; cursor: pointer; }
.menu-v2-tabs button[aria-selected="true"] { border-bottom-color: var(--menu-accent); color: var(--menu-accent); }
.menu-v2-tabs button:focus-visible { outline: 3px solid rgba(23, 107, 69, .28); outline-offset: -3px; }
.menu-v2-panel { min-height: 180px; padding: 26px 30px 30px; }
.menu-v2-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.menu-v2-summary > div, .menu-v2-category-list article { display: grid; gap: 5px; padding: 18px; border: 1px solid #e0e7e2; border-radius: 16px; background: white; }
.menu-v2-summary span, .menu-v2-category-list span, .menu-v2-category-list small { color: var(--menu-muted); }
.menu-v2-summary strong { font-size: 1.25rem; }
.menu-v2-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; padding: 22px; border: 1px solid #e0e7e2; border-radius: 18px; background: white; }
.menu-v2-form h3, .menu-v2-form > p, .menu-v2-form > button { grid-column: 1 / -1; }
.menu-v2-form label { display: grid; align-content: start; gap: 7px; color: #354039; font-weight: 700; }
.menu-v2-form input, .menu-v2-form select { width: 100%; min-height: 46px; border: 1px solid #cbd5ce; border-radius: 11px; background: #fff; padding: 9px 11px; color: var(--menu-ink); font: inherit; }
.menu-v2-form small { color: var(--menu-muted); font-weight: 500; }
.menu-v2-category-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.menu-v2-note, .menu-v2-actions { margin: 18px 0 0; padding: 16px 18px; border-left: 4px solid var(--menu-accent); border-radius: 10px; background: var(--menu-soft); color: #3e5146; }
.menu-v2-promo-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; align-items: start; }
.menu-v2-promo-grid .menu-v2-form { margin: 0; }
.menu-v2-rules { display: grid; gap: 12px; }
.menu-v2-rules h3 { margin: 0; }
.menu-v2-rules article { display: grid; gap: 10px; padding: 17px; border: 1px solid #e0e7e2; border-radius: 16px; background: white; }
.menu-v2-rules article > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.menu-v2-rules code { padding: 4px 7px; border-radius: 6px; background: #f0f3f1; }
.menu-v2-status { width: fit-content; padding: 5px 8px; border-radius: 999px; background: var(--menu-soft); color: var(--menu-accent); font-size: .74rem; font-weight: 800; }
@media (max-width: 760px) {
  .menu-v2-shell { border-radius: 18px; }
  .menu-v2-shell > header, .menu-v2-panel { padding-left: 18px; padding-right: 18px; }
  .menu-v2-summary, .menu-v2-form, .menu-v2-promo-grid { grid-template-columns: 1fr; }
  .menu-v2-form h3, .menu-v2-form > p, .menu-v2-form > button { grid-column: auto; }
  .menu-v2-tabs { padding: 0 10px; }
}

/* Owner menu master */
.catalog-owner-create { margin-block: 20px; }
.catalog-owner-create form, .catalog-product-edit { display: grid; gap: 14px; }
.catalog-owner-create label, .catalog-product-edit label { display: grid; gap: 6px; font-weight: 700; color: var(--ink, #201914); }
.catalog-owner-create input, .catalog-owner-create select, .catalog-product-edit input, .catalog-product-edit select { width: 100%; min-height: 44px; border: 1px solid #d9d1ca; border-radius: 12px; padding: 10px 12px; background: #fff; color: #201914; font: inherit; }
.catalog-ordering-card { margin: 18px 0; }
.catalog-ordering-card form { display: grid; gap: 14px; }
.catalog-ordering-card label { display: grid; gap: 6px; font-weight: 700; }
.catalog-ordering-card input { min-height: 44px; border: 1px solid #d9d1ca; border-radius: 12px; padding: 10px 12px; background: #fff; color: #201914; font: inherit; }
.catalog-ordering-card .catalog-checkbox { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.catalog-ordering-card .catalog-checkbox input { width: 20px; min-height: 20px; margin: 0; padding: 0; }
.owner-settings-ordering { margin: 0 0 16px; }
.owner-settings-switches, .owner-settings-hours { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.owner-settings-hours { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.owner-settings-ordering input[type="time"], .owner-settings-ordering input[type="text"] { width: 100%; }
.owner-settings-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.owner-settings-submit [role="status"] { flex-basis: 100%; margin: 0; color: var(--dashboard-muted, #64748b); }
.owner-settings-submit [role="status"].form-status { color: var(--dashboard-danger, #b42318); }
.owner-settings-links .dashboard-action-card { min-height: 170px; }
@media (max-width: 760px) {
  .owner-settings-switches, .owner-settings-hours { grid-template-columns: 1fr; }
  .owner-settings-ordering .section-heading { flex-wrap: wrap; }
}
.catalog-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.catalog-form-grid > label { background: #fff; }
.catalog-form-grid .span-field, .catalog-photo-field { grid-column: 1 / -1; }
.catalog-form-grid small { color: #756b64; font-weight: 500; }
.catalog-owner-list { display: grid; gap: 14px; }
.catalog-owner-list > .section-heading { margin-top: 8px; }
.catalog-owner-card { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 20px; align-items: start; }
.catalog-owner-photo { min-height: 190px; border-radius: 18px; background: #eee8e2; display: grid; place-items: center; align-content: center; gap: 8px; color: #65594f; overflow: hidden; }
.catalog-owner-photo > span { font-size: 42px; }
.catalog-owner-photo img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; }
.catalog-card-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 760px) {
  .catalog-owner-card { grid-template-columns: 1fr; }
  .catalog-form-grid { grid-template-columns: 1fr; }
  .catalog-form-grid .span-field, .catalog-photo-field { grid-column: auto; }
  .catalog-owner-photo { max-height: 240px; }
}

/* Owner bahan olahan: one-screen recipe and batch production flows. */
.ingredient-source-choice {
  border: 0;
  margin: 20px 0;
  padding: 0;
  min-inline-size: 0;
}

.ingredient-source-choice legend {
  color: var(--ink, #1f271f);
  font-weight: 800;
  margin-bottom: 10px;
}

.ingredient-prep-guidance {
  background: #f4f7ef;
  border-color: #cbd8ba;
}

.ingredient-prep-guidance ul {
  color: var(--muted, #566052);
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding-left: 22px;
}

.prep-dialog {
  background: transparent;
  border: 0;
  max-height: min(92dvh, 920px);
  max-width: min(1180px, calc(100vw - 32px));
  padding: 0;
  width: 100%;
}

.prep-dialog::backdrop {
  background: rgb(18 24 17 / 72%);
}

.prep-dialog-shell {
  background: var(--surface, #fffdf8);
  border-radius: 22px;
  box-shadow: 0 24px 80px rgb(0 0 0 / 28%);
  display: flex;
  flex-direction: column;
  max-height: min(92dvh, 920px);
  min-width: 0;
  overflow: hidden;
}

.prep-dialog-header,
.prep-dialog-actions {
  align-items: center;
  background: var(--surface, #fffdf8);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 20px 24px;
}

.prep-dialog-header {
  border-bottom: 1px solid var(--line, #dfe4da);
}

.prep-dialog-header h1,
.prep-dialog-header p,
.prep-form-pane h2,
.prep-form-pane h3,
.prep-review-pane h2 {
  margin-block: 0 8px;
}

.prep-dialog-header > div,
.prep-dialog-actions > p {
  min-width: 0;
}

.prep-dialog-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(300px, 2fr);
  min-height: 0;
  overflow: auto;
}

.prep-form-pane,
.prep-review-pane {
  min-width: 0;
  padding: 24px;
}

.prep-review-pane {
  align-self: start;
  background: #f5f7f0;
  border-left: 1px solid var(--line, #dfe4da);
  position: sticky;
  top: 0;
}

.prep-output-fields,
.prep-component-fields {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.prep-output-fields label,
.prep-component-fields label,
.prep-reason {
  color: var(--ink, #1f271f);
  display: grid;
  font-weight: 750;
  gap: 7px;
  min-width: 0;
}

.prep-output-fields input,
.prep-component-fields input,
.prep-component-fields select,
.prep-reason input,
.prep-dialog button,
.prep-production-list button {
  min-height: 44px;
}

.prep-output-fields input,
.prep-component-fields input,
.prep-component-fields select,
.prep-reason input {
  border: 1px solid var(--line-strong, #b9c0b5);
  border-radius: 10px;
  box-sizing: border-box;
  font: inherit;
  max-width: 100%;
  padding: 10px 12px;
  width: 100%;
}

.prep-component-list,
.prep-input-list,
.prep-production-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 18px 0;
  padding: 0;
}

.prep-component-row,
.prep-input-list li,
.prep-production-list li {
  background: #fff;
  border: 1px solid var(--line, #dfe4da);
  border-radius: 14px;
  min-width: 0;
  padding: 14px;
}

.prep-component-heading,
.prep-production-list li,
.prep-input-list li {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.prep-component-fields p,
.prep-production-list li div,
.prep-input-list li div {
  display: grid;
  gap: 4px;
  margin: 0;
  min-width: 0;
}

.prep-component-fields p span,
.prep-production-list span,
.prep-production-list small,
.prep-input-list span,
.prep-input-list small,
.prep-output-fields small,
.prep-confirm small {
  color: var(--muted, #657062);
  font-weight: 500;
}

.prep-input-list li.is-insufficient {
  border-color: #c94a45;
  background: #fff5f3;
}

.prep-review-pane dl {
  display: grid;
  gap: 0;
  margin: 18px 0;
}

.prep-review-pane dl div {
  align-items: start;
  border-bottom: 1px solid var(--line, #dfe4da);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 12px 0;
}

.prep-review-pane dd {
  font-weight: 800;
  margin: 0;
  text-align: right;
}

.prep-review-guard,
.prep-confirm {
  background: #edf4e5;
  border: 1px solid #c7d7b7;
  border-radius: 12px;
  display: block;
  margin-top: 16px;
  padding: 14px;
}

.prep-confirm {
  align-items: flex-start;
  cursor: pointer;
  display: flex;
  gap: 12px;
}

.prep-confirm input {
  block-size: 22px;
  flex: 0 0 22px;
  inline-size: 22px;
  margin-top: 2px;
}

.prep-confirm span {
  display: grid;
  gap: 4px;
}

.prep-reason {
  margin-top: 18px;
}

.prep-dialog-actions {
  border-top: 1px solid var(--line, #dfe4da);
  flex-wrap: wrap;
}

.prep-dialog-actions .form-status {
  margin-right: auto;
}

.prep-production-card {
  overflow: hidden;
}

.prep-planned-orders summary {
  cursor: pointer;
  font-weight: 800;
  min-height: 44px;
  padding-block: 12px;
}

@media (max-width: 760px) {
  .prep-dialog {
    height: 100dvh;
    max-height: 100dvh;
    max-width: 100vw;
    width: 100vw;
  }

  .prep-dialog-shell {
    border-radius: 0;
    height: 100dvh;
    max-height: 100dvh;
  }

  .prep-dialog-header,
  .prep-dialog-actions,
  .prep-form-pane,
  .prep-review-pane {
    padding: 16px;
  }

  .prep-dialog-grid {
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .prep-review-pane {
    border-left: 0;
    border-top: 1px solid var(--line, #dfe4da);
    position: static;
  }

  .prep-output-fields,
  .prep-component-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .prep-component-heading,
  .prep-production-list li,
  .prep-input-list li {
    align-items: stretch;
    flex-direction: column;
  }

  .prep-production-list button,
  .prep-dialog-actions .button {
    width: 100%;
  }
}

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/assets/fonts/plus-jakarta-sans.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
html { min-width: 320px; }
body { margin: 0; min-height: 100vh; background: var(--cream); }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
:focus-visible { outline: 4px solid #1570a2; outline-offset: 3px; }
.skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 50; padding: .8rem 1rem; border-radius: .5rem; background: var(--ink); color: white; transform: translateY(calc(-100% - 2rem)); }
.skip-link:focus { transform: none; }
.environment-banner { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem 1.8rem; min-height: 38px; padding: .58rem 1rem; background: #1c1511; color: #f7e6ce; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.environment-banner span:first-child { color: #ffad76; }
.prototype-queue-notice { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .8rem 0 1rem; padding: .8rem 1rem; border: 1px solid #e8b77f; border-radius: 14px; background: #fff3e4; color: #71350d; }
.prototype-queue-notice strong { white-space: nowrap; }
.kds-card.is-test { border-color: #d9853d; box-shadow: inset 0 4px 0 #d9853d; }
.kds-card.is-test .status-label { color: #9a430d; }
.owner-card-note.is-prototype { color: #9a430d; font-weight: 700; }
.prototype-control-card { border-color: #e8b77f; background: linear-gradient(135deg, #fffaf4, #fff1df); }
.eyebrow { margin: 0 0 .55rem; color: var(--orange-dark); font-size: .73rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .72rem 1rem; border: 1px solid transparent; border-radius: 12px; font-weight: 850; text-decoration: none; }
.button-primary { background: var(--orange); color: #241209; box-shadow: 0 9px 24px rgba(244, 122, 50, .22); }
.button-primary:hover { background: #ff8a44; }
.button-secondary { border-color: var(--coffee); background: white; color: var(--coffee); }
.button-ghost { border-color: var(--line); background: transparent; color: inherit; }
.button-xl { min-height: 58px; padding-inline: 1.5rem; font-size: 1.02rem; }
.button-block { width: 100%; }
.toast { position: fixed; z-index: 60; right: 1rem; bottom: 1rem; max-width: min(430px, calc(100vw - 2rem)); padding: .9rem 1.1rem; border-radius: 12px; background: var(--ink); color: white; box-shadow: var(--shadow); }
.toast[data-danger="true"] { background: var(--red); }

/* Kiosk */
.kiosk-body { overflow-x: hidden; background: radial-gradient(circle at 12% 8%, #fffaf0 0, transparent 35rem), var(--cream); }
.kiosk-shell { width: min(1600px, 100%); min-height: calc(100vh - 38px); margin: auto; }
.welcome-view { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); min-height: calc(100vh - 38px); overflow: hidden; }
.welcome-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2rem, 8vw, 8rem); }
.welcome-copy h1 { margin: 0 0 1.3rem; font-family: Georgia, serif; font-size: clamp(4rem, 9vw, 8.5rem); font-weight: 500; letter-spacing: -.065em; line-height: .84; }
.welcome-copy h1 span { color: var(--orange-dark); }
.welcome-copy > p:not(.eyebrow) { max-width: 36ch; margin: 0 0 2rem; color: var(--muted); font-size: 1.12rem; line-height: 1.65; }
.welcome-mark { position: relative; display: grid; place-items: center; overflow: hidden; background: var(--coffee); color: #ffe9cf; }
.welcome-mark::before, .welcome-mark::after { content: ""; position: absolute; width: 44vw; height: 44vw; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.welcome-mark::after { width: 25vw; height: 25vw; }
.welcome-mark span { z-index: 1; font-family: Georgia, serif; font-size: clamp(7rem, 18vw, 17rem); letter-spacing: -.1em; }
.welcome-mark small { position: absolute; z-index: 1; bottom: 8%; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.order-view { padding: clamp(1rem, 2.4vw, 2.5rem); }
.kiosk-header, .operator-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.kiosk-header h1, .operator-header h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.3rem, 5vw, 4.2rem); font-weight: 500; letter-spacing: -.05em; }
.service-state { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem .8rem; border: 1px solid #b9d7c9; border-radius: 999px; background: #e7f3ed; color: var(--green); font-size: .78rem; font-weight: 850; white-space: nowrap; }
.dot { width: .55rem; height: .55rem; border-radius: 50%; background: #25a06c; box-shadow: 0 0 0 4px rgba(37,160,108,.12); }
.kiosk-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 410px); gap: 1.2rem; align-items: start; }
.catalog-panel, .cart-panel { border: 1px solid var(--line); border-radius: 22px; background: rgba(255,253,248,.82); box-shadow: var(--shadow); }
.catalog-panel { min-width: 0; padding: 1rem; }
.category-tabs { display: flex; gap: .45rem; overflow-x: auto; padding: .2rem .1rem 1rem; scrollbar-width: thin; }
.category-tabs button { min-height: 48px; padding: .7rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--muted); font-weight: 850; white-space: nowrap; }
.category-tabs button[aria-selected="true"] { border-color: var(--coffee); background: var(--coffee); color: white; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.product-card { position: relative; display: grid; min-height: 190px; overflow: hidden; padding: 1rem; border: 0; border-radius: 17px; color: #27180f; text-align: left; box-shadow: inset 0 0 0 1px rgba(34,20,11,.08); }
.product-card::after { content: ""; position: absolute; right: -32px; bottom: -44px; width: 115px; height: 115px; border: 20px solid rgba(255,255,255,.2); border-radius: 50%; }
.product-card.tone-1 { background: #f3c276; }
.product-card.tone-2 { background: #d5b7e7; }
.product-card.tone-3 { background: #add6bf; }
.product-card.tone-4 { background: #f5a591; }
.product-index { font-size: .7rem; font-weight: 900; opacity: .58; }
.cashier-layout .product-index { color: #241a14; opacity: 1; }
.product-name { align-self: end; max-width: 12ch; font-family: Georgia, serif; font-size: clamp(1.3rem, 2.3vw, 2rem); line-height: .98; }
.product-price { align-self: end; font-size: .9rem; font-weight: 900; }
.add-mark { position: absolute; z-index: 1; right: .75rem; top: .75rem; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.74); font-size: 1.4rem; font-weight: 500; }
.cart-panel { position: sticky; top: 1rem; padding: 1.2rem; }
.cart-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.cart-heading h2 { margin: 0; font-family: Georgia, serif; font-size: 1.8rem; font-weight: 500; }
.count-pill { display: inline-flex; align-items: center; min-height: 34px; padding: .4rem .7rem; border-radius: 999px; background: #eee2d2; color: var(--coffee); font-size: .75rem; font-weight: 900; white-space: nowrap; }
.cart-items { display: grid; gap: .1rem; min-height: 270px; max-height: 44vh; overflow-y: auto; padding: .7rem 0; }
.cart-row { display: flex; justify-content: space-between; gap: .8rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid #eadfce; }
.cart-row > div:first-child { display: grid; gap: .25rem; }
.cart-row span { color: var(--muted); font-size: .8rem; }
.quantity-control { display: grid; grid-template-columns: 36px 28px 36px; align-items: center; text-align: center; }
.quantity-control button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 9px; background: white; font-weight: 900; }
.empty-cart { display: grid; place-items: center; align-content: center; color: var(--muted); text-align: center; }
.empty-cart span { font-size: 2.5rem; font-weight: 200; }
.empty-cart p { margin: .25rem 0; font-size: .8rem; }
.cart-summary { margin-bottom: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }
.cart-summary div { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.cart-summary strong { font-family: Georgia, serif; font-size: 1.7rem; }
.cart-summary p { margin: .4rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.center-view { display: grid; min-height: calc(100vh - 38px); place-items: center; padding: 2rem; }
.payment-card, .success-card { width: min(520px, 100%); padding: clamp(1.4rem, 5vw, 2.8rem); border: 1px solid var(--line); border-radius: 26px; background: var(--surface); box-shadow: var(--shadow); text-align: center; }
.payment-card h1, .success-card h1 { margin: 0 0 .7rem; font-family: Georgia, serif; font-size: clamp(2.3rem, 6vw, 4rem); font-weight: 500; letter-spacing: -.045em; }
.order-reference { color: var(--muted); font-weight: 800; }
.fake-qr { display: grid; width: 210px; height: 210px; margin: 1.2rem auto; place-items: center; align-content: center; border: 14px solid var(--ink); background: repeating-linear-gradient(45deg, #241a14 0 7px, #fff 7px 14px); color: white; box-shadow: inset 0 0 0 16px white; }
.fake-qr span, .fake-qr small { z-index: 1; padding: .2rem .45rem; background: var(--ink); font-weight: 900; letter-spacing: .08em; }
.live-qr { display: block; width: min(320px, 78vw); height: auto; margin: 1.2rem auto; border: 10px solid white; border-radius: 12px; box-shadow: 0 12px 35px rgba(36, 26, 20, .16); }
.live-qr[hidden] { display: none; }
.payment-total { margin: .5rem 0; font-family: Georgia, serif; font-size: 2rem; }
.pending-line { display: flex; justify-content: center; gap: .7rem; align-items: center; margin: 1rem 0; color: var(--blue); font-weight: 800; }
.spinner { width: 18px; height: 18px; border: 3px solid #c7deea; border-top-color: var(--blue); border-radius: 50%; animation: spin .9s linear infinite; }
.local-note { margin: .8rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.success-icon { display: grid; width: 74px; height: 74px; margin: 0 auto 1rem; place-items: center; border-radius: 50%; background: #dff1e8; color: var(--green); font-size: 2.1rem; font-weight: 900; }
.order-number { display: block; margin: .4rem 0; font-family: Georgia, serif; font-size: clamp(4rem, 13vw, 7rem); color: var(--orange-dark); letter-spacing: -.06em; }
.success-total { color: var(--muted); font-weight: 800; }
.status-strip { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 1.2rem 0; }
.status-strip span { padding: .7rem; border-radius: 10px; background: #eee6da; font-size: .74rem; font-weight: 800; }

/* Operator */
.operator-body { overflow-x: hidden; background: radial-gradient(circle at 0 0, #fffaf0, transparent 34rem), #eee5d8; }
.operator-shell { width: min(1500px, 100%); min-height: calc(100vh - 38px); margin: auto; padding: clamp(1rem, 3vw, 3rem); }
.operator-login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); gap: 4rem; align-items: center; min-height: calc(100vh - 100px); }
.operator-login h1 { max-width: 11ch; margin: 0 0 1rem; font-family: Georgia, serif; font-size: clamp(3rem, 7vw, 6.5rem); font-weight: 500; line-height: .9; letter-spacing: -.055em; }
.operator-login > div > p:last-child { color: var(--muted); }
.login-brand { display: none; }
:is(.surface-cashier, .surface-admin) .operator-login > div { color: #fffaf0; }
:is(.surface-cashier, .surface-admin) .operator-login > div > .eyebrow { color: #f39a72; }
:is(.surface-cashier, .surface-admin) .operator-login > div > p:last-child { color: #d8cec4; }
.login-card { display: grid; gap: 1rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); }
.login-card label { display: grid; gap: .4rem; color: var(--muted); font-size: .8rem; font-weight: 850; }
.login-card input { min-height: 48px; padding: .75rem .85rem; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--ink); }
.login-identity-fields { display: grid; gap: 1rem; }
.password-field { display: grid; min-width: 0; gap: .4rem; }
.password-field > label { color: var(--muted); font-size: .8rem; font-weight: 850; }
.password-control { position: relative; display: grid; min-width: 0; }
.password-control input { width: 100%; min-width: 0; padding-right: 7.4rem; }
.password-toggle { position: absolute; inset: 5px 5px 5px auto; min-width: 74px; padding: 0 .75rem; border: 0; border-radius: 8px; background: #f2ece4; color: var(--coffee); font-size: .75rem; font-weight: 850; }
.password-toggle:hover { background: #e9dfd3; }
.login-help { margin: -.35rem 0 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.form-status { min-height: 1.2rem; margin: 0; color: var(--red); font-weight: 800; }

/* Production Owner sign-in: one clear task, one password, one action. */
.surface-dashboard.operator-body:has(.owner-login-simple:not([hidden])) { background: #f4f5f7; }
.surface-dashboard .operator-shell:has(.owner-login-simple:not([hidden])) { min-height: calc(100dvh - 38px); padding: 24px; }
.surface-dashboard .owner-login-simple { grid-template-columns: minmax(0, 420px); justify-content: center; align-content: center; gap: 28px; min-height: calc(100dvh - 86px); }
.surface-dashboard .owner-login-simple .operator-login-intro { display: grid; justify-items: center; text-align: center; }
.surface-dashboard .owner-login-simple .login-brand { display: grid; width: 48px; height: 48px; margin-bottom: 22px; place-items: center; border-radius: 12px; background: #b54708; color: white; font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.35rem; font-weight: 800; }
.surface-dashboard .owner-login-simple .eyebrow { margin-bottom: 10px; color: #8a320d; font-family: "Plus Jakarta Sans", sans-serif; font-size: .7rem; letter-spacing: .11em; }
.surface-dashboard .owner-login-simple h1 { max-width: none; margin: 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(2rem, 7vw, 2.75rem); font-weight: 750; line-height: 1.08; letter-spacing: -.045em; }
.surface-dashboard .owner-login-simple #login-description { max-width: 32ch; margin: 12px 0 0; font-size: .92rem; line-height: 1.55; }
.surface-dashboard .owner-login-simple .login-card { gap: 14px; padding: 24px; border-color: #e4e7ec; border-radius: 14px; background: white; box-shadow: 0 12px 32px rgba(16, 24, 40, .08); }
.surface-dashboard .owner-login-simple .login-card label { color: #344054; font-family: "Plus Jakarta Sans", sans-serif; font-size: .8rem; font-weight: 700; }
.surface-dashboard .owner-login-simple .login-card input { min-height: 50px; border-color: #98a2b3; border-radius: 9px; font-family: "Plus Jakarta Sans", sans-serif; }
.surface-dashboard .owner-login-simple .button-primary { min-height: 50px; border-radius: 9px; background: #b54708; color: white; box-shadow: none; font-family: "Plus Jakarta Sans", sans-serif; }
.surface-dashboard .owner-login-simple .button-primary:hover { background: #913806; }
.surface-dashboard .owner-login-simple .login-help { color: #667085; font-family: "Plus Jakarta Sans", sans-serif; }
.surface-dashboard .owner-login-simple .form-status { color: #b42318; font-family: "Plus Jakarta Sans", sans-serif; font-size: .8rem; }
.operator-context { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; align-items: center; }
.operator-content { display: grid; gap: 1rem; }
.operator-intro { display: flex; justify-content: space-between; gap: 1rem; align-items: end; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.operator-intro h2, .dashboard-card h2 { margin: 0; font-family: Georgia, serif; font-size: 1.8rem; font-weight: 500; }
.operator-intro p:last-child { margin: .3rem 0 0; color: var(--muted); }
.hardware-state { display: grid; min-width: 170px; padding: .75rem; border-radius: 10px; background: #fff0d8; }
.hardware-state span, .hardware-state small { color: #80501b; font-size: .7rem; }
.hardware-state strong { color: #6b3d0e; }
.kds-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.kds-card { overflow: hidden; border: 1px solid var(--line); border-top: 8px solid var(--orange); border-radius: 16px; background: var(--surface); box-shadow: 0 12px 32px rgba(50,32,20,.08); }
.kds-card.status-acknowledged { border-top-color: #4b8fbd; }
.kds-card.status-in_progress { border-top-color: var(--yellow); }
.kds-card.status-ready { border-top-color: var(--green); }
.kds-card header { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1rem .6rem; }
.kds-card header h2 { margin: .2rem 0 0; font-family: Georgia, serif; font-size: 2.2rem; }
.kds-card time { color: var(--muted); font-size: .78rem; font-weight: 800; }
.status-label { color: var(--orange-dark); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.kds-card ul { display: grid; gap: .55rem; margin: 0; padding: 1rem; border-block: 1px solid #eadfce; list-style: none; }
.kds-card li { display: grid; grid-template-columns: 2rem 1fr; gap: .5rem; font-size: 1.03rem; }
.kds-footer { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem; }
.kds-footer > span { color: var(--muted); font-size: .7rem; font-weight: 900; letter-spacing: .1em; }
.kds-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.kds-card-actions .button-ghost { min-height: 44px; padding: .45rem .55rem; font-size: .72rem; }

/* KDS V2 · fast scanning, server-clock aging, and large touch actions */
.surface-kds { background: #201a17; font-family: "Plus Jakarta Sans", sans-serif; }
.surface-kds .operator-shell { width: min(1680px, 100%); padding: clamp(14px, 2vw, 28px); }
.surface-kds .operator-header { margin-bottom: .8rem; }
.surface-kds .operator-header h1, .surface-kds .operator-intro h2, .surface-kds .kds-card h2 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; letter-spacing: -.045em; }
.surface-kds .operator-header h1 { font-size: clamp(2.4rem, 4vw, 3.6rem); }
.surface-kds .operator-header { color: #fffaf0; }
.surface-kds .operator-header .eyebrow { color: #f39a72; }
.surface-kds .operator-content { gap: .85rem; }
.surface-kds .kds-command { align-items: center; padding: .85rem 1rem; border: 0; background: #fffaf0; }
.surface-kds .kds-command h2 { font-size: clamp(1.55rem, 2.6vw, 2.35rem); }
.surface-kds .hardware-state { background: #e5f2b0; }
.surface-kds .hardware-state span, .surface-kds .hardware-state small, .surface-kds .hardware-state strong { color: #34421e; }
.kds-overview { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; }
.kds-metric { display: grid; min-height: 88px; gap: .2rem; padding: .7rem .9rem; border-radius: 14px; background: #fffaf0; }
.kds-metric > span, .kds-metric small { color: #665b54; font-size: .72rem; }
.kds-metric strong { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1; }
.kds-metric.tone-new { box-shadow: inset 0 5px 0 #ed7547; }
.kds-metric.tone-acknowledged { box-shadow: inset 0 5px 0 #4b8fbd; }
.kds-metric.tone-in_progress { box-shadow: inset 0 5px 0 #f2c85b; }
.kds-metric.tone-ready { box-shadow: inset 0 5px 0 #79a85a; }
.kds-metric.tone-attention { background: #fff0c2; }
.kds-metric.tone-urgent { background: #ffd8cd; }
.kds-filters { display: flex; gap: .6rem; overflow-x: auto; padding: .15rem 0; }
.kds-filters button { display: inline-flex; min-width: 120px; min-height: 52px; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .9rem; border: 1px solid #6c5b52; border-radius: 999px; background: #302824; color: #fffaf0; font-weight: 750; }
.kds-filters button[aria-pressed="true"] { border-color: #c9f06c; background: #c9f06c; color: #1d1815; }
.kds-filters button strong { display: grid; min-width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.13); }
.surface-kds .kds-grid { gap: .8rem; }
.surface-kds .kds-card { border: 0; border-top: 9px solid #ed7547; border-radius: 18px; box-shadow: none; }
.surface-kds .kds-card.status-acknowledged { border-top-color: #4b8fbd; }
.surface-kds .kds-card.status-in_progress { border-top-color: #f2c85b; }
.surface-kds .kds-card.status-ready { border-top-color: #79a85a; }
.surface-kds .kds-card.is-test { border-top-color: #d9853d; box-shadow: inset 0 4px 0 #d9853d; }
.surface-kds .kds-card.urgency-attention { box-shadow: 0 0 0 3px #f2c85b; }
.surface-kds .kds-card.urgency-urgent { box-shadow: 0 0 0 4px #e05f43; }
.surface-kds .kds-card header { align-items: flex-start; padding: .9rem 1rem .75rem; }
.kds-ticket-identity { display: flex; align-items: flex-start; gap: .75rem; }
.ticket-rank { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: #231d1a; color: #c9f06c; font-size: .76rem; font-weight: 850; }
.surface-kds .kds-card header h2 { margin-top: .1rem; font-size: clamp(2rem, 4vw, 3.2rem); line-height: .95; }
.ticket-age { display: grid; justify-items: end; gap: .2rem; }
.ticket-age strong { font-size: 1.05rem; }
.ticket-age time { font-size: .68rem; }
.surface-kds .kds-card ul { min-height: 112px; padding: .75rem 1rem; }
.kds-stock-simulation { display:grid; gap:.22rem; margin:.1rem 1rem .75rem; padding:.72rem .8rem; border:1px solid #d5c6b8; border-radius:12px; background:#f7f0e7; color:#372b25; }
.kds-stock-simulation strong { font-size:.78rem; }
.kds-stock-simulation span { color:#665b54; font-size:.68rem; line-height:1.45; }
.kds-stock-simulation.is-ready { border-color:#8eba78; background:#edf7ec; }
.kds-stock-simulation.is-shortage,.kds-stock-simulation.is-incomplete_recipe { border-color:#dd8c69; background:#fff0e9; }
.surface-kds .kds-card li { grid-template-columns: 2.2rem 1fr; font-size: 1.08rem; }
.surface-kds .kds-card li > strong { color: #74472f; font-size: 1.15rem; }
.surface-kds .kds-card li > div { display: grid; gap: .22rem; }
.kds-item-name { font-weight: 800; }
.surface-kds .kds-card li small { color: #6d625a; font-size: .78rem; }
.surface-kds .kds-card li em { padding: .35rem .5rem; border-left: 4px solid #ed7547; background: #fff0e6; color: #64301e; font-size: .78rem; font-style: normal; font-weight: 750; }
.surface-kds .kds-footer { padding: .65rem 1rem .8rem; }
.surface-kds .kds-footer > span { color: #665b54; }
.kds-primary-action { min-height: 54px; padding-inline: 1.2rem; border: 2px solid #1d1815; background: #1d1815; color: #fffaf0; }
.kds-primary-action:hover { background: #302824; }
.surface-kds .operator-empty { border-color: #6c5b52; color: #d8ccc3; }
.surface-kds .operator-empty h2 { color: #fffaf0; }
.operator-empty { grid-column: 1 / -1; display: grid; min-height: 300px; place-items: center; align-content: center; border: 1px dashed var(--line); border-radius: 16px; color: var(--muted); text-align: center; }
.operator-empty span { color: var(--green); font-size: 3rem; }
.operator-empty h2 { margin: .4rem 0 0; color: var(--ink); }
.operator-empty p { margin: .4rem 0; }
.operator-empty.compact { min-height: 150px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.metric-card { display: grid; gap: .4rem; padding: 1.1rem; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.metric-card p, .metric-card span { margin: 0; color: var(--muted); font-size: .76rem; }
.metric-card strong { font-family: Georgia, serif; font-size: clamp(1.8rem, 3.5vw, 3rem); font-weight: 500; letter-spacing: -.04em; }
.dashboard-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.dashboard-card { min-width: 0; padding: 1.15rem; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.staff-swap-action { display: grid; gap: .6rem; margin-top: .85rem; padding: .85rem; border: 1px solid #d36b45; border-radius: 12px; background: #fff4ec; }
.staff-swap-action__item { display: grid; gap: .6rem; padding-block: .2rem; }
.staff-swap-action__item + .staff-swap-action__item { border-top: 1px dashed #d36b45; padding-top: .85rem; }
.staff-swap-action h4, .staff-swap-action p { margin: 0; }
.staff-swap-action h4 { font-size: 1rem; }
.staff-swap-action label { display: grid; gap: .35rem; font-size: .82rem; font-weight: 750; }
.staff-swap-action textarea { min-height: 58px; resize: vertical; padding: .65rem; border: 1px solid #cdbfb1; border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; }
.staff-swap-action button { min-height: 48px; justify-content: center; }
.span-5 { grid-column: span 5; }
.span-7 { grid-column: span 7; }
.span-12 { grid-column: 1 / -1; }
.section-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; margin-bottom: 1rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .75rem .5rem; border-bottom: 1px solid #eadfce; text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
td { font-size: .82rem; }
.rank-list { display: grid; gap: .25rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.rank-list li { display: grid; grid-template-columns: 32px 1fr auto; gap: .7rem; align-items: center; padding: .7rem 0; border-bottom: 1px solid #eadfce; }
.rank-list li > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #eee2d2; font-weight: 900; }
.rank-list div { display: grid; }
.rank-list small { color: var(--muted); }
.boundary-status { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; }
.boundary-status div { display: grid; gap: .25rem; padding: .8rem; border-radius: 10px; background: #eee6da; }
.boundary-status span { color: var(--muted); font-size: .68rem; }
.boundary-status strong { font-size: .78rem; }
.cashier-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); gap: 1rem; align-items: start; }
.surface-cashier { background: #201a17; font-family: "Plus Jakarta Sans", sans-serif; }
.surface-cashier .operator-shell { width: min(1680px, 100%); padding: clamp(14px, 2vw, 28px); }
.surface-cashier .operator-header { margin-bottom: .8rem; color: #fffaf0; }
.surface-cashier .operator-header h1,
.surface-cashier .operator-intro h2,
.surface-cashier .cashier-section-heading h2,
.surface-cashier .cart-heading h2 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; letter-spacing: -.045em; }
.surface-cashier .operator-header h1 { font-size: clamp(2.35rem, 4vw, 3.6rem); }
.surface-cashier .operator-header .eyebrow { color: #f39a72; }
.surface-cashier .operator-intro { align-items: center; margin-bottom: .8rem; padding: .75rem 1rem; border: 0; background: #fffaf0; }
.surface-cashier .operator-intro h2 { font-size: 1.45rem; }
.surface-cashier .operator-intro p:last-child { font-size: .76rem; }
.assisted-cash-queue { display: grid; gap: .7rem; margin-bottom: .8rem; padding: .9rem 1rem; border: 2px solid #ed7547; border-radius: 18px; background: #fff1e8; color: #241d19; }
.surface-cashier .cashier-sync-status { color: #fffaf0; font-size: .76rem; font-weight: 750; }
.surface-cashier #cashier-sync-button { min-height: 44px; }
.assisted-cash-queue > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.assisted-cash-queue h2 { margin: 0; font-size: 1.25rem; }
.assisted-cash-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: .65rem; }
.assisted-cash-ticket { display: grid; gap: .55rem; padding: .75rem; border: 1px solid #d7b39f; border-radius: 13px; background: #fffaf0; }
.assisted-cash-ticket-heading, .assisted-cash-declared { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; }
.assisted-cash-ticket-heading > div { display: grid; }
.assisted-cash-ticket-heading > span { padding: .3rem .45rem; border-radius: 999px; background: #ffe2d9; color: #8b392a; font-size: .65rem; font-weight: 850; }
.assisted-cash-ticket ul { margin: 0; padding: .45rem 0 .45rem 1rem; border-block: 1px solid #e5d7c8; font-size: .72rem; }
.assisted-cash-declared { display: grid; grid-template-columns: 1fr auto; }
.assisted-cash-declared small { grid-column: 1 / -1; color: #665b54; }
.assisted-cash-tenders { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; }
.assisted-cash-tenders button { min-height: 44px; border: 1px solid #bcae9f; border-radius: 8px; background: #eee5d8; color: #241d19; font-weight: 800; }
.assisted-cash-ticket label { display: grid; gap: .3rem; color: #665b54; font-size: .68rem; font-weight: 800; }
.assisted-cash-ticket input { min-height: 48px; padding: .6rem .7rem; border: 1px solid #bcae9f; border-radius: 9px; font: inherit; }
.assisted-cash-ticket [data-assist-status] { min-height: 1.1rem; margin: 0; color: #665b54; font-size: .7rem; }
.assisted-cash-ticket [data-assist-status][data-danger="true"] { color: #a5362b; }
.assisted-cash-ticket .button { min-height: 50px; }
.surface-cashier .cashier-layout { grid-template-columns: minmax(0, 1fr) minmax(390px, 460px); gap: .8rem; }
.surface-cashier .catalog-panel,
.surface-cashier .cart-panel { border: 0; border-radius: 18px; background: #fffaf0; box-shadow: none; }
.surface-cashier .catalog-panel { padding: .85rem; }
.surface-cashier .cart-panel { display: grid; height: calc(100vh - 300px); min-height: 480px; grid-template-rows: auto minmax(0, 1fr) auto; top: .8rem; padding: .9rem; overflow: hidden; }
.cashier-section-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; padding: .15rem .2rem .65rem; }
.cashier-section-heading h2 { margin: 0; font-size: 1.65rem; }
.cashier-key-hint { color: #74675f; font-size: .7rem; font-weight: 750; }
.surface-cashier .category-tabs { padding-bottom: .7rem; }
.surface-cashier .category-tabs button { min-height: 48px; border-color: #cdbfb1; }
.surface-cashier .category-tabs button[aria-selected="true"] { border-color: #c9f06c; background: #241d19; box-shadow: inset 0 -4px 0 #c9f06c; }
.surface-cashier .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.surface-cashier .product-card { min-height: 158px; border-radius: 15px; }
.surface-cashier .product-name { font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(1.1rem, 1.8vw, 1.5rem); font-weight: 800; line-height: 1; }
.surface-cashier .add-mark { width: 40px; height: 40px; background: #241d19; color: #c9f06c; }
.surface-cashier .cart-heading { padding-bottom: .65rem; }
.cashier-scroll-region { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-right: .2rem; scrollbar-width: thin; }
.surface-cashier .cart-items { min-height: 92px; max-height: none; padding: .35rem 0; }
.surface-cashier .cart-row { padding: .48rem 0; }
.surface-cashier .quantity-control { grid-template-columns: 42px 30px 42px; }
.surface-cashier .quantity-control button { width: 42px; height: 42px; }
.surface-cashier .checkout-fields { margin: .35rem 0 .6rem; }
.surface-cashier .checkout-fields input,
.surface-cashier .checkout-fields select { min-height: 48px; border-color: #cdbfb1; }
.cash-tender-panel { display: grid; gap: .55rem; margin: .45rem 0 .7rem; padding: .7rem; border-radius: 13px; background: #eee5d8; }
.cash-tender-heading { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.cash-tender-heading strong { font-size: .8rem; }
.cash-tender-heading span { color: #554942; font-size: .68rem; }
.cash-tender-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.cash-tender-options button { display: grid; min-height: 56px; gap: .08rem; padding: .5rem .65rem; border: 1px solid #bcae9f; border-radius: 10px; background: #fffaf0; color: #241d19; text-align: left; }
.cash-tender-options button.is-exact { border-color: #637c2b; background: #e5f2b0; }
.cash-tender-options button strong { font-size: .79rem; }
.cash-tender-options button span { color: #6d625a; font-size: .63rem; }
.cash-tender-status { min-height: 1.1rem; margin: 0; color: #665b54; font-size: .72rem; font-weight: 750; }
.cash-tender-status[data-state="ready"] { color: #49651e; }
.cash-tender-status[data-state="short"],
.cart-summary p[data-danger="true"] { color: #a5362b; }
.surface-cashier .cart-summary { margin-bottom: .7rem; padding-top: .65rem; }
.surface-cashier .cart-summary strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.55rem; font-weight: 850; }
.surface-cashier .cart-summary p { min-height: 1.1rem; }
.cashier-saving { margin-top: .3rem; color: #49651e; }
.cashier-saving strong { font-size: .86rem !important; }
.cashier-pay-action { min-height: 56px; background: #c9f06c; color: #1d1815; box-shadow: none; }
.cashier-pay-action:hover { background: #d9ff7c; }
.cashier-pay-action:disabled { background: #ddd2c5; }
.cashier-payment-footer { position: relative; z-index: 1; border-top: 1px solid #d8cdbd; background: #fffaf0; }
.cashier-payment-footer .cart-summary { border-top: 0; }
.checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin: .5rem 0 1rem; }
.checkout-fields label { display: grid; gap: .3rem; color: var(--muted); font-size: .7rem; font-weight: 850; }
.checkout-fields input, .checkout-fields select { width: 100%; min-height: 44px; padding: .62rem .7rem; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); }
.checkout-fields .span-two { grid-column: 1 / -1; }
.kiosk-options { padding-top: .8rem; border-top: 1px solid var(--line); }
.result-card { display: grid; gap: .45rem; margin-top: .8rem; padding: .9rem; border: 1px solid #b9d7c9; border-radius: 11px; background: #edf7f1; }
.result-card span { color: var(--green); font-size: 1.2rem; font-weight: 900; }
.result-card small { color: var(--muted); }
.cashier-qris-result { gap: .6rem; border-color: #ddad55; background: #fff1c7; }
.cashier-qris-result.tone-checking { border-color: #8fa55b; background: #eef5d0; }
.cashier-qris-result.tone-paid { border-color: #79a85a; background: #e5f2b0; }
.cashier-qris-result.tone-warning { border-color: #d85c43; background: #ffe2d9; }
.cashier-qris-heading { display: flex; justify-content: space-between; gap: .8rem; align-items: start; }
.cashier-qris-heading > div { display: grid; gap: .15rem; }
.cashier-qris-heading small { color: #6b552e; font-size: .62rem; font-weight: 850; letter-spacing: .08em; }
.cashier-qris-heading strong { font-size: 1rem; line-height: 1.15; }
.cashier-qris-heading > span { color: #241d19; font-size: 1.15rem; white-space: nowrap; }
.cashier-qris-fact { display: flex; justify-content: space-between; gap: .8rem; padding: .45rem .55rem; border-radius: 8px; background: rgba(255,255,255,.56); }
.cashier-qris-fact span, .cashier-qris-fact strong { color: #352a24; font-size: .72rem; }
.cashier-qris-result p { margin: 0; color: #554942; font-size: .72rem; line-height: 1.45; }
.cashier-qris-result .cashier-qris-safety { padding-left: .55rem; border-left: 4px solid #b74d33; color: #732f22; font-weight: 800; }
.cashier-qris-result .button { min-height: 56px; }
.admin-product-list { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin-top: 1rem; }
.admin-product-list > div { display: flex; justify-content: space-between; gap: .7rem; align-items: center; padding: .7rem; border: 1px solid var(--line); border-radius: 10px; }
.admin-product-list span { display: grid; gap: .2rem; }
.admin-product-list small, .device-list span, .device-list small { color: var(--muted); }
.admin-product-list .button { min-height: 38px; padding: .45rem .65rem; font-size: .7rem; }
.device-list, .integration-list { display: grid; gap: .55rem; margin-top: 1rem; }
.device-list > div, .integration-list > div { display: grid; gap: .2rem; padding: .75rem; border-radius: 10px; background: #eee6da; }
.integration-list strong { overflow-wrap: anywhere; font-size: .72rem; }

/* Admin Control Room V2 · safe availability command desk */
.surface-admin { max-width: 100vw; overflow-x: hidden; background: #201a17; font-family: "Plus Jakarta Sans", sans-serif; }
.surface-admin :focus-visible { outline-width: 3px; outline-offset: 0; }
.surface-admin .operator-shell { width: min(1680px, 100%); max-width: 100%; min-width: 0; padding: clamp(14px, 2vw, 28px); }
.surface-admin .operator-header { margin-bottom: .8rem; color: #fffaf0; }
.surface-admin .operator-header h1,
.surface-admin .admin-command h2,
.surface-admin .admin-catalog-card h2,
.surface-admin .admin-guide-card h2,
.surface-admin .admin-ops-card h2 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; letter-spacing: -.045em; }
.surface-admin .operator-header h1 { font-size: clamp(2.35rem, 4vw, 3.6rem); }
.surface-admin .operator-header .eyebrow { color: #f39a72; }
.surface-admin .button { box-shadow: none; }
.surface-admin .button-primary { background: #c9f06c; color: #1d1815; }
.surface-admin .button-danger { border-color: #b33f2d; background: #b33f2d; color: #fffaf0; }
.admin-command { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .9rem 1rem; border-radius: 17px; background: #fffaf0; }
.admin-command h2 { margin: 0; font-size: clamp(1.55rem, 2.5vw, 2.25rem); }
.admin-command p:last-child { max-width: 68ch; margin: .3rem 0 0; color: #665b54; font-size: .78rem; }
.admin-freshness { display: grid; min-width: 190px; justify-items: end; padding: .65rem .75rem; border-radius: 12px; background: #e5f2b0; }
.admin-freshness span, .admin-freshness small { color: #4c5e28; font-size: .65rem; }
.admin-freshness strong { font-size: 1.3rem; }
.admin-conflict { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: .8rem 1rem; border: 1px solid #e4a18e; border-radius: 15px; background: #ffe2d9; color: #5d241b; }
.admin-conflict > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #b33f2d; color: #fffaf0; font-size: 1.1rem; font-weight: 900; }
.admin-conflict p { margin: .2rem 0 0; color: #744139; font-size: .72rem; }
.admin-conflict .button { min-height: 44px; border-color: #9e4a3b; }
.admin-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.surface-admin .metric-card { min-height: 105px; border: 0; border-top: 6px solid #d1c4b4; border-radius: 15px; background: #fffaf0; }
.surface-admin .metric-card.tone-ready { border-top-color: #79a85a; }
.surface-admin .metric-card.tone-warning { border-top-color: #ed7547; background: #ffe2d9; }
.surface-admin .metric-card.tone-clear { border-top-color: #c9f06c; }
.surface-admin .metric-card.tone-device { border-top-color: #d5b7e7; }
.surface-admin .metric-card strong { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 850; }
.admin-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 390px); gap: .75rem; align-items: start; }
.admin-catalog-card, .admin-guide-card, .admin-confirm-card, .admin-ops-card { min-width: 0; padding: 1rem; border-radius: 17px; background: #fffaf0; }
.admin-catalog-card .section-heading { margin-bottom: .7rem; }
.admin-catalog-card h2, .admin-guide-card h2, .admin-confirm-card h2, .admin-ops-card h2 { margin: 0; font-size: 1.55rem; }
.admin-count { display: inline-flex; min-height: 34px; align-items: center; padding: .35rem .65rem; border-radius: 999px; background: #e5f2b0; color: #40551d; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.admin-catalog-tools { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: .7rem; align-items: end; }
.admin-search { display: grid; gap: .3rem; color: #665b54; font-size: .68rem; font-weight: 800; }
.admin-search input, .admin-confirm-card select { width: 100%; min-height: 48px; padding: .65rem .75rem; border: 1px solid #bcae9f; border-radius: 10px; background: #fffdf8; color: #241a14; }
.admin-catalog-tools fieldset { margin: 0; padding: 0; border: 0; }
.admin-catalog-tools legend, .admin-confirm-card label { margin-bottom: .3rem; color: #665b54; font-size: .68rem; font-weight: 800; }
.admin-filter-row { display: flex; gap: .4rem; }
.admin-filter, .admin-category { min-height: 48px; padding: .6rem .8rem; border: 1px solid #bcae9f; border-radius: 999px; background: #fffdf8; color: #51463f; font-size: .72rem; font-weight: 800; }
.admin-filter[aria-pressed="true"], .admin-category[aria-pressed="true"] { border-color: #241d19; background: #241d19; color: #fffaf0; box-shadow: inset 0 -4px 0 #c9f06c; }
.admin-category-row { display: flex; gap: .4rem; overflow-x: auto; overscroll-behavior-inline: contain; contain: inline-size; padding: .7rem 0; scrollbar-width: thin; }
.admin-category { flex: 0 0 auto; }
.admin-product-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin-top: 0; }
.admin-product-card { display: grid; min-height: 176px; align-content: start; padding: .75rem; border: 0; border-top: 5px solid #79a85a; border-radius: 13px; background: #eee5d8; }
.admin-product-card.is-sold-out { border-top-color: #d85c43; background: #ffe2d9; }
.admin-product-card > div { display: flex; justify-content: space-between; gap: .5rem; align-items: center; }
.admin-product-card h3 { margin: .75rem 0 .15rem; font-size: 1rem; line-height: 1.1; }
.admin-product-card p { margin: 0 0 .65rem; color: #665b54; font-size: .72rem; font-weight: 700; }
.admin-product-card .availability-window { display: block; min-height: 2.2em; margin: -.35rem 0 .55rem; color: #8a2f21; font-weight: 800; line-height: 1.35; }
.admin-product-card .button { min-height: 46px; margin-top: auto; font-size: .7rem; }
.admin-product-card small { color: #665b54; font-size: .62rem; }
.availability-badge { display: inline-flex; min-height: 26px; align-items: center; padding: .25rem .45rem; border-radius: 999px; background: #dcebc7; color: #40551d; font-size: .62rem; font-weight: 850; }
.is-sold-out .availability-badge { background: #b33f2d; color: #fffaf0; }
.admin-empty { display: grid; min-height: 160px; place-content: center; gap: .3rem; color: #665b54; text-align: center; }
.admin-empty strong { color: #241a14; font-size: 1rem; }
.admin-side-stack { display: grid; gap: .75rem; position: sticky; top: .75rem; }
.admin-guide-card ol { display: grid; gap: .55rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.admin-guide-card li { display: grid; grid-template-columns: 34px 1fr; gap: .6rem; align-items: center; padding: .6rem; border-radius: 11px; background: #eee5d8; }
.admin-guide-card li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #241d19; color: #c9f06c; font-size: .7rem; font-weight: 900; }
.admin-guide-card li div { display: grid; gap: .1rem; }
.admin-guide-card small, .admin-confirm-card > small { color: #665b54; font-size: .65rem; }
.admin-confirm-card { box-shadow: inset 0 6px 0 #d85c43; }
.admin-confirm-card:has(.confirmation-intent.is-restore) { box-shadow: inset 0 6px 0 #79a85a; }
.confirmation-intent { display: inline-flex; margin-bottom: .7rem; padding: .28rem .48rem; border-radius: 999px; background: #b33f2d; color: #fffaf0; font-size: .63rem; font-weight: 900; letter-spacing: .08em; }
.confirmation-intent.is-restore { background: #40551d; }
.admin-confirm-card > p:not(.eyebrow) { margin: .35rem 0 .8rem; color: #665b54; font-size: .75rem; line-height: 1.45; }
.admin-confirm-card label { display: block; }
.admin-confirm-card #availability-reset { margin-top: .15rem; }
.admin-confirm-card .availability-reset-help { display: block; margin: .3rem 0 .7rem; line-height: 1.35; }
.admin-confirm-actions { display: grid; grid-template-columns: 1fr 1.2fr; gap: .5rem; margin: .65rem 0; }
.admin-ops-card .device-list, .admin-ops-card .integration-list { margin-top: .7rem; }
.admin-ops-card .device-list > div, .admin-ops-card .integration-list > div { background: #eee5d8; }
.admin-integrations > div { box-shadow: inset 4px 0 0 #efa44f; }
.admin-integrations > div.tone-ready { box-shadow: inset 4px 0 0 #79a85a; }
.admin-integrations > div.tone-local { box-shadow: inset 4px 0 0 #8d70a0; }
.admin-integrations > div.tone-blocked { box-shadow: inset 4px 0 0 #d85c43; }
.admin-integrations strong { color: #4c4039; font-size: .78rem; }
.admin-integrations small { color: #665b54; font-size: .65rem; }
.admin-history-card { min-width: 0; padding: 1rem; border-radius: 17px; background: #fffaf0; }
.admin-history-card .section-heading { align-items: end; margin-bottom: .7rem; }
.admin-history-card h2 { margin: 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.55rem; font-weight: 800; letter-spacing: -.045em; }
.admin-history-card .section-heading p:last-child { margin: .25rem 0 0; color: #665b54; font-size: .7rem; }
.admin-history-filters { display: flex; gap: .4rem; }
.admin-history-filters button { min-height: 44px; padding: .55rem .75rem; border: 1px solid #bcae9f; border-radius: 999px; background: #fffdf8; color: #51463f; font-size: .7rem; font-weight: 800; }
.admin-history-filters button[aria-pressed="true"] { border-color: #241d19; background: #241d19; color: #fffaf0; box-shadow: inset 0 -4px 0 #c9f06c; }
.admin-history-table { overflow-x: auto; border: 1px solid #ded2c2; border-radius: 12px; }
.admin-history-table table { min-width: 840px; }
.admin-history-table caption { padding: .7rem .8rem; border-bottom: 1px solid #ded2c2; color: #665b54; font-size: .68rem; font-weight: 750; text-align: left; }
.admin-history-table th, .admin-history-table td { padding: .65rem .75rem; }
.admin-history-table tbody tr:last-child > * { border-bottom: 0; }
.admin-history-table th[scope="row"] { color: #241a14; font-size: .78rem; letter-spacing: 0; text-transform: none; }
.admin-history-table td { color: #51463f; font-size: .72rem; }
.admin-history-table td:nth-child(2) { display: grid; gap: .18rem; }
.admin-history-table td:nth-child(2) small { color: #665b54; font-size: .62rem; }
.history-status { display: inline-flex; width: fit-content; min-height: 25px; align-items: center; padding: .25rem .45rem; border-radius: 999px; background: #ffd9cf; color: #8a2f21; font-size: .62rem; font-weight: 850; }
.history-status.is-restored { background: #dcebc7; color: #40551d; }
.history-schedule { display: block; margin-top: .25rem; color: #665b54; line-height: 1.35; }
.admin-history-empty { display: grid; min-height: 120px; place-content: center; gap: .2rem; border: 1px dashed #cdbfb1; border-radius: 12px; color: #665b54; text-align: center; }
.admin-history-empty span { color: #241a14; font-weight: 850; }
.admin-history-empty p { margin: 0; font-size: .7rem; }
.admin-lower-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.hpp-workspace { display: grid; gap: 1rem; box-shadow: inset 0 6px 0 #8d70a0; }
.hpp-workspace .section-heading { align-items: start; }
.hpp-workspace .section-heading p:last-child { max-width: 74ch; margin: .25rem 0 0; color: #665b54; font-size: .72rem; line-height: 1.5; }
.hpp-gate-badge { display: inline-flex; min-height: 34px; align-items: center; padding: .4rem .7rem; border-radius: 999px; background: #eee5d8; color: #665b54; font-size: .66rem; font-weight: 900; white-space: nowrap; }
.hpp-gate-badge.is-active { background: #dcebc7; color: #40551d; }
.hpp-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.hpp-summary article { display: grid; min-height: 108px; align-content: center; gap: .2rem; padding: .8rem; border-radius: 13px; background: #eee5d8; }
.hpp-summary span, .hpp-summary small { color: #665b54; font-size: .66rem; }
.hpp-summary strong { font-size: 1.6rem; line-height: 1; }
.hpp-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.hpp-editor-card { display: grid; align-content: start; gap: .7rem; padding: .9rem; border: 1px solid #ded2c2; border-radius: 14px; background: #fffdf8; }
.hpp-editor-card h3, .hpp-product-list h3, .hpp-gate-control h3 { margin: 0; font-size: 1.05rem; }
.hpp-editor-card label, .hpp-gate-control label, .hpp-remove-form label, .hpp-modifier-remove-form label, .hpp-fulfillment-remove-form label { display: grid; min-width: 0; gap: .3rem; color: #665b54; font-size: .68rem; font-weight: 800; }
.hpp-editor-card input, .hpp-editor-card select, .hpp-gate-control input, .hpp-gate-control select, .hpp-remove-form input, .hpp-modifier-remove-form input, .hpp-fulfillment-remove-form input { width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding: .65rem .7rem; border: 1px solid #aa9b8e; border-radius: 10px; background: #fffdf8; color: #241a14; font: inherit; }
.hpp-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.hpp-editor-card [role="status"], .hpp-gate-control [role="status"] { min-height: 1.2em; margin: 0; color: #923512; font-size: .7rem; }
.hpp-editor-card .button { min-height: 48px; }
.hpp-purchase-panel { display: grid; gap: .75rem; padding: .9rem; border: 1px solid #ded2c2; border-radius: 14px; background: #fff7e7; }
.hpp-po-receive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.hpp-po-receive-form { border-color: #bfd586; box-shadow: inset 5px 0 0 #bdf45b; }
.hpp-po-receive-form > div:first-of-type small { display: block; margin-top: .25rem; color: #665b54; font-size: .64rem; }
.hpp-po-receive-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
.hpp-po-receive-summary span { display: grid; gap: .15rem; padding: .5rem; border-radius: 9px; background: #f0eadf; color: #665b54; font-size: .61rem; }
.hpp-po-receive-summary strong { color: #241a14; font-size: .72rem; overflow-wrap: anywhere; }
.hpp-po-receive-plan { margin: 0; padding: .6rem .7rem; border-radius: 9px; background: #e7f4cf; color: #40551d; font-size: .7rem; font-weight: 850; line-height: 1.4; }
.hpp-po-receive-help { margin: 0; color: #665b54; font-size: .64rem; line-height: 1.5; }
.hpp-invoice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: .8rem; }
.hpp-invoice-form { min-width: 0; overflow: hidden; border-color: #b8c9d8; box-shadow: inset 5px 0 0 #5790bb; }
.hpp-invoice-form > div:first-of-type { min-width: 0; }
.hpp-invoice-form h3, .hpp-invoice-form > div:first-of-type small { overflow-wrap: anywhere; }
.hpp-invoice-lines { display: grid; gap: .5rem; }
.hpp-invoice-line { display: grid; gap: .35rem; padding: .65rem; border: 1px solid #ddd2c6; border-radius: 10px; background: #f8f4ee; }
.hpp-invoice-line > small { color: #665b54; font-size: .64rem; line-height: 1.4; }
.hpp-invoice-line[data-state="exception"] { border-color: #c87352; background: #fff2eb; }
.hpp-invoice-total { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem .75rem; border-radius: 10px; background: #241a14; color: #fffaf2; }
.hpp-invoice-total span { font-size: .68rem; font-weight: 800; }
.hpp-invoice-match { display: grid; gap: .15rem; margin: 0; padding: .65rem .75rem; border-radius: 10px; }
.hpp-invoice-match[data-state="matched"] { background: #e7f4cf; color: #40551d; }
.hpp-invoice-match[data-state="exception"] { background: #fff0e9; color: #8e351b; }
.hpp-invoice-match small { font-size: .62rem; line-height: 1.4; }
.hpp-invoice-post-form, .hpp-credit-post-form, .hpp-supplier-replacement-form { display: grid; gap: .45rem; min-width: 210px; margin-top: .6rem; }
.hpp-invoice-post-form input, .hpp-credit-post-form input, .hpp-supplier-replacement-form input { min-height: 44px; width: 100%; box-sizing: border-box; padding: .55rem; border: 1px solid var(--line); border-radius: 8px; }
.hpp-invoice-post-form .button, .hpp-credit-post-form .button, .hpp-supplier-replacement-form .button { min-height: 44px; }

/* Accounts payable review · isolated finance surface */
.surface-ap { background: #f4f6f8; color: #1d2939; }
.surface-ap .operator-shell { width: min(1180px, calc(100% - 32px)); }
.surface-ap .operator-header { border-radius: 0 0 16px 16px; background: #fff; color: #1d2939; box-shadow: 0 1px 3px rgba(16,24,40,.08); }
.surface-ap .operator-content { display: grid; gap: 18px; padding-block: 22px 48px; }
.ap-command { margin: 0; border: 1px solid #e4e7ec; background: #fff; color: #1d2939; }
.ap-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ap-review-card { display: grid; gap: 14px; min-width: 0; padding: 18px; border: 1px solid #d0d5dd; border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.05); }
.ap-review-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.ap-review-heading h2, .ap-review-heading p { margin: 0; }
.ap-review-heading h2 { overflow-wrap: anywhere; font-size: 1.1rem; }
.ap-review-heading p { margin-top: 4px; color: #667085; font-size: .75rem; }
.ap-review-heading > strong { flex: none; font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.ap-match-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.ap-match-grid > div { padding: 10px; border-radius: 9px; background: #f2f4f7; }
.ap-match-grid dt { color: #667085; font-size: .65rem; }
.ap-match-grid dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: .75rem; font-weight: 800; }
.ap-boundary { margin: 0; padding: 11px; border-left: 4px solid #f79009; background: #fffaeb; color: #7a2e0e; font-size: .72rem; line-height: 1.5; }
.ap-decision-form, .ap-credit-form { display: grid; gap: 10px; }
.ap-decision-form label, .ap-credit-form label { display: grid; gap: 6px; color: #475467; font-size: .72rem; font-weight: 750; }
.ap-decision-form input, .ap-credit-form input, .ap-credit-form select { min-height: 48px; width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid #d0d5dd; border-radius: 9px; background: #fff; font: inherit; }
.ap-credit-form .button { min-height: 48px; }
.ap-decision-actions { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); gap: 8px; }
.ap-decision-actions .button { min-height: 48px; }
@media (max-width: 760px) { .surface-ap .operator-shell { width: min(100% - 20px, 1180px); } .surface-ap .operator-header { flex-wrap: wrap; padding: 14px; } .surface-ap .operator-context { width: 100%; justify-content: flex-start; } .ap-review-grid { grid-template-columns: 1fr; } .ap-match-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ap-review-heading { display: grid; gap: 8px; } }
.hpp-status.is-matched { background: #e7f4cf; color: #40551d; }
.hpp-status.is-exception { background: #fff0e9; color: #8e351b; }
.hpp-po-complete { border: 1px dashed #b8c894; border-radius: 10px; background: #f7fbe9; color: #40551d; }
.hpp-po-manage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.hpp-po-manage-card { display: grid; align-content: start; gap: .8rem; padding: .9rem; border: 1px solid #ded2c2; border-radius: 14px; background: #fffdf8; }
.hpp-po-manage-card h4 { margin: 0; font-size: 1rem; }
.hpp-po-manage-card > div > small { display: block; margin-top: .2rem; color: #665b54; font-size: .65rem; }
.hpp-po-control-form { display: grid; gap: .65rem; padding-top: .75rem; border-top: 1px solid #ded2c2; }
.hpp-po-control-form label { display: grid; min-width: 0; gap: .3rem; color: #665b54; font-size: .68rem; font-weight: 800; }
.hpp-po-control-form input, .hpp-po-control-form select { width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding: .65rem .7rem; border: 1px solid #aa9b8e; border-radius: 10px; background: #fffdf8; color: #241a14; font: inherit; }
.hpp-po-control-form [role="status"] { min-height: 1.2em; margin: 0; color: #923512; font-size: .7rem; }
.hpp-po-control-form .button { min-height: 48px; }
.hpp-po-control-form.is-cancel { border-top-style: dashed; }
.hpp-po-lock-note { margin: 0; padding: .7rem; border-radius: 10px; background: #f0eadf; color: #665b54; font-size: .7rem; line-height: 1.5; }
.hpp-po-lines { display: grid; gap: .65rem; }
.hpp-po-line { display: grid; min-width: 0; gap: .6rem; margin: 0; padding: .7rem; border: 1px solid #d8c8b8; border-radius: 12px; background: #fffaf1; }
.hpp-po-line legend { padding: 0 .35rem; color: #713a1f; font-size: .68rem; font-weight: 900; }
.hpp-po-line-remove { justify-self: end; min-width: 112px; }
.hpp-po-line-remove:disabled { visibility: hidden; }
.hpp-po-draft-actions { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .6rem; }
.hpp-po-draft-summary { display: grid; min-width: 120px; justify-items: end; gap: .1rem; padding: .45rem .6rem; border-radius: 10px; background: #f0eadf; }
.hpp-po-draft-summary span { color: #665b54; font-size: .64rem; font-weight: 750; }
.hpp-po-draft-summary strong { color: #241a14; font-size: .82rem; }
.hpp-po-duplicate-status { min-height: 1.2em; margin: 0; color: #923512; font-size: .7rem; font-weight: 750; }
.hpp-inventory-panel { display: grid; gap: .75rem; padding: .9rem; border: 1px solid #c7d6b4; border-radius: 14px; background: #f5faea; }
.hpp-full-count-panel { display: grid; gap: .75rem; padding: .9rem; border: 1px solid #cdb9dc; border-radius: 14px; background: #faf4ff; }
.hpp-full-count-panel h3 { margin: 0; font-size: 1.05rem; }
.hpp-full-count-form { display: grid; gap: .7rem; }
.hpp-count-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.hpp-count-grid label, .hpp-full-count-reason { display: grid; min-width: 0; gap: .25rem; padding: .65rem; border-radius: 11px; background: #fffdf8; color: #4c4039; font-size: .7rem; font-weight: 850; }
.hpp-count-grid label small { color: #766a82; font-size: .61rem; font-weight: 650; }
.hpp-count-grid input, .hpp-full-count-reason input { width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding: .65rem .7rem; border: 1px solid #9f8bad; border-radius: 10px; background: #fff; color: #241a14; font: inherit; }
.hpp-full-count-reason { padding: 0; background: transparent; }
.hpp-full-count-form [role="status"] { min-height: 1.2em; margin: 0; color: #923512; font-size: .7rem; }
.hpp-full-count-form .button { min-height: 48px; justify-self: start; }
.hpp-count-details summary { display: flex; min-height: 44px; cursor: pointer; align-items: center; color: #4d3260; font-weight: 850; }
.hpp-workspace input[type="checkbox"] {
  appearance: none;
  display: inline-grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  place-content: center;
  border: 2px solid #7a4a2d;
  border-radius: 10px;
  background: #fffdf8;
  accent-color: #7a4a2d;
}
.hpp-workspace input[type="checkbox"]::before {
  content: "";
  width: 18px;
  height: 18px;
  transform: scale(0);
  border-radius: 5px;
  background: #7a4a2d;
  transition: transform .12s ease;
}
.hpp-workspace input[type="checkbox"]:checked::before { transform: scale(1); }
.hpp-count-details ul { display: grid; gap: .3rem; margin: .35rem 0 0; padding: 0; list-style: none; }
.hpp-count-details li { display: grid; grid-template-columns: minmax(110px, 1fr) auto auto; gap: .45rem; padding: .35rem .45rem; border-radius: 7px; background: #faf4ff; }
.hpp-count-details li span, .hpp-count-details li small { white-space: nowrap; }
.hpp-inventory-panel h3 { margin: 0; font-size: 1.05rem; }
.hpp-purchase-panel h3 { margin: 0; font-size: 1.05rem; }
.hpp-purchase-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; align-items: end; }
.hpp-purchase-form label { display: grid; min-width: 0; gap: .3rem; color: #665b54; font-size: .68rem; font-weight: 800; }
.hpp-purchase-form input, .hpp-purchase-form select { width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding: .65rem .7rem; border: 1px solid #aa9b8e; border-radius: 10px; background: #fffdf8; color: #241a14; font: inherit; }
.hpp-purchase-form label small { min-height: 1em; font-size: .6rem; font-weight: 600; }
.hpp-purchase-form .hpp-purchase-reason { grid-column: span 2; }
.hpp-purchase-form .hpp-period-confirm { grid-column: 1 / -1; display: flex; align-items: center; gap: .65rem; min-height: 48px; color: #241a14; }
.hpp-purchase-form .hpp-period-confirm input { width: 44px; min-height: 44px; flex: 0 0 44px; accent-color: #7fa52f; }
.hpp-purchase-form [role="status"] { grid-column: 1 / -1; min-height: 1.2em; margin: 0; color: #923512; font-size: .7rem; }
.hpp-purchase-form .button { min-height: 48px; }
.hpp-balance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.hpp-balance-grid article { display: grid; min-width: 0; gap: .18rem; padding: .65rem; border-radius: 10px; background: #eee5d8; }
.hpp-balance-grid span, .hpp-balance-grid small { color: #665b54; font-size: .62rem; overflow-wrap: anywhere; }
.hpp-balance-grid strong { font-size: .82rem; overflow-wrap: anywhere; }
.hpp-receipt-table { min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior: contain; contain: inline-size; border-radius: 10px; background: #fffdf8; }
.hpp-receipt-table table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: .68rem; }
.hpp-receipt-table caption { padding: .55rem; text-align: left; color: #665b54; font-weight: 800; }
.hpp-receipt-table th, .hpp-receipt-table td { padding: .6rem; border-top: 1px solid #ded2c2; text-align: left; vertical-align: top; }
.hpp-receipt-table td small, .hpp-receipt-table th small { display: block; margin-top: .2rem; color: #665b54; }
.ap-credit-reversal-form, .hpp-credit-reversal-form { display: grid; min-width: 210px; gap: .45rem; margin-top: .55rem; }
.ap-credit-reversal-form label, .hpp-credit-reversal-form label { display: grid; }
.ap-credit-reversal-form input, .hpp-credit-reversal-form input { width: 100%; min-width: 0; min-height: 44px; padding: .6rem .7rem; border: 1px solid #aa9b8e; border-radius: 10px; background: #fffdf8; color: #241a14; }
.ap-credit-reversal-form [role="status"], .hpp-credit-reversal-form [role="status"] { min-height: 1em; margin: 0; color: #923512; }
.hpp-credit-reversal-form .ap-decision-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.hpp-empty-receipt { margin: 0; padding: .8rem; color: #665b54; font-size: .68rem; }
.hpp-product-list { display: grid; max-height: 760px; gap: .55rem; overflow-y: auto; overscroll-behavior: contain; padding-right: .25rem; scrollbar-width: thin; }
.hpp-product-row { display: grid; grid-template-columns: minmax(190px, .85fr) minmax(300px, 1.15fr); gap: .75rem 1rem; align-items: center; padding: .75rem; border-radius: 13px; background: #eee5d8; box-shadow: inset 5px 0 0 #d85c43; }
.hpp-product-row.is-verified { box-shadow: inset 5px 0 0 #79a85a; }
.hpp-product-title h4 { margin: .3rem 0 .15rem; font-size: .95rem; }
.hpp-product-title small { color: #665b54; font-size: .64rem; }
.hpp-status { display: inline-flex; padding: .24rem .42rem; border-radius: 999px; background: #ffe2d9; color: #8a2f21; font-size: .58rem; font-weight: 900; letter-spacing: .04em; }
.is-verified .hpp-status { background: #dcebc7; color: #40551d; }
.hpp-product-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.hpp-product-metrics > div { display: grid; gap: .1rem; padding: .55rem; border-radius: 9px; background: #fffaf0; }
.hpp-product-metrics span { color: #665b54; font-size: .6rem; }
.hpp-product-metrics strong { font-size: .76rem; overflow-wrap: anywhere; }
.hpp-recipe-lines { grid-column: 1 / -1; }
.hpp-recipe-lines > p { margin: 0; padding: .6rem; border: 1px dashed #bcae9f; border-radius: 9px; color: #665b54; font-size: .68rem; }
.hpp-recipe-lines ul { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.hpp-recipe-lines li { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(300px, 1.5fr); gap: .6rem; align-items: center; padding: .55rem; border-radius: 9px; background: #fffaf0; }
.hpp-recipe-lines li > div { display: grid; gap: .1rem; }
.hpp-recipe-lines small { color: #665b54; font-size: .63rem; }
.hpp-remove-form { display: grid; grid-template-columns: minmax(140px, 1fr) auto; gap: .45rem; align-items: end; }
.hpp-remove-form .button, .hpp-modifier-remove-form .button, .hpp-fulfillment-remove-form .button { min-height: 48px; }
.hpp-gate-control { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(200px, .65fr) minmax(240px, .8fr) auto; gap: .65rem; align-items: end; padding: .85rem; border-radius: 14px; background: #2b2420; color: #fffaf0; }
.hpp-gate-control .eyebrow { color: #ffd2bd; }
.hpp-gate-control p:not(.eyebrow) { margin: .25rem 0 0; color: #d8cec4; font-size: .67rem; line-height: 1.45; }
.hpp-gate-control label { color: #d8cec4; }
.hpp-gate-control [role="status"] { grid-column: 1 / -1; color: #ffb59f; }
.hpp-gate-control .button { min-height: 48px; }

/* Owner Dashboard V2 · now, today, verify */
.surface-dashboard { background: #201a17; font-family: "Plus Jakarta Sans", sans-serif; }
.surface-dashboard .operator-shell { width: min(1680px, 100%); padding: clamp(14px, 2vw, 28px); }
.surface-dashboard .operator-header { margin-bottom: .8rem; color: #fffaf0; }
.surface-dashboard .operator-header h1,
.surface-dashboard .owner-command h2,
.surface-dashboard .dashboard-card h2 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; letter-spacing: -.045em; }
.surface-dashboard .operator-header h1 { font-size: clamp(2.35rem, 4vw, 3.6rem); }
.surface-dashboard .operator-header .eyebrow { color: #f39a72; }
.owner-command { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .9rem 1rem; border-radius: 17px; background: #fffaf0; }
.owner-command h2 { margin: 0; font-size: clamp(1.55rem, 2.5vw, 2.25rem); }
.owner-command p:last-child { margin: .3rem 0 0; color: #665b54; font-size: .78rem; }
.owner-freshness { display: grid; min-width: 176px; justify-items: end; padding: .65rem .75rem; border-radius: 12px; background: #e5f2b0; }
.owner-freshness span, .owner-freshness small { color: #4c5e28; font-size: .65rem; }
.owner-freshness strong { font-size: 1.3rem; }
.owner-metrics { gap: .75rem; }
.surface-dashboard .metric-card { min-height: 112px; border: 0; border-top: 6px solid #d1c4b4; border-radius: 15px; background: #fffaf0; }
.surface-dashboard .metric-card.tone-sales { border-top-color: #c9f06c; }
.surface-dashboard .metric-card.tone-orders { border-top-color: #f39a72; }
.surface-dashboard .metric-card.tone-aov { border-top-color: #d5b7e7; }
.surface-dashboard .metric-card.tone-queue { border-top-color: #9fcbb3; }
.surface-dashboard .metric-card.tone-urgent { border-top-color: #d85c43; background: #ffe2d9; }
.surface-dashboard .metric-card strong { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 850; }
.owner-usage { display: grid; gap: .85rem; }
.owner-usage-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.owner-usage-summary > div { display: grid; gap: .2rem; padding: .85rem; border-radius: 12px; background: #eee5d8; }
.owner-usage-summary span, .owner-usage-summary small { color: #665b54; font-size: .7rem; }
.owner-usage-summary strong { font-size: 1.35rem; }
.owner-usage-table { max-height: 340px; overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; }
.owner-usage-table th small { display: block; max-width: 58ch; margin-top: .25rem; color: #665b54; font-size: .66rem; font-weight: 600; letter-spacing: normal; text-transform: none; }
.owner-usage-table td strong { white-space: nowrap; }
.owner-usage-boundary { padding: .8rem .9rem; border-left: 5px solid #f39a72; border-radius: 0 12px 12px 0; background: #fff0e8; }
.owner-usage-boundary p { margin: .25rem 0 0; color: #665b54; font-size: .72rem; line-height: 1.5; }
.owner-variance { display: grid; gap: .9rem; min-width: 0; }
.owner-variance .section-heading p { margin: .25rem 0 0; color: #665b54; font-size: .72rem; }
.owner-variance-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.owner-variance-metrics > div { display: grid; align-content: start; gap: .25rem; min-height: 116px; padding: .85rem; border-radius: 13px; background: #eee5d8; }
.owner-variance-metrics span, .owner-variance-metrics small { color: #665b54; font-size: .68rem; line-height: 1.4; }
.owner-variance-metrics strong { font-size: clamp(1rem, 2vw, 1.35rem); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.owner-variance-ready, .owner-variance-prerequisite { padding: .9rem 1rem; border-left: 5px solid #86ad4e; border-radius: 0 12px 12px 0; background: #e5f2b0; }
.owner-variance-prerequisite { border-left-color: #efa44f; background: #fff0d8; }
.owner-variance-ready p, .owner-variance-prerequisite p { margin: .25rem 0 .7rem; color: #52622d; font-size: .72rem; line-height: 1.5; }
.owner-variance-prerequisite p { color: #6f4a22; }
.owner-variance-filter { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto auto; gap: .65rem; align-items: end; padding: .85rem; border: 1px solid #d8c9b8; border-radius: 13px; background: #f6eee2; }
.owner-variance-filter > div { display: grid; gap: .35rem; min-width: 0; }
.owner-variance-filter > span { align-self: center; color: #806f61; font-size: 1.2rem; }
.owner-variance-filter label { color: #5d5149; font-size: .7rem; font-weight: 850; }
.owner-variance-filter select, .owner-variance-filter button { min-height: 48px; max-width: 100%; }
.owner-variance-filter select { width: 100%; min-width: 0; padding: .65rem .75rem; border: 1px solid #85776d; border-radius: 10px; background: #fffdf8; color: #211b17; font: inherit; }
.owner-variance-filter p { grid-column: 1 / -1; margin: 0; color: #665b54; font-size: .7rem; line-height: 1.45; }
.owner-variance-table { max-height: 390px; overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; }
.owner-variance-table table { min-width: 980px; }
.owner-variance-table th small, .owner-variance-table td small { display: block; max-width: 34ch; margin-top: .25rem; color: #665b54; font-size: .65rem; font-weight: 600; letter-spacing: normal; text-transform: none; }
.owner-variance-table td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.owner-variance-evidence { display: grid; gap: .7rem; padding: .9rem; border: 1px solid #d8c9b8; border-radius: 14px; background: #f6eee2; }
.owner-variance-evidence .section-heading { align-items: end; }
.owner-variance-evidence .section-heading h3 { margin: 0; font-size: 1.1rem; }
.owner-variance-evidence-list { display: grid; gap: .45rem; }
.owner-variance-evidence-row { overflow: clip; border: 1px solid #d8c9b8; border-radius: 11px; background: #fffaf0; }
.owner-variance-evidence-row summary { display: grid; min-height: 52px; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .65rem .75rem; cursor: pointer; list-style-position: inside; touch-action: manipulation; }
.owner-variance-evidence-row summary > span { display: grid; min-width: 0; gap: .12rem; }
.owner-variance-evidence-row summary > span:last-child { justify-items: end; text-align: right; }
.owner-variance-evidence-row summary strong { font-size: .78rem; }
.owner-variance-evidence-row summary small, .owner-variance-evidence-body small { color: #665b54; font-size: .65rem; line-height: 1.4; }
.owner-variance-evidence-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; padding: 0 .75rem .75rem; border-top: 1px solid #e6d9ca; }
.owner-variance-evidence-body section { min-width: 0; padding-top: .7rem; }
.owner-variance-evidence-body h4 { margin: 0 0 .4rem; font-size: .75rem; }
.owner-variance-evidence-body p { margin: 0; color: #665b54; font-size: .68rem; line-height: 1.45; }
.owner-variance-evidence-body ul { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.owner-variance-evidence-body li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; padding: .55rem; border-radius: 9px; background: #eee5d8; }
.owner-variance-evidence-body li > div, .owner-variance-evidence-body li > span { display: grid; min-width: 0; gap: .1rem; }
.owner-variance-evidence-body li > span { justify-items: end; text-align: right; }
.owner-variance-evidence-body li strong { font-size: .72rem; overflow-wrap: anywhere; }
.owner-now-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: .75rem; }
.surface-dashboard .dashboard-card { border: 0; border-radius: 17px; background: #fffaf0; }
.surface-dashboard .dashboard-card h2 { font-size: 1.6rem; }
.owner-attention .section-heading, .owner-queue .section-heading { margin-bottom: .55rem; }
.owner-count { display: inline-flex; min-height: 34px; align-items: center; padding: .35rem .65rem; border-radius: 999px; background: #e5f2b0; color: #40551d; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.owner-count.is-warning { background: #ffe0bc; color: #7b370f; }
.owner-attention ul { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.owner-attention li { display: grid; grid-template-columns: 76px 1fr; gap: .75rem; align-items: start; padding: .65rem .75rem; border-radius: 11px; background: #eee5d8; }
.owner-attention li > span { display: inline-flex; min-height: 28px; align-items: center; justify-content: center; border-radius: 999px; background: #fffaf0; font-size: .66rem; font-weight: 850; }
.owner-attention li.tone-warning { box-shadow: inset 5px 0 0 #efa44f; }
.owner-attention li.tone-urgent { box-shadow: inset 5px 0 0 #d85c43; }
.owner-attention li strong { font-size: .88rem; }
.owner-attention li p, .owner-clear p, .owner-card-note { margin: .2rem 0 0; color: #665b54; font-size: .7rem; line-height: 1.45; }
.owner-clear { display: flex; gap: .8rem; align-items: center; min-height: 88px; padding: .8rem; border-radius: 12px; background: #e5f2b0; }
.owner-clear > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #2f4117; color: #e5f2b0; font-weight: 900; }
.owner-queue-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.owner-queue-stages > div { display: grid; min-height: 88px; gap: .1rem; padding: .65rem; border-radius: 11px; background: #eee5d8; }
.owner-queue-stages span, .owner-queue-stages small { color: #665b54; font-size: .67rem; }
.owner-queue-stages strong { font-size: 2rem; line-height: 1; }
.owner-cash-assist-review { display: grid; gap: 12px; margin: 14px 0; padding: 14px; border: 1px solid #f4a27d; border-radius: 12px; background: #fff7f2; }
.owner-cash-assist-review .section-heading { align-items: center; margin: 0; }
.owner-cash-assist-review h3 { margin: 0; font-size: 1rem; }
.owner-cash-assist-review .button { flex: none; min-height: 44px; }
.owner-detail-grid { gap: .75rem; }
.surface-dashboard .table-wrap { max-height: 310px; }
.surface-dashboard table caption { text-align: left; }
.surface-dashboard th[scope="row"] { color: #241a14; letter-spacing: 0; text-transform: none; }
.surface-dashboard th[scope="row"] small { display: block; margin-top: .2rem; color: #6d625a; font-weight: 600; }
.surface-dashboard tbody tr:hover { background: #f4ecdf; }
.payment-breakdown { display: grid; gap: .45rem; }
.payment-breakdown > div { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .7rem .75rem; border-radius: 11px; background: #eee5d8; }
.payment-breakdown > div > span { display: grid; gap: .15rem; }
.payment-breakdown > div > span:last-child { justify-items: end; text-align: right; }
.payment-breakdown small { color: #665b54; font-size: .68rem; }
.payment-breakdown .text-warning { color: #8b3e10; font-weight: 800; }
.owner-integrations { grid-template-columns: 1fr 1fr; }
.span-12 .owner-integrations { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.owner-integrations > div { min-width: 0; background: #eee5d8; }
.owner-integrations strong { color: #4c4039; font-size: .78rem; }
.owner-integrations small { color: #665b54; font-size: .65rem; }
.owner-integrations > div.tone-ready { box-shadow: inset 4px 0 0 #6f9a43; }
.owner-integrations > div.tone-local { box-shadow: inset 4px 0 0 #8d70a0; }
.owner-integrations > div.tone-warning { box-shadow: inset 4px 0 0 #efa44f; }
.owner-integrations > div.tone-blocked { box-shadow: inset 4px 0 0 #d85c43; }

@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner { animation: none; } }
@media (max-width: 1100px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kds-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .span-5, .span-7 { grid-column: 1 / -1; }
  .boundary-status { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kds-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .surface-cashier .cashier-layout { grid-template-columns: minmax(0, 1fr) minmax(350px, 420px); }
  .surface-cashier .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-now-grid { grid-template-columns: 1fr 1fr; }
  .admin-workspace { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); }
  .admin-product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hpp-gate-control { grid-template-columns: 1fr 1fr; }
  .hpp-purchase-form, .hpp-balance-grid, .hpp-count-grid, .hpp-po-receive-grid, .hpp-po-manage-grid, .hpp-invoice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .span-12 .owner-integrations { grid-template-columns: 1fr 1fr; }
  .owner-variance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-variance-filter { grid-template-columns: 1fr auto 1fr; }
  .owner-variance-filter button { grid-column: auto; }
  .hpp-gate-control > div, .hpp-gate-control [role="status"] { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .hpp-count-details li { grid-template-columns: 1fr; }
  .hpp-count-details li span, .hpp-count-details li small { white-space: normal; }
  .owner-usage-summary { grid-template-columns: 1fr; }
  .owner-variance .section-heading { align-items: flex-start; flex-direction: column; }
  .owner-variance-filter { grid-template-columns: 1fr; align-items: stretch; }
  .owner-variance-filter > span { display: none; }
  .owner-variance-evidence .section-heading { align-items: flex-start; }
  .owner-variance-evidence-body { grid-template-columns: 1fr; }
  .environment-banner span:nth-child(n+2) { display: none; }
  .welcome-view, .operator-login { grid-template-columns: 1fr; }
  .welcome-mark { min-height: 35vh; }
  .welcome-copy { min-height: 60vh; padding: 2rem 1.2rem; }
  .kiosk-grid { grid-template-columns: 1fr; }
  .cashier-layout { grid-template-columns: 1fr; }
  .surface-cashier .cashier-layout { grid-template-columns: 1fr; }
  .surface-cashier .cart-panel { height: auto; min-height: 0; overflow: visible; }
  .surface-cashier .cashier-scroll-region { overflow: visible; }
  .cart-panel { position: static; }
  .product-card { min-height: 150px; }
  .kds-grid, .metric-grid { grid-template-columns: 1fr; }
  .operator-header, .kiosk-header, .operator-intro { align-items: flex-start; flex-direction: column; }
  .operator-context { justify-content: flex-start; }
  .boundary-status { grid-template-columns: 1fr 1fr; }
  .admin-product-list { grid-template-columns: 1fr; }
  .kds-overview { grid-template-columns: 1fr 1fr; }
  .kds-metric { min-height: 90px; }
  .owner-command { align-items: flex-start; flex-direction: column; }
  .owner-freshness { width: 100%; justify-items: start; }
  .owner-now-grid { grid-template-columns: 1fr; }
  .admin-command { align-items: flex-start; flex-direction: column; }
  .admin-freshness { width: 100%; justify-items: start; }
  .admin-metrics { grid-template-columns: 1fr 1fr; }
  .admin-workspace, .admin-lower-grid { grid-template-columns: 1fr; }
  .admin-side-stack { position: static; }
  .admin-catalog-tools { grid-template-columns: 1fr; }
  .admin-history-card .section-heading { align-items: flex-start; flex-direction: column; }
  .admin-conflict { grid-template-columns: 42px minmax(0, 1fr); }
  .admin-conflict .button { grid-column: 1 / -1; }
  .hpp-workspace .section-heading { align-items: flex-start; flex-direction: column; }
  .hpp-summary, .hpp-editor-grid, .hpp-product-row, .hpp-recipe-lines li, .hpp-gate-control, .hpp-purchase-form, .hpp-balance-grid, .hpp-count-grid, .hpp-po-receive-grid, .hpp-po-manage-grid, .hpp-invoice-grid { grid-template-columns: 1fr; }
  .hpp-purchase-form .hpp-purchase-reason { grid-column: auto; }
  .hpp-gate-control > div, .hpp-gate-control [role="status"] { grid-column: auto; }
  .hpp-product-list { max-height: 580px; }
}
@media (max-width: 430px) {
  .product-grid { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .product-card { min-height: 135px; padding: .8rem; }
  .product-name { font-size: 1.2rem; }
  .status-strip, .boundary-status { grid-template-columns: 1fr; }
  .admin-metrics, .admin-product-list { grid-template-columns: 1fr; }
  .hpp-product-metrics, .hpp-form-row, .hpp-po-receive-summary { grid-template-columns: 1fr; }
  .hpp-receipt-table { width: 100%; max-width: calc(100vw - 2rem); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hpp-receipt-table table { min-width: 100%; table-layout: fixed; }
  .hpp-receipt-table th, .hpp-receipt-table td { overflow-wrap: anywhere; }
  .hpp-modifier-remove-form, .hpp-fulfillment-remove-form { display: grid; min-width: 0; gap: .45rem; }
  .hpp-recipe-lines li { grid-template-columns: 1fr; }
  .hpp-po-draft-actions { align-items: stretch; flex-direction: column; }
  .hpp-po-draft-summary { min-width: 0; justify-items: start; }
  .owner-variance-metrics { grid-template-columns: 1fr; }
  .owner-variance-evidence-row summary, .owner-variance-evidence-body li { grid-template-columns: 1fr; }
  .owner-variance-evidence-row summary > span:last-child, .owner-variance-evidence-body li > span { justify-items: start; text-align: left; }
}
:root .kds-station-actions { display: flex; flex-wrap: wrap; gap: 12px; padding: 16px; }
:root .kds-station-actions button { flex: 1 1 160px; min-height: 54px; }
.owner-report-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 20px; margin: 20px 0; border-radius: 18px; background: var(--paper); color: var(--ink); }
.owner-report-filter input, .owner-report-filter button { min-height: 48px; max-width: 100%; }
.owner-report-filter p { flex-basis: 100%; margin: 0; }
#product-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-block: 20px; }
#product-editor label { display: grid; gap: 8px; min-width: 0; }
#product-editor input, #product-editor select { width: 100%; min-width: 0; min-height: 48px; font: inherit; padding: 10px 12px; border: 1px solid #85776d; border-radius: 10px; color: #211b17; background: #fffdf8; box-sizing: border-box; }
#product-editor-status { grid-column: 1 / -1; color: #923512; }
@media (max-width: 600px) { #product-editor { grid-template-columns: minmax(0, 1fr); } }
#ordering-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-block: 20px; }
#ordering-editor label { display: grid; gap: 8px; min-width: 0; }
#ordering-editor input, #ordering-editor select { width: 100%; min-width: 0; min-height: 48px; font: inherit; padding: 10px 12px; border: 1px solid var(--muted); border-radius: 10px; color: var(--ink); background: var(--surface); box-sizing: border-box; }
#ordering-editor-status { grid-column: 1 / -1; color: #923512; }
@media (max-width: 600px) { #ordering-editor { grid-template-columns: minmax(0, 1fr); } }
#cash-close-form { display: grid; gap: 12px; min-width: 0; }
#cash-close-form label { display: grid; gap: 6px; }
#cash-close-form input, #cash-close-form textarea { min-height: 48px; padding: 10px; font: inherit; border: 1px solid var(--muted); border-radius: 8px; background: var(--surface); color: var(--ink); width: 100%; box-sizing: border-box; }
.cash-close-details summary { min-height: 48px; padding: 12px; cursor: pointer; box-sizing: border-box; }
.owner-financial { margin-block: 20px; min-width: 0; }
.owner-financial-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; }
.owner-money-lines, .owner-cost-boundary dl { margin: 0; }
.owner-money-lines > div, .owner-cost-boundary dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.owner-financial dt small { display: block; max-width: 32ch; margin-top: 4px; font-size: 12px; color: var(--muted); }
.owner-financial dd { margin: 0; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.owner-money-lines dt, .owner-cost-boundary dt { min-width: 0; }
.owner-money-lines dd, .owner-cost-boundary dd { flex: 0 0 auto; white-space: nowrap; }
.owner-cost-boundary { padding: 20px; background: #f4eee4; border-radius: 14px; color: var(--ink); }
.owner-cost-boundary h3 { margin-top: 0; }
.owner-cost-boundary p { line-height: 1.55; font-size: 14px; }
.owner-financial summary { cursor: pointer; min-height: 48px; padding: 14px 0; font-weight: 700; }
.owner-financial-orders { margin: 0; padding: 0; list-style: none; max-height: 420px; overflow-y: auto; overscroll-behavior: contain; }
.owner-financial-orders li { padding: 14px 0; border-top: 1px solid var(--line); }
.owner-financial-orders li > div { display: flex; justify-content: space-between; gap: 12px; }
.owner-financial-orders li > div span { font-size: 13px; }
.owner-financial-orders dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 12px 0 0; }
.owner-financial-orders dt { font-size: 12px; }
.owner-financial-orders dd { text-align: left; margin-top: 4px; }
@media (max-width: 700px) { .owner-financial-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; } .owner-financial .section-heading { flex-wrap: wrap; } .owner-money-lines > div { font-size: 14px; } .owner-financial-orders dl { gap: 6px; font-size: 13px; } }

/* Owner Dashboard V3 · conventional F&B application shell */
.surface-dashboard {
  --dashboard-canvas: #f5f6f8;
  --dashboard-surface: #ffffff;
  --dashboard-text: #1d2939;
  --dashboard-muted: #667085;
  --dashboard-border: #e4e7ec;
  --dashboard-brand: #df642f;
  --dashboard-brand-soft: #fff1ea;
  --dashboard-success: #067647;
  --dashboard-success-soft: #ecfdf3;
  --dashboard-warning: #b54708;
  --dashboard-warning-soft: #fffaeb;
  --dashboard-danger: #b42318;
  --dashboard-danger-soft: #fef3f2;
  background: var(--dashboard-canvas);
  color: var(--dashboard-text);
}
.surface-dashboard .environment-banner { min-height: 32px; padding-block: .42rem; background: #28211e; font-size: .64rem; }
.surface-dashboard .operator-shell { width: 100%; min-height: calc(100vh - 32px); padding: 0; }
.surface-dashboard #operator-app { display: grid; min-height: calc(100vh - 32px); grid-template-columns: 264px minmax(0, 1fr); }
.surface-dashboard .operator-app-main { min-width: 0; }
.dashboard-sidebar { position: sticky; top: 0; z-index: 22; display: flex; height: calc(100dvh - 32px); flex-direction: column; gap: 14px; overflow-y: auto; padding: 20px 14px; border-right: 1px solid var(--dashboard-border); background: var(--dashboard-surface); }
.surface-dashboard .feather { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-brand { display: flex; align-items: center; gap: 11px; padding: 0 8px 16px; border-bottom: 1px solid var(--dashboard-border); }
.dashboard-brand > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: #28211e; color: #c9f06c; font-size: .75rem; font-weight: 850; }
.dashboard-brand > div { display: grid; gap: 2px; }
.dashboard-brand strong { font-size: .95rem; }
.dashboard-brand small { color: var(--dashboard-muted); font-size: .7rem; }
.dashboard-navigation { display: grid; gap: 5px; }
.dashboard-nav-home { display: grid; }
.dashboard-nav-section { border-radius: 9px; }
.dashboard-nav-section summary { display: grid; min-height: 42px; grid-template-columns: 20px minmax(0, 1fr) 16px; gap: 9px; align-items: center; padding: 8px 10px; border-radius: 8px; color: #344054; cursor: pointer; font-size: .76rem; font-weight: 800; list-style: none; }
.dashboard-nav-section summary::-webkit-details-marker { display: none; }
.dashboard-nav-section summary:hover, .dashboard-nav-section summary:focus-visible { background: #f2f4f7; }
.dashboard-nav-section summary .feather:last-child { width: 15px; height: 15px; transition: transform 160ms ease-out; }
.dashboard-nav-section[open] summary .feather:last-child { transform: rotate(180deg); }
.dashboard-nav-section > div { display: grid; gap: 2px; margin: 1px 0 5px 18px; padding-left: 9px; border-left: 1px solid var(--dashboard-border); }
.dashboard-navigation a, .dashboard-app-links a { display: flex; min-height: 40px; align-items: center; gap: 9px; padding: 7px 10px; border-radius: 8px; color: #475467; font-size: .76rem; font-weight: 700; text-decoration: none; }
.dashboard-navigation a > span:not(.dashboard-nav-badge), .dashboard-app-links a > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-navigation a:hover, .dashboard-app-links a:hover { background: #f2f4f7; color: var(--dashboard-text); }
.dashboard-navigation a[aria-current="page"] { background: var(--dashboard-brand-soft); color: #9d3b14; }
.dashboard-navigation a[aria-current="page"] .feather { stroke-width: 2.3; }
.dashboard-nav-badge { min-width: 20px; margin-left: auto; padding: 2px 6px; border-radius: 999px; background: #fef3f2; color: var(--dashboard-danger); font-size: .62rem; font-variant-numeric: tabular-nums; text-align: center; }
.dashboard-nav-badge::before { content: attr(data-count); }
.dashboard-nav-badge[hidden] { display: none; }
.dashboard-app-links { display: grid; gap: 2px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--dashboard-border); }
.dashboard-app-links > span { margin: 0 10px 4px; color: #667085; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.dashboard-app-links a { min-height: 38px; }
.surface-dashboard .operator-header { position: sticky; top: 0; z-index: 20; display: grid; min-height: 72px; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; margin: 0; padding: 11px 24px; border-bottom: 1px solid var(--dashboard-border); background: rgba(255,255,255,.96); color: var(--dashboard-text); backdrop-filter: blur(12px); }
.surface-dashboard .operator-header h1 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.65rem); font-weight: 750; letter-spacing: -.025em; line-height: 1.2; }
.surface-dashboard .operator-header .eyebrow { margin: 0 0 2px; color: var(--dashboard-muted); font-size: .66rem; letter-spacing: 0; text-transform: none; }
.surface-dashboard .operator-heading { min-width: 0; }
.surface-dashboard .operator-context { flex-wrap: nowrap; }
.surface-dashboard .operator-context .count-pill { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.surface-dashboard .operator-context .button, .dashboard-menu-button { min-height: 42px; border-radius: 8px; box-shadow: none; }
.surface-dashboard .button-primary { background: #b54708; color: #fff; box-shadow: none; }
.surface-dashboard .button-primary:hover { background: #913806; }
.dashboard-menu-button { display: none; width: 42px; padding: 0; border: 1px solid var(--dashboard-border); background: white; color: var(--dashboard-text); }
.dashboard-nav-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dashboard-nav-close, .dashboard-nav-backdrop { display: none; }
.surface-dashboard .service-state { min-height: 38px; padding: 7px 10px; border: 0; border-radius: 8px; background: var(--dashboard-success-soft); font-size: .7rem; }
.surface-dashboard .operator-content { display: block; min-width: 0; padding: 22px 24px 40px; }
.dashboard-module { display: grid; gap: 16px; max-width: 1540px; margin: 0 auto; }
.dashboard-module-context { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 16px; }
.dashboard-module-copy { display: grid; gap: 7px; min-width: 0; }
.dashboard-module-copy > p { max-width: 68ch; margin: 0; color: var(--dashboard-muted); font-size: .82rem; }
.dashboard-module-meta { display: grid; min-width: 150px; justify-items: end; }
.dashboard-module-meta span, .dashboard-module-meta small { color: var(--dashboard-muted); font-size: .62rem; }
.dashboard-module-meta strong { font-size: .8rem; font-variant-numeric: tabular-nums; }
.dashboard-breadcrumb { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; color: var(--dashboard-muted); font-size: .68rem; }
.dashboard-breadcrumb a { color: #8a3b18; font-weight: 750; text-decoration: none; }
.dashboard-breadcrumb [aria-current="page"] { color: var(--dashboard-text); font-weight: 750; }
.dashboard-subnavigation { display: flex; gap: 5px; width: fit-content; max-width: 100%; overflow-x: auto; padding: 4px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: var(--dashboard-surface); }
.dashboard-subnavigation a { min-height: 40px; padding: 10px 13px; border-radius: 7px; color: var(--dashboard-muted); font-size: .75rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.dashboard-subnavigation a[aria-current="page"] { background: var(--dashboard-brand-soft); color: #9d3b14; }
.surface-dashboard .owner-purchasing-nav { display: flex; flex-wrap: wrap; gap: 8px; max-width: 100%; margin: 0 0 16px; padding: 8px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: var(--dashboard-surface); }
.surface-dashboard .owner-purchasing-nav :is(button, a) { display: inline-flex; min-height: 44px; align-items: center; box-sizing: border-box; border: 1px solid transparent; border-radius: 8px; background: transparent; padding: 9px 13px; color: var(--dashboard-muted); font: inherit; font-size: .75rem; font-weight: 750; text-decoration: none; white-space: nowrap; cursor: pointer; }
.surface-dashboard .owner-purchasing-nav :is(button, a):hover { background: var(--dashboard-brand-soft); color: var(--dashboard-text); }
.surface-dashboard .owner-purchasing-nav :is(button, a):focus-visible { outline: 3px solid var(--dashboard-brand); outline-offset: 2px; }
@media (max-width: 760px) {
  .surface-dashboard .owner-purchasing-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .surface-dashboard .owner-purchasing-nav :is(button, a) { min-width: 0; justify-content: center; text-align: center; white-space: normal; }
  .surface-dashboard .owner-purchasing-nav > :last-child { grid-column: 1 / -1; }
}
.dashboard-mobile-navigation { display: none; }
.surface-dashboard .metric-grid, .surface-dashboard .owner-now-grid, .surface-dashboard .dashboard-grid { gap: 12px; }
.surface-dashboard .metric-card { min-height: 102px; gap: 5px; padding: 15px 16px; border: 1px solid var(--dashboard-border); border-top: 1px solid var(--dashboard-border); border-radius: 10px; background: var(--dashboard-surface); box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.surface-dashboard .metric-card.tone-urgent { border-color: #fecdca; background: var(--dashboard-danger-soft); }
.surface-dashboard .metric-card p, .surface-dashboard .metric-card span { color: var(--dashboard-muted); font-size: .69rem; }
.surface-dashboard .metric-card strong { color: var(--dashboard-text); font-size: clamp(1.35rem, 2.5vw, 1.9rem); font-weight: 750; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.surface-dashboard .dashboard-card { padding: 17px; border: 1px solid var(--dashboard-border); border-radius: 11px; background: var(--dashboard-surface); box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.surface-dashboard .dashboard-card h2 { color: var(--dashboard-text); font-size: 1rem; font-weight: 750; letter-spacing: -.015em; }
.surface-dashboard .section-heading { align-items: center; margin-bottom: 13px; }
.surface-dashboard .section-heading a:not(.button) { color: #b54708; font-size: .72rem; font-weight: 750; text-decoration: none; }
.card-subtitle { margin: 3px 0 0; color: var(--dashboard-muted); font-size: .69rem; line-height: 1.45; }
.dashboard-overview-grid { grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); }
.dashboard-analysis-grid { align-items: stretch; }
.surface-dashboard .owner-attention li, .surface-dashboard .owner-queue-stages > div, .surface-dashboard .payment-breakdown > div, .surface-dashboard .owner-usage-summary > div, .surface-dashboard .owner-variance-metrics > div { background: #f8f9fb; }
.surface-dashboard .owner-attention li { border: 1px solid var(--dashboard-border); box-shadow: none; }
.surface-dashboard .owner-attention li.tone-warning { border-left: 4px solid #f79009; }
.surface-dashboard .owner-attention li.tone-urgent { border-left: 4px solid #d92d20; }
.surface-dashboard .owner-count { border-radius: 7px; background: var(--dashboard-success-soft); color: var(--dashboard-success); }
.surface-dashboard .owner-count.is-warning { background: var(--dashboard-warning-soft); color: var(--dashboard-warning); }
.hourly-chart { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hourly-chart li { display: grid; grid-template-columns: 42px minmax(80px, 1fr) 100px 58px; gap: 10px; align-items: center; min-height: 28px; }
.hourly-chart li > span, .hourly-chart li > small { color: var(--dashboard-muted); font-size: .67rem; }
.hourly-chart li > div { height: 8px; overflow: hidden; border-radius: 999px; background: #f2f4f7; }
.hourly-chart i { display: block; width: var(--bar-size); height: 100%; border-radius: inherit; background: var(--dashboard-brand); }
.hourly-chart strong { font-size: .7rem; text-align: right; font-variant-numeric: tabular-nums; }
.surface-dashboard .rank-list { margin-top: 0; }
.surface-dashboard .rank-list li { padding-block: 9px; border-color: var(--dashboard-border); }
.surface-dashboard .rank-list li > span { width: 26px; height: 26px; border-radius: 7px; background: #f2f4f7; font-size: .68rem; }
.surface-dashboard .rank-list strong, .surface-dashboard .rank-list b { font-size: .74rem; }
.surface-dashboard .rank-list small { font-size: .65rem; }
.comparison-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.comparison-tile { display: grid; gap: 5px; min-width: 0; padding: 12px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f8f9fb; }
.comparison-tile span, .comparison-tile small { color: var(--dashboard-muted); font-size: .66rem; line-height: 1.35; }
.comparison-tile strong { color: var(--dashboard-text); font-size: clamp(1rem, 2vw, 1.35rem); line-height: 1.1; font-variant-numeric: tabular-nums; }
.comparison-tile b { width: fit-content; padding: 3px 7px; border-radius: 999px; background: #eef4ff; color: #175cd3; font-size: .65rem; font-variant-numeric: tabular-nums; }
.comparison-tile.is-up b { background: var(--dashboard-success-soft); color: var(--dashboard-success); }
.comparison-tile.is-down b { background: var(--dashboard-danger-soft); color: #b42318; }
.dashboard-period-filter { position: sticky; top: 72px; z-index: 12; margin: 0; padding: 12px 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: rgba(255,255,255,.97); box-shadow: 0 1px 2px rgba(16,24,40,.05); }
.dashboard-period-filter label, .dashboard-period-filter p { color: var(--dashboard-muted); font-size: .7rem; }
.dashboard-period-filter input, .dashboard-period-filter button { min-height: 42px; border-radius: 8px; }
.dashboard-table { max-height: 420px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.owner-purchase-orders { max-height: none; }
.owner-supplier-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.owner-supplier-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--dashboard-border); border-radius: 9px; }
.owner-supplier-row span:first-child { display: grid; gap: 2px; min-width: 0; }
.owner-supplier-row strong { overflow-wrap: anywhere; font-size: .78rem; }
.owner-supplier-row small { color: var(--dashboard-muted); font-size: .67rem; }
.owner-supplier-dialog { width: min(100% - 24px, 520px); max-height: min(90vh, 740px); padding: 0; border: 1px solid var(--dashboard-border); border-radius: 14px; box-shadow: 0 24px 64px rgba(16,24,40,.24); }
.owner-supplier-dialog::backdrop { background: rgba(16,24,40,.56); }
.owner-supplier-form { display: grid; gap: 14px; padding: 22px; }
.owner-supplier-form label { display: grid; gap: 6px; color: var(--dashboard-text); font-size: .73rem; font-weight: 700; }
.owner-supplier-form input, .owner-supplier-form select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: var(--dashboard-text); box-sizing: border-box; }
.owner-supplier-form .form-status { min-height: 1.2em; margin: 0; color: #b42318; font-size: .7rem; }
.owner-po-dialog { width: min(100% - 24px, 820px); max-height: min(92dvh, 920px); padding: 0; overflow: auto; border: 1px solid var(--dashboard-border); border-radius: 14px; box-shadow: 0 24px 64px rgba(16,24,40,.24); }
.owner-po-dialog::backdrop { background: rgba(16,24,40,.56); }
.owner-po-form { display: grid; gap: 16px; padding: 22px; }
.owner-po-form label { display: grid; gap: 6px; min-width: 0; color: var(--dashboard-text); font-size: .73rem; font-weight: 700; }
.owner-po-form input, .owner-po-form select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: var(--dashboard-text); box-sizing: border-box; }
.owner-po-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.owner-po-lines { display: grid; gap: 12px; }
.owner-po-line { display: grid; gap: 12px; min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; }
.owner-po-line legend { padding: 0 5px; color: var(--dashboard-text); font-size: .78rem; font-weight: 700; }
.owner-po-line .button { justify-self: start; }
.owner-po-summary { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 9px; background: var(--dashboard-warm-soft, #f9f2ec); font-size: .76rem; }
.owner-po-form [data-owner-po-validation], .owner-po-form .form-status { min-height: 1.2em; margin: 0; color: #b42318; font-size: .7rem; }
@media (max-width: 600px) {
  .owner-po-composer .section-heading { align-items: flex-start; }
  .owner-po-fields { grid-template-columns: 1fr; }
  .owner-po-form { padding: 16px; }
  .owner-suppliers .section-heading { align-items: flex-start; }
  .owner-suppliers .section-heading .button { flex: 0 0 auto; }
  .owner-supplier-row { grid-template-columns: minmax(0, 1fr) auto; }
  .owner-supplier-row .button { grid-column: 2; }
  .owner-supplier-form { padding: 16px; }
  .surface-dashboard .owner-purchase-orders table { display: block; min-width: 0; width: 100%; }
  .owner-purchase-orders thead { display: none; }
  .owner-purchase-orders tbody { display: grid; gap: 10px; }
  .owner-purchase-orders tr { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--dashboard-border); border-radius: 9px; }
  .owner-purchase-orders th, .owner-purchase-orders td { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 0; border: 0; text-align: right; }
  .owner-purchase-orders th { position: static; display: block; text-align: left; color: var(--dashboard-text); font-size: .76rem; }
  .owner-purchase-orders td::before { flex: 0 0 auto; color: var(--dashboard-muted); font-size: .65rem; text-align: left; }
  .owner-purchase-orders td:nth-child(2)::before { content: "Perkiraan tiba"; }
  .owner-purchase-orders td:nth-child(3)::before { content: "Item"; }
  .owner-purchase-orders td:nth-child(4)::before { content: "Nilai rencana"; }
  .owner-purchase-orders td:nth-child(5)::before { content: "Status"; }
}
.warehouse-receipt-list { display: grid; min-width: 0; gap: 8px; }
.warehouse-receipt-item { min-width: 0; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #fff; }
.warehouse-receipt-item summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 12px; cursor: pointer; color: var(--dashboard-text); font-size: .72rem; }
.warehouse-receipt-item summary strong { min-width: min(100%, 160px); }
.warehouse-receipt-item summary span { flex: 1 1 210px; min-width: 0; color: var(--dashboard-muted); }
.warehouse-receipt-item summary b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.warehouse-receipt-item summary:focus-visible { outline: 2px solid #175cd3; outline-offset: 2px; }
.warehouse-receipt-item .dashboard-table { max-width: 100%; border-top: 1px solid var(--dashboard-border); }
.surface-dashboard table { min-width: 680px; }
.surface-dashboard th { position: sticky; top: 0; z-index: 1; padding: 10px 9px; border-color: var(--dashboard-border); background: white; color: var(--dashboard-muted); font-size: .62rem; }
.surface-dashboard td { padding: 11px 9px; border-color: var(--dashboard-border); font-size: .72rem; }
.dashboard-action-grid, .report-download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dashboard-action-card, .report-download-grid .dashboard-card { display: flex; min-height: 230px; flex-direction: column; align-items: flex-start; gap: 10px; }
.dashboard-action-card p, .report-download-grid p, .dashboard-gap-card p { margin: 0; color: var(--dashboard-muted); font-size: .76rem; line-height: 1.55; }
.dashboard-action-card .button, .report-download-grid .button { margin-top: auto; }
.report-download-group { margin-top: 20px; }
.report-download-group h3 { margin: 0 0 10px; color: var(--dashboard-text); font-size: .95rem; }
.surface-dashboard .report-download-grid .dashboard-card h4 { margin: 0; color: var(--dashboard-text); font: 750 1rem "Plus Jakarta Sans", sans-serif; letter-spacing: -.015em; }
.owner-member-diagnostics { margin-top: 20px; border-top: 1px solid var(--dashboard-border); }
.owner-member-diagnostics > summary { display: list-item; min-height: 48px; padding-block: 13px; cursor: pointer; color: var(--dashboard-text); font-weight: 750; }
.owner-member-diagnostics > summary:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.owner-integration-group { margin-top: 18px; }
.owner-integration-group h3 { margin: 0 0 10px; color: var(--dashboard-text); font-size: .95rem; }
@media (max-width: 420px) {
  .dashboard-module[data-active-module="member"] .dashboard-table table { width: 100%; min-width: 0; table-layout: fixed; }
  .dashboard-module[data-active-module="member"] .dashboard-table :is(th, td) { padding-inline: 5px; overflow-wrap: anywhere; }
  .dashboard-module[data-active-module="member"] .dashboard-table :is(th, td):first-child { width: 45%; }
}
.status-badge { display: inline-flex; min-height: 28px; align-items: center; padding: 5px 8px; border-radius: 6px; background: #f2f4f7; color: #475467; font-size: .63rem; font-weight: 800; }
.status-badge.is-ready { background: var(--dashboard-success-soft); color: var(--dashboard-success); }
.status-badge.is-warning { background: var(--dashboard-warning-soft); color: var(--dashboard-warning); }
.status-badge.is-blocked { background: var(--dashboard-danger-soft); color: var(--dashboard-danger); }
.button-small { min-height: 36px; padding: 6px 9px; font-size: .64rem; white-space: nowrap; }
.inventory-stock-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.inventory-stock-card th .status-badge { margin-top: 4px; }
.warehouse-stock-search { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 8px; align-items: end; max-width: 640px; margin-top: 14px; }
.warehouse-stock-search label { grid-column: 1 / -1; color: var(--dashboard-text); font-size: .69rem; font-weight: 750; }
.warehouse-stock-search input { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 9px 11px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: var(--dashboard-text); }
.warehouse-stock-search input:focus-visible { border-color: #b54708; outline: 3px solid #fedf89; outline-offset: 1px; }
.warehouse-stock-search p { grid-column: 1 / -1; min-height: 1.3em; margin: 0; color: var(--dashboard-muted); font-size: .67rem; }
.warehouse-offline-reconciliation { border-left: 4px solid #12b76a; }
.warehouse-offline-reconciliation.is-blocked { border-left-color: #d92d20; background: #fffbfa; }
.warehouse-offline-reconciliation .dashboard-table strong { color: #b42318; font-variant-numeric: tabular-nums; }
.inventory-inline-empty { margin: 12px 0 0; padding: 12px; border: 1px dashed var(--dashboard-border); border-radius: 8px; color: var(--dashboard-muted); font-size: .72rem; }
.inventory-inline-warning { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #fedf89; border-radius: 8px; background: var(--dashboard-warning-soft); color: var(--dashboard-warning); font-size: .69rem; line-height: 1.45; }
.minimum-stock-current { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.minimum-stock-current > div { display: grid; gap: 4px; padding: 11px; border: 1px solid var(--dashboard-border); border-radius: 8px; background: #f8f9fb; }
.minimum-stock-current dt { color: var(--dashboard-muted); font-size: .62rem; }
.minimum-stock-current dd { margin: 0; color: var(--dashboard-text); font-size: .78rem; font-weight: 800; }
.minimum-stock-dialog label small { color: var(--dashboard-muted); font-size: .62rem; font-weight: 500; line-height: 1.45; }
.minimum-stock-dialog .form-status { min-height: 1.2em; color: var(--dashboard-danger); font-size: .66rem; }
.warehouse-purchase-priority { display: grid; gap: 14px; border-left: 4px solid #98a2b3; }
.warehouse-purchase-priority.is-needs-buy { border-left-color: #d92d20; }
.warehouse-purchase-priority.is-warning { border-left-color: #f79009; }
.warehouse-purchase-priority.is-safe { border-left-color: #12b76a; }
.warehouse-purchase-priority-note { margin: 0; padding: 10px 12px; border-radius: 8px; background: #fffaeb; color: #93370d; font-size: .68rem; font-weight: 700; }
.warehouse-purchase-priority-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.warehouse-purchase-priority-list li { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 13px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #fff; }
.warehouse-purchase-priority-list li > div { display: grid; min-width: 0; gap: 5px; }
.warehouse-purchase-priority-list h3, .warehouse-purchase-priority-list p { margin: 0; }
.warehouse-purchase-priority-list h3 { color: var(--dashboard-text); font-size: .8rem; }
.warehouse-purchase-priority-list p { color: var(--dashboard-muted); font-size: .66rem; line-height: 1.5; overflow-wrap: anywhere; }
.warehouse-purchase-priority-list p strong { color: var(--dashboard-text); }
.warehouse-purchase-priority-list .button { flex: none; min-height: 44px; }
.disabled-action { display: inline-flex; min-height: 42px; align-items: center; margin-top: auto; padding: 9px 12px; border: 1px dashed #d0d5dd; border-radius: 8px; color: var(--dashboard-muted); font-size: .72rem; font-weight: 750; }
.button-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.inventory-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
#staff-stock-closing .stock-report-stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 168px), 1fr)); overflow: visible; }
#staff-stock-closing .stock-report-stat { position: relative; min-width: 0; min-height: 0; padding: 0; border: 1px solid var(--dashboard-border); border-radius: 12px; background: var(--dashboard-surface); transition: border-color .18s ease, box-shadow .18s ease; }
#staff-stock-closing .stock-report-stat:hover, #staff-stock-closing .stock-report-stat:has(details[open]) { z-index: 2; border-color: #98a2b3; box-shadow: 0 8px 24px rgba(16,24,40,.1); }
#staff-stock-closing .stock-report-stat summary { display: grid; min-height: 116px; gap: 4px; align-content: start; padding: 14px; cursor: pointer; list-style: none; }
#staff-stock-closing .stock-report-stat summary::-webkit-details-marker { display: none; }
#staff-stock-closing .stock-report-stat summary:focus-visible { outline: 3px solid #fdb022; outline-offset: 2px; border-radius: 10px; }
#staff-stock-closing .stock-report-stat-label, #staff-stock-closing .stock-report-stat-note { color: var(--dashboard-muted); font-size: .75rem; line-height: 1.35; }
#staff-stock-closing .stock-report-stat strong { color: var(--dashboard-text); font-size: 1.75rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
#staff-stock-closing .stock-report-stat-hint { margin-top: 6px; color: #9d3b14; font-size: .72rem; font-weight: 750; }
#staff-stock-closing :is(.stock-report-stat-detail, .stock-report-stat-preview) { padding: 12px 14px; border-top: 1px solid var(--dashboard-border); background: #fff; font-size: .76rem; line-height: 1.45; overflow-wrap: anywhere; }
#staff-stock-closing .stock-report-stat-preview { display: none; }
#staff-stock-closing :is(.stock-report-stat-detail, .stock-report-stat-preview) h4 { margin: 0 0 8px; font-size: .8rem; }
#staff-stock-closing :is(.stock-report-stat-detail, .stock-report-stat-preview) ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; }
#staff-stock-closing :is(.stock-report-stat-detail, .stock-report-stat-preview) p { margin: 8px 0 0; color: var(--dashboard-muted); }
@media (hover: hover) and (min-width: 761px) {
  #staff-stock-closing .stock-report-stat:hover:not(:has(details[open])) > .stock-report-stat-preview { display: block; }
  #staff-stock-closing .stock-report-stat-preview { position: absolute; top: calc(100% + 5px); left: 0; width: max(100%, 240px); max-width: min(340px, 80vw); border: 1px solid var(--dashboard-border); border-radius: 10px; box-shadow: 0 12px 30px rgba(16,24,40,.15); }
}
@media (prefers-reduced-motion: reduce) { #staff-stock-closing .stock-report-stat { transition: none; } }
.inventory-workspace-shell { display: grid; min-width: 0; gap: 14px; }
.inventory-workspace-heading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; border: 1px solid var(--dashboard-border); border-radius: 11px; background: var(--dashboard-surface); box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.inventory-workspace-heading > div { min-width: 0; }
.inventory-workspace-heading h2 { margin: 2px 0 4px; color: var(--dashboard-text); font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
.inventory-workspace-heading p:last-child { max-width: 66ch; margin: 0; color: var(--dashboard-muted); font-size: .76rem; line-height: 1.5; }
.owner-hr-dashboard { display: grid; min-width: 0; gap: 14px; }
.owner-hr-tabs { display: flex; min-width: 0; gap: 6px; overflow-x: auto; padding: 4px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #f8f9fb; }
.owner-hr-tabs a { display: inline-flex; min-height: 42px; flex: 1 0 max-content; align-items: center; justify-content: center; padding: 9px 16px; border-radius: 7px; color: var(--dashboard-muted); font-size: .74rem; font-weight: 750; text-decoration: none; }
.owner-hr-tabs a[aria-current="page"] { background: var(--dashboard-surface); color: #9d3b14; box-shadow: 0 1px 3px rgba(16,24,40,.09); }
.owner-hr-tabs a:focus-visible { outline: 3px solid #fdb022; outline-offset: 2px; }
.owner-hr-data-note { margin: 0; color: var(--dashboard-muted); font-size: .7rem; }
.owner-hr-dialog { width: min(720px, calc(100vw - 32px)); max-height: min(85vh, 800px); box-sizing: border-box; overflow: auto; padding: 24px; border: 1px solid var(--dashboard-border); border-radius: 14px; background: #fff; color: var(--dashboard-text); box-shadow: 0 24px 80px rgba(16,24,40,.25); }
.owner-hr-dialog::backdrop { background: rgba(16,24,40,.6); }
.owner-hr-dialog h2 { margin: 0 0 8px; }
.owner-hr-dialog p { color: var(--dashboard-muted); font-size: .76rem; line-height: 1.5; }
.owner-hr-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.owner-hr-form-grid label { display: grid; gap: 6px; color: var(--dashboard-text); font-size: .7rem; font-weight: 750; }
.owner-hr-form-grid :is(input, select) { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: var(--dashboard-text); }
.owner-hr-form-grid :is(input, select):focus-visible, .owner-hr-dialog button:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.owner-hr-dialog .button-row { margin-top: 18px; }
.owner-hr-credential { padding: 12px; border: 1px solid #abefc6; border-radius: 8px; background: #ecfdf3; overflow-wrap: anywhere; }
.owner-hr-credential p { color: var(--dashboard-text); }
@media (max-width: 640px) { .owner-hr-form-grid { grid-template-columns: 1fr; } .owner-hr-dialog { padding: 16px; } }
.inventory-workspace-tabs { display: flex; min-width: 0; gap: 6px; overflow-x: auto; padding: 4px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #f8f9fb; scrollbar-width: thin; }
.inventory-workspace-tabs a { display: inline-flex; min-height: 42px; flex: 1 0 max-content; align-items: center; justify-content: center; padding: 9px 16px; border-radius: 7px; color: var(--dashboard-muted); font-size: .74rem; font-weight: 750; text-decoration: none; }
.inventory-workspace-tabs a[aria-selected="true"] { background: var(--dashboard-surface); color: #9d3b14; box-shadow: 0 1px 3px rgba(16,24,40,.09); }
.inventory-workspace-tabs a:focus-visible { outline: 3px solid #fdb022; outline-offset: 2px; }
.inventory-workspace-panel { display: grid; min-width: 0; gap: 12px; outline: none; }
.phase2-finalization { display:grid; gap:14px; min-width:0; }
.phase2-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border:1px solid var(--dashboard-border); border-radius:14px; background:linear-gradient(135deg,#fff8f1 0%,#fff 72%); }
.phase2-hero.is-ready { background:linear-gradient(135deg,#f1faf4 0%,#fff 72%); }
.phase2-hero h2 { margin:3px 0 6px; color:var(--dashboard-text); font-size:clamp(1.3rem,2.6vw,2rem); }
.phase2-hero p:last-child { max-width:68ch; margin:0; color:var(--dashboard-muted); font-size:.78rem; line-height:1.55; }
.phase2-score { display:grid; min-width:132px; place-items:center; padding:16px; border-radius:12px; background:#38261f; color:#fff; }
.phase2-score strong { font-size:2rem; line-height:1; }
.phase2-score span { margin-top:6px; font-size:.68rem; opacity:.82; }
.phase2-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.phase2-stage-card { display:flex; min-width:0; flex-direction:column; }
.phase2-stage-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.phase2-stage-heading h2 { margin:0; font-size:1rem; }
.phase2-stage-heading p { margin:3px 0 0; color:var(--dashboard-muted); font-size:.68rem; }
.phase2-stage-heading > strong { color:#9d3b14; font-size:1.2rem; }
.phase2-check-list,.phase2-queue ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.phase2-check-list li { display:grid; grid-template-columns:24px 1fr; gap:8px; align-items:start; }
.phase2-check-list li > span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#fff0e7; color:#b54708; font-size:.7rem; font-weight:900; }
.phase2-check-list li.is-complete > span { background:#e8f6ed; color:#267a43; }
.phase2-check-list strong,.phase2-queue strong { display:block; color:var(--dashboard-text); font-size:.72rem; }
.phase2-check-list small,.phase2-queue small { display:block; margin-top:2px; color:var(--dashboard-muted); font-size:.65rem; line-height:1.4; }
.phase2-queue { margin:14px 0; padding-top:12px; border-top:1px solid var(--dashboard-border); }
.phase2-queue h3 { margin:0 0 8px; font-size:.76rem; }
.phase2-queue li { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 0; border-bottom:1px solid var(--dashboard-border); }
.phase2-queue li > span { min-width:0; }
.phase2-queue p,.phase2-stage-ready { color:var(--dashboard-muted); font-size:.66rem; }
.phase2-stage-card > .button { align-self:flex-start; margin-top:auto; }
.phase2-boundary { margin:0; }
.phase3-readiness,.phase4-readiness,.phase5-readiness,.phase6-readiness,.phase7-readiness { display:grid; gap:14px; margin-top:22px; }
.phase3-readiness-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 16px; padding:0; list-style:none; }
.phase3-readiness-card li { display:grid; grid-template-columns:24px 1fr; gap:9px; padding:10px; border:1px solid var(--dashboard-border); border-radius:10px; }
.phase3-readiness-card li > span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#fff0e7; color:#b54708; font-size:.7rem; font-weight:900; }
.phase3-readiness-card li.is-complete > span { background:#e8f6ed; color:#267a43; }
.phase3-readiness-card li strong,.phase3-readiness-card li small { display:block; }
.phase3-readiness-card li strong { font-size:.72rem; }
.phase3-readiness-card li small { margin-top:2px; color:var(--dashboard-muted); font-size:.65rem; line-height:1.4; }
.phase6-readiness .phase3-readiness-card li,.phase7-readiness .phase3-readiness-card li { grid-template-columns:minmax(0,1fr) auto; align-items:start; min-height:72px; }
.phase6-readiness .phase3-readiness-card li > span,.phase7-readiness .phase3-readiness-card li > span { display:block; width:auto; height:auto; border-radius:0; background:transparent; color:var(--dashboard-text); font-size:.72rem; font-weight:800; }
.phase6-readiness .phase3-readiness-card li > strong,.phase7-readiness .phase3-readiness-card li > strong { color:var(--dashboard-text); white-space:nowrap; }
.inventory-state-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: var(--dashboard-surface); }
.inventory-state-card > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #f2f4f7; color: var(--dashboard-muted); font-weight: 850; }
.inventory-state-card h3 { margin: 0; color: var(--dashboard-text); font-size: .78rem; }
.inventory-state-card p { margin: 3px 0 0; color: var(--dashboard-muted); font-size: .7rem; line-height: 1.45; }
.inventory-state-card.is-error, .inventory-state-card.is-conflict { border-color: #fecdca; background: var(--dashboard-danger-soft); }
.inventory-state-card.is-error > span, .inventory-state-card.is-conflict > span { background: #fee4e2; color: #b42318; }
.inventory-state-card.is-stale { border-color: #fedf89; background: var(--dashboard-warning-soft); }
.inventory-state-card.is-stale > span { background: #fef0c7; color: var(--dashboard-warning); }
.inventory-state-card.is-success { border-color: #abefc6; background: var(--dashboard-success-soft); }
.inventory-state-card.is-success > span { background: #d1fadf; color: var(--dashboard-success); }
.inventory-loading { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.inventory-skeleton { display: grid; min-height: 108px; align-content: center; gap: 9px; padding: 16px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: var(--dashboard-surface); }
.inventory-skeleton :is(i, b, small) { display: block; height: 9px; border-radius: 5px; background: #eaecf0; }
.inventory-skeleton i { width: 42%; }
.inventory-skeleton b { width: 72%; height: 18px; }
.inventory-skeleton small { width: 58%; }
.inventory-empty { display: flex; min-height: 260px; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; }
.inventory-empty > span:first-child { display: grid; min-width: 48px; min-height: 48px; place-items: center; padding: 8px; border-radius: 10px; background: var(--dashboard-brand-soft); color: #9d3b14; font-size: .72rem; font-weight: 850; }
.inventory-empty p { max-width: 58ch; margin: 5px auto 0; color: var(--dashboard-muted); font-size: .74rem; line-height: 1.55; }
.inventory-empty .disabled-action { margin-top: 2px; }
.inventory-workspace-panel th small { display: block; margin-top: 3px; color: var(--dashboard-muted); font-size: .62rem; font-weight: 600; }
.inventory-master-card { border-left: 4px solid var(--dashboard-accent) !important; }
.inventory-master-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-top: 16px; }
.inventory-master-form label, .inventory-compact-form label, .inventory-confirm-dialog label { display: grid; min-width: 0; gap: 6px; color: var(--dashboard-text); font-size: .69rem; font-weight: 750; }
.inventory-master-form :is(input, select), .inventory-compact-form :is(input, select), .inventory-confirm-dialog input { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: var(--dashboard-text); }
.inventory-master-form :is(input, select):focus-visible, .inventory-compact-form :is(input, select):focus-visible, .inventory-confirm-dialog :is(input, button):focus-visible { border-color: #b54708; outline: 3px solid #fedf89; outline-offset: 1px; }
.inventory-master-form input[readonly] { border-style: dashed; background: #f2f4f7; color: var(--dashboard-muted); }
.inventory-master-form label small { color: var(--dashboard-muted); font-size: .62rem; font-weight: 550; line-height: 1.4; }
.inventory-form-wide { grid-column: 1 / -1; }
.inventory-checkbox { display: flex !important; min-height: 44px; flex-direction: row; align-items: center; gap: 9px !important; align-self: end; }
.inventory-checkbox input { width: 20px !important; min-height: 20px !important; accent-color: #b54708; }
.inventory-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.inventory-form-actions .form-status { color: #b42318; font-size: .68rem; }
.inventory-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.inventory-row-actions .button { min-height: 36px; padding: 6px 9px; border-radius: 7px; font-size: .64rem; }
.surface-dashboard .button-danger { border-color: #d92d20; background: #d92d20; color: #fff; }
.surface-dashboard .button-danger:hover { background: #b42318; }
.surface-dashboard .button-danger:disabled { border-color: #eaecf0; background: #eaecf0; color: #98a2b3; }
.status-badge.is-muted { background: #eaecf0; color: #344054; }
.inventory-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.inventory-compact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 15px; }
.inventory-compact-form > .button { justify-self: start; }
.inventory-warehouse-tools { align-items: start; }
.warehouse-receipt-fields { margin-top: 0; }
.warehouse-reference-price { display: grid; gap: 3px; margin: 0; padding: 12px; border: 1px solid #b9e6fe; border-radius: 9px; background: #f0f9ff; }
.warehouse-reference-price span, .warehouse-reference-price small { color: #475467; font-size: .62rem; }
.warehouse-reference-price strong { color: #026aa2; font-size: .78rem; }
.warehouse-receipt-preview { display: grid; gap: 12px; min-width: 0; padding: 14px; border-radius: 10px; background: #101828; color: #fff; }
.warehouse-receipt-preview h3, .warehouse-receipt-preview p, .warehouse-receipt-preview dl, .warehouse-receipt-preview dd { margin: 0; }
.warehouse-receipt-preview .eyebrow { color: #7cd4fd; }
.warehouse-receipt-preview h3 { margin-top: 3px; font-size: .84rem; }
.warehouse-receipt-preview > div > p:last-child { margin-top: 5px; color: #d0d5dd; font-size: .63rem; line-height: 1.45; }
.warehouse-receipt-preview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.warehouse-receipt-preview dl > div { min-width: 0; padding: 9px; border: 1px solid #344054; border-radius: 8px; background: #1d2939; }
.warehouse-receipt-preview dt { color: #d0d5dd; font-size: .59rem; }
.warehouse-receipt-preview dd { margin-top: 3px; font-size: .71rem; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.warehouse-receipt-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.warehouse-receipt-actions .button { min-height: 44px; }
.warehouse-receipt-status { min-height: 1em; margin: 0; color: #b42318; font-size: .67rem; }
.warehouse-receipt-dialog { width: min(620px, calc(100vw - 24px)); max-height: min(92dvh, 900px); box-sizing: border-box; padding: 0; overflow: auto; border: 0; border-radius: 16px; background: #fff; color: var(--dashboard-text); box-shadow: 0 30px 70px rgba(16,24,40,.27); }
.warehouse-receipt-dialog::backdrop { background: rgba(16,24,40,.58); }
.hpp-recipe-dialog { width: min(900px, calc(100vw - 24px)); max-height: min(92dvh, 980px); box-sizing: border-box; padding: 0; overflow: auto; border: 0; border-radius: 16px; background: #fff; color: var(--dashboard-text); box-shadow: 0 30px 70px rgba(16,24,40,.27); }
.hpp-recipe-dialog::backdrop { background: rgba(16,24,40,.58); }
.hpp-recipe-dialog > .hpp-recipe-builder { margin: 0; border: 0 !important; border-radius: 0; box-shadow: none; }
.hpp-recipe-entry { display: grid; gap: 16px; }
.hpp-recipe-entry-form { display: grid; gap: 14px; }
.hpp-recipe-entry [data-hpp-component-entry] .hpp-batch-fields { grid-template-columns: minmax(100px, .55fr) minmax(210px, 1.5fr) minmax(150px, .7fr) minmax(95px, .45fr); }
.hpp-recipe-entry .hpp-wizard-actions { justify-content: flex-end; }
.warehouse-receipt-header { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 20px 22px 14px; border-bottom: 1px solid var(--dashboard-border); background: #fff; }
.warehouse-receipt-header h2, .warehouse-receipt-header p { margin: 0; }
.warehouse-receipt-header h2 { margin: 3px 0 5px; font-size: 1.12rem; }
.warehouse-receipt-header p:last-child { color: var(--dashboard-muted); font-size: .7rem; line-height: 1.45; }
.warehouse-receipt-dismiss { flex: none; width: 44px; height: 44px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #fff; color: var(--dashboard-text); font-size: 1.35rem; cursor: pointer; }
.warehouse-receipt-dismiss:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.warehouse-receipt-form { display: grid; gap: 13px; padding: 18px 22px 22px; }
.warehouse-receipt-form .inventory-compact-form { margin-top: 0; }
.warehouse-receipt-form label small { color: var(--dashboard-muted); font-size: .63rem; font-weight: 550; line-height: 1.4; }
.warehouse-receipt-extra { border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f8f9fb; }
.warehouse-receipt-extra summary { min-height: 44px; box-sizing: border-box; padding: 13px; color: var(--dashboard-text); font-size: .69rem; font-weight: 750; cursor: pointer; }
.warehouse-receipt-extra summary:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.warehouse-receipt-extra .inventory-compact-form { padding: 0 13px 13px; }
.warehouse-receipt-form .warehouse-receipt-preview { gap: 8px; }
.warehouse-receipt-form .warehouse-receipt-preview dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.warehouse-receipt-preview-secondary { grid-column: 1 / -1; }
.warehouse-receipt-location { margin: 0; color: var(--dashboard-muted); font-size: .63rem; line-height: 1.4; }
.warehouse-receipt-form .warehouse-receipt-actions { padding-top: 2px; }
.warehouse-receipt-form .warehouse-receipt-actions .button { min-width: 142px; }

/* Staff receiving review: receipt facts remain useful while media storage is optional. */
.staff-receipt-panel { display: grid; gap: 16px; border-left: 4px solid #b54708; }
.staff-receipt-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; }
.staff-receipt-summary > div { display: grid; min-width: 0; gap: 4px; padding: 12px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f9fafb; }
.staff-receipt-summary span { color: var(--dashboard-muted); font-size: .62rem; font-weight: 700; }
.staff-receipt-summary strong { color: var(--dashboard-text); font-size: 1rem; font-variant-numeric: tabular-nums; }
.staff-receipt-filter { margin-top: 0; }
.staff-receipt-unavailable { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.staff-receipt-unavailable > div { display: grid; gap: 3px; }
.staff-receipt-unavailable span { font-size: .66rem; }
.staff-receipt-list { display: grid; gap: 10px; }
.staff-receipt-card { display: grid; min-width: 0; gap: 10px; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #fff; }
.staff-receipt-card-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; }
.staff-receipt-card h3, .staff-receipt-card p, .staff-receipt-card dl, .staff-receipt-card dd { margin: 0; }
.staff-receipt-card h3 { margin-top: 6px; color: var(--dashboard-text); font-size: .86rem; }
.staff-receipt-card p { margin-top: 4px; color: var(--dashboard-muted); font-size: .65rem; line-height: 1.5; }
.staff-receipt-card dl { display: grid; grid-auto-flow: column; gap: 8px; }
.staff-receipt-card dl > div { min-width: 62px; padding: 8px; border-radius: 8px; background: #f2f4f7; text-align: center; }
.staff-receipt-card dt { color: var(--dashboard-muted); font-size: .56rem; }
.staff-receipt-card dd { margin-top: 3px; color: var(--dashboard-text); font-size: .77rem; font-weight: 800; }
.staff-receipt-card .staff-receipt-line-preview { overflow-wrap: anywhere; }
.staff-receipt-card-actions { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; border-top: 1px solid var(--dashboard-border); }
.staff-receipt-card-actions > span { min-width: 0; color: var(--dashboard-muted); font-size: .62rem; overflow-wrap: anywhere; }
.staff-receipt-empty { padding: 14px; }
.staff-receipt-dialog { width: min(880px, calc(100vw - 24px)); max-height: min(92dvh, 980px); box-sizing: border-box; padding: 0; overflow: auto; border: 0; border-radius: 16px; background: #fff; color: var(--dashboard-text); box-shadow: 0 30px 70px rgba(16,24,40,.27); }
.staff-receipt-dialog::backdrop, .staff-evidence-dialog::backdrop { background: rgba(16,24,40,.62); }
.staff-receipt-dialog-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 20px 14px; border-bottom: 1px solid var(--dashboard-border); background: #fff; }
.staff-receipt-dialog-header h2, .staff-receipt-dialog-header p { margin: 0; }
.staff-receipt-dialog-header h2 { margin: 3px 0 5px; font-size: 1.12rem; }
.staff-receipt-dialog-header p:last-child { color: var(--dashboard-muted); font-size: .66rem; }
.staff-receipt-dialog-body { display: grid; gap: 18px; padding: 18px 20px 22px; }
.staff-receipt-dialog-body > section { display: grid; gap: 10px; }
.staff-receipt-dialog-body h3, .staff-receipt-dialog-body h4 { margin: 0; font-size: .8rem; }
.staff-receipt-detail-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.staff-receipt-detail-summary > div { display: grid; min-width: 0; gap: 4px; padding: 11px; border-radius: 9px; background: #f2f4f7; }
.staff-receipt-detail-summary span { color: var(--dashboard-muted); font-size: .58rem; }
.staff-receipt-detail-summary strong { font-size: .72rem; overflow-wrap: anywhere; }
.staff-receipt-lines, .staff-receipt-exceptions, .staff-receipt-capabilities ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.staff-receipt-lines li { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(360px, 1.3fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--dashboard-border); border-radius: 9px; }
.staff-receipt-lines li > div { display: grid; min-width: 0; gap: 3px; }
.staff-receipt-lines :is(span, small) { color: var(--dashboard-muted); font-size: .62rem; overflow-wrap: anywhere; }
.staff-receipt-disposition { display: grid; grid-template-columns: repeat(5, minmax(64px, 1fr)); min-width: 0; gap: 6px; margin: 0; }
.staff-receipt-disposition > div { display: grid; min-width: 0; gap: 3px; padding: 7px; border-radius: 7px; background: #f2f4f7; }
.staff-receipt-disposition dt { color: var(--dashboard-muted); font-size: .55rem; }
.staff-receipt-disposition dd { margin: 0; color: var(--dashboard-text); font-size: .63rem; font-weight: 750; overflow-wrap: anywhere; }
.staff-receipt-exceptions li { display: grid; gap: 3px; padding: 10px 12px; border-left: 3px solid #f79009; border-radius: 7px; background: #fffaeb; }
.staff-receipt-exceptions li span { color: #7a2e0e; font-size: .64rem; }
.staff-receipt-events { display: grid; gap: 0; margin: 0; padding: 0; border: 1px solid var(--dashboard-border); border-radius: 9px; list-style: none; }
.staff-receipt-events li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--dashboard-border); }
.staff-receipt-events li:last-child { border-bottom: 0; }
.staff-receipt-events li > span { display: grid; min-width: 0; gap: 2px; font-size: .66rem; font-weight: 750; }
.staff-receipt-events small, .staff-receipt-events time { color: var(--dashboard-muted); font-size: .58rem; font-weight: 550; }
.staff-evidence-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(136px, 1fr)); gap: 10px; }
.staff-evidence-grid button { display: grid; min-width: 0; gap: 8px; padding: 7px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #fff; color: var(--dashboard-text); text-align: left; cursor: pointer; }
.staff-evidence-grid button:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.staff-evidence-grid img, .staff-evidence-placeholder { width: 100%; height: 112px; border-radius: 7px; background: #eaecf0; object-fit: cover; }
.staff-evidence-placeholder { display: grid; place-items: center; color: #667085; font-size: .7rem; font-weight: 800; }
.staff-evidence-grid button > span:last-child { display: grid; min-width: 0; gap: 2px; padding: 0 3px 3px; }
.staff-evidence-grid strong { font-size: .66rem; overflow-wrap: anywhere; }
.staff-evidence-grid small { color: var(--dashboard-muted); font-size: .58rem; overflow-wrap: anywhere; }
.staff-evidence-empty { padding: 12px; }
.staff-evidence-dialog { width: min(980px, calc(100vw - 24px)); max-height: min(94dvh, 980px); box-sizing: border-box; padding: 0; overflow: auto; border: 0; border-radius: 16px; background: #101828; color: #fff; box-shadow: 0 30px 70px rgba(16,24,40,.38); }
.staff-evidence-dialog .staff-receipt-dialog-header { background: #101828; border-color: #344054; color: #fff; }
.staff-evidence-dialog .staff-receipt-dialog-header p { color: #d0d5dd; }
.staff-evidence-dialog .warehouse-receipt-dismiss { border-color: #475467; background: #1d2939; color: #fff; }
.staff-evidence-dialog figure { display: grid; gap: 10px; margin: 0; padding: 16px; }
.staff-evidence-dialog figure img { display: block; width: 100%; max-height: calc(94dvh - 150px); border-radius: 9px; background: #1d2939; object-fit: contain; }
.staff-evidence-dialog figcaption { display: grid; gap: 3px; color: #d0d5dd; font-size: .65rem; line-height: 1.5; }
.staff-evidence-dialog figcaption strong { color: #fff; }
.staff-receipt-review { display: grid; gap: 10px; padding: 14px; border-radius: 10px; background: #f9fafb; }
.staff-receipt-cost-blocker { display: grid; gap: 3px; margin: 0; }
.staff-receipt-cost-blocker span { font-size: .64rem; line-height: 1.5; }
.staff-receipt-cost-blocker ul { display: grid; gap: 7px; margin: 5px 0 0; padding: 0; list-style: none; }
.staff-receipt-cost-blocker li { display: grid; gap: 2px; padding: 8px; border-radius: 7px; background: rgba(255,255,255,.68); }
.staff-receipt-cost-blocker li strong { font-size: .64rem; }
.staff-receipt-posting-notice { display: grid; gap: 3px; margin: 0; }
.staff-receipt-time-audit dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.staff-receipt-time-audit dl > div { display: grid; min-width: 0; gap: 3px; padding: 9px; border-radius: 8px; background: #f9fafb; }
.staff-receipt-time-audit dt { color: var(--dashboard-muted); font-size: .57rem; }
.staff-receipt-time-audit dd { margin: 0; color: var(--dashboard-text); font-size: .64rem; font-weight: 700; overflow-wrap: anywhere; }
.staff-receipt-review label { display: grid; gap: 6px; color: var(--dashboard-text); font-size: .68rem; font-weight: 750; }
.staff-receipt-review textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 10px; border: 1px solid #98a2b3; border-radius: 8px; font: inherit; resize: vertical; }
.staff-receipt-review-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.staff-receipt-capabilities { border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f9fafb; }
.staff-receipt-capabilities summary { min-height: 44px; box-sizing: border-box; padding: 13px; font-size: .67rem; font-weight: 750; cursor: pointer; }
.staff-receipt-capabilities ul { padding: 0 13px 10px; }
.staff-receipt-capabilities li { display: flex; justify-content: space-between; gap: 12px; font-size: .61rem; }
.staff-receipt-capabilities li strong { color: #b42318; }
.staff-receipt-capabilities li strong.is-enabled { color: #027a48; }
.staff-receipt-capabilities p { margin: 0; padding: 0 13px 13px; color: var(--dashboard-muted); font-size: .59rem; }
.staff-capability-manager { border: 1px solid var(--dashboard-border); border-radius: 10px; background: #f9fafb; }
.staff-capability-manager > summary { display: flex; min-height: 48px; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; color: var(--dashboard-text); cursor: pointer; }
.staff-capability-manager > summary > span:first-child { display: grid; gap: 3px; }
.staff-capability-manager > summary strong { font-size: .72rem; }
.staff-capability-manager > summary small { color: var(--dashboard-muted); font-size: .6rem; font-weight: 550; }
.staff-capability-manager-body { display: grid; gap: 9px; padding: 0 12px 12px; }
.staff-capability-manager-body > p { margin: 0; color: var(--dashboard-muted); font-size: .63rem; line-height: 1.5; }
.staff-capability-form { min-width: 0; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #fff; }
.staff-capability-form > details > summary { display: flex; min-height: 46px; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; cursor: pointer; }
.staff-capability-form > details > summary > span:first-child { display: grid; min-width: 0; gap: 3px; }
.staff-capability-form > details > summary strong { font-size: .68rem; overflow-wrap: anywhere; }
.staff-capability-form > details > summary small { color: var(--dashboard-muted); font-size: .58rem; overflow-wrap: anywhere; }
.staff-capability-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 12px; border: 0; border-top: 1px solid var(--dashboard-border); }
.staff-capability-form legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.staff-capability-form fieldset label { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; align-items: start; padding: 10px; border-radius: 8px; background: #f9fafb; cursor: pointer; }
.staff-capability-form fieldset input { width: 18px; height: 18px; margin: 1px 0 0; }
.staff-capability-form fieldset label > span { display: grid; min-width: 0; gap: 3px; }
.staff-capability-form fieldset strong { font-size: .64rem; }
.staff-capability-form fieldset small { color: var(--dashboard-muted); font-size: .57rem; line-height: 1.4; }
.staff-capability-actions { display: flex; min-height: 44px; align-items: center; justify-content: flex-end; gap: 12px; padding: 0 12px 12px; }
.staff-capability-actions .form-status { flex: 1; }
@media (max-width: 700px) {
  .staff-receipt-summary, .staff-receipt-detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-receipt-card-main { grid-template-columns: minmax(0, 1fr); }
  .staff-receipt-card dl { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .staff-receipt-card dl > div { min-width: 0; }
  .staff-receipt-card-actions, .staff-receipt-unavailable { display: grid; }
  .staff-receipt-card-actions .button, .staff-receipt-unavailable .button { width: 100%; }
  .staff-receipt-dialog, .staff-evidence-dialog { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); border-radius: 12px; }
  .staff-receipt-dialog-header, .staff-receipt-dialog-body { padding-inline: 14px; }
  .staff-receipt-lines li { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .staff-receipt-disposition { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-receipt-time-audit dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-receipt-lines li .button { width: 100%; }
  .staff-receipt-review-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .staff-receipt-review-actions .button { width: 100%; }
  .staff-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-capability-manager > summary { align-items: flex-start; }
  .staff-capability-form fieldset { grid-template-columns: minmax(0, 1fr); }
  .staff-capability-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .staff-capability-actions .button { width: 100%; }
}
.inventory-count-card { grid-column: 1 / -1; }
.inventory-filter-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 10px; align-items: end; margin: 14px 0; }
.inventory-filter-form label { display: grid; min-width: 0; gap: 6px; color: var(--dashboard-text); font-size: .69rem; font-weight: 750; }
.inventory-filter-form :is(select, input) { width: 100%; min-width: 0; min-height: 42px; box-sizing: border-box; padding: 8px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: var(--dashboard-text); }
.inventory-filter-form :is(select, input):focus-visible { border-color: #b54708; outline: 3px solid #fedf89; outline-offset: 1px; }
.inventory-ledger-note { margin: 12px 0 0; color: var(--dashboard-muted); font-size: .66rem; font-variant-numeric: tabular-nums; text-align: right; }
.inventory-reference-list { display: grid; gap: 0; margin: 16px 0 0; padding: 0; border-top: 1px solid var(--dashboard-border); list-style: none; }
.inventory-reference-list li { display: grid; grid-template-columns: minmax(90px, .8fr) minmax(140px, 1.4fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--dashboard-border); font-size: .68rem; }
.inventory-reference-list li span, .inventory-reference-list li small { color: var(--dashboard-muted); }
.inventory-confirm-dialog { width: min(480px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 12px; background: #fff; color: var(--dashboard-text); box-shadow: 0 24px 48px rgba(16,24,40,.22); }
.inventory-confirm-dialog::backdrop { background: rgba(16,24,40,.48); }
.inventory-confirm-dialog form { display: grid; gap: 13px; padding: 22px; }
.inventory-confirm-dialog h2, .inventory-confirm-dialog p { margin: 0; }
.inventory-confirm-dialog > form > p:not(.eyebrow) { color: var(--dashboard-muted); font-size: .75rem; line-height: 1.55; }
.inventory-source-note { margin: 0; color: var(--dashboard-muted); font-size: .66rem; text-align: right; font-variant-numeric: tabular-nums; }
.hpp-recipe-builder { display: grid; gap: 16px; border-left-color: #7f56d9 !important; }
.hpp-recipe-builder .inventory-master-form { margin-top: 0; }
.hpp-builder-heading { align-items: flex-start; }
.hpp-builder-heading h2:focus { outline: none; }
.hpp-builder-heading h2:focus-visible { border-radius: 4px; outline: 3px solid #fdb022; outline-offset: 5px; }
.hpp-builder-workspace { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, .75fr); gap: 18px; align-items: start; }
.hpp-component-list { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.hpp-component-card { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(130px, auto); gap: 10px 16px; align-items: center; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #fff; }
.hpp-component-main { display: flex; min-width: 0; align-items: flex-start; gap: 10px; }
.hpp-component-main > div { min-width: 0; }
.hpp-component-main strong, .hpp-component-main small { display: block; overflow-wrap: anywhere; }
.hpp-component-main strong { color: var(--dashboard-text); font-size: .76rem; }
.hpp-component-main small { margin-top: 3px; color: var(--dashboard-muted); font-size: .63rem; line-height: 1.4; }
.hpp-component-index { display: inline-grid; flex: none; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #f4f3ff; color: #53389e; font-size: .68rem; font-weight: 900; }
.hpp-component-cost { display: grid; gap: 3px; text-align: right; }
.hpp-component-cost span { color: var(--dashboard-muted); font-size: .6rem; }
.hpp-component-cost strong { color: var(--dashboard-text); font-size: .78rem; font-variant-numeric: tabular-nums; }
.hpp-component-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding-top: 10px; border-top: 1px solid var(--dashboard-border); }
.hpp-component-actions .button, .hpp-summary-card .button, .hpp-wizard-actions .button { min-height: 44px; }
.hpp-remove-confirmation { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; border: 1px solid #fda29b; border-radius: 8px; background: #fef3f2; }
.hpp-remove-confirmation p { margin: 0; color: #912018; font-size: .68rem; font-weight: 750; }
.hpp-summary-card { position: sticky; top: 18px; display: grid; gap: 13px; padding: 16px; border: 1px solid #d6bbfb; border-radius: 11px; background: #f9f5ff; }
.hpp-summary-card h3, .hpp-summary-card p { margin: 0; }
.hpp-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.hpp-summary-grid > div { min-width: 0; padding: 10px; border: 1px solid #e9d7fe; border-radius: 8px; background: #fff; }
.hpp-summary-grid dt { color: var(--dashboard-muted); font-size: .6rem; }
.hpp-summary-grid dd { margin: 4px 0 0; color: var(--dashboard-text); font-size: .77rem; font-weight: 850; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.hpp-component-wizard, .hpp-component-review { display: grid; gap: 16px; padding: 18px; border: 1px solid #d6bbfb; border-radius: 11px; background: #fff; }
.hpp-component-wizard h2:focus, .hpp-component-wizard h3:focus, .hpp-component-review h3:focus { outline: none; }
.hpp-component-wizard h2:focus-visible, .hpp-component-wizard h3:focus-visible, .hpp-component-review h3:focus-visible { border-radius: 4px; outline: 3px solid #fdb022; outline-offset: 5px; }
.hpp-wizard-form > section { display: grid; gap: 16px; }
.hpp-wizard-form > section > h3 { margin: 0; color: var(--dashboard-text); font-size: .9rem; }
.hpp-yield-advanced { padding: 12px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f8f9fb; }
.hpp-yield-advanced summary { min-height: 32px; color: var(--dashboard-text); font-size: .7rem; font-weight: 800; cursor: pointer; }
.hpp-yield-advanced label { display: grid; gap: 6px; margin-top: 10px; color: var(--dashboard-text); font-size: .69rem; font-weight: 750; }
.hpp-yield-advanced input, .hpp-component-reason input { width: 100%; min-height: 44px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: var(--dashboard-text); }
.hpp-wizard-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 9px; padding-top: 12px; border-top: 1px solid var(--dashboard-border); }
.hpp-component-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; }
.hpp-component-review-grid > div { min-width: 0; padding: 11px; border: 1px solid var(--dashboard-border); border-radius: 8px; background: #f8f9fb; }
.hpp-component-review-grid dt { color: var(--dashboard-muted); font-size: .61rem; }
.hpp-component-review-grid dd { margin: 4px 0 0; color: var(--dashboard-text); font-size: .72rem; font-weight: 800; overflow-wrap: anywhere; }
.hpp-component-reason { display: grid; gap: 6px; color: var(--dashboard-text); font-size: .69rem; font-weight: 750; }
.hpp-review-list { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--dashboard-border); list-style: none; }
.hpp-review-list li { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(160px, 1fr) auto; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--dashboard-border); color: var(--dashboard-text); font-size: .7rem; }
.hpp-review-list small { color: var(--dashboard-muted); }
.hpp-review-list strong { font-variant-numeric: tabular-nums; }
.hpp-review-summary .hpp-summary-card { position: static; }
.hpp-guided-progress { overflow: hidden; border: 1px solid var(--dashboard-border); border-radius: 11px; background: #f8f9fb; }
.hpp-guided-progress ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.hpp-guided-progress li { position: relative; display: flex; min-width: 0; align-items: center; gap: 9px; padding: 13px 15px; color: var(--dashboard-muted); }
.hpp-guided-progress li + li { border-left: 1px solid var(--dashboard-border); }
.hpp-guided-progress li span { display: inline-grid; flex: none; width: 28px; height: 28px; place-items: center; border: 1px solid #98a2b3; border-radius: 999px; background: #fff; font-size: .68rem; font-weight: 850; }
.hpp-guided-progress li strong { min-width: 0; font-size: .7rem; overflow-wrap: anywhere; }
.hpp-guided-progress li.is-complete { color: #027a48; }
.hpp-guided-progress li.is-complete span { border-color: #12b76a; background: #ecfdf3; }
.hpp-guided-progress li.is-current { background: #f4f3ff; color: #53389e; }
.hpp-guided-progress li.is-current span { border-color: #7f56d9; background: #7f56d9; color: #fff; }
.hpp-guided-stage { display: grid; gap: 14px; padding: 17px; border: 1px solid var(--dashboard-border); border-radius: 11px; background: #fff; }
.hpp-guided-stage.is-pending { background: #f8f9fb; }
.hpp-stage-heading { display: flex; align-items: flex-start; gap: 10px; }
.hpp-stage-heading > span { display: inline-grid; flex: none; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: #f4f3ff; color: #53389e; font-size: .72rem; font-weight: 900; }
.hpp-stage-heading h3, .hpp-stage-heading p { margin: 0; }
.hpp-stage-heading h3 { color: var(--dashboard-text); font-size: .86rem; }
.hpp-stage-heading p { margin-top: 3px; color: var(--dashboard-muted); font-size: .67rem; line-height: 1.45; }
.hpp-guided-form { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.hpp-guided-form > label { grid-column: span 2; }
.hpp-guided-form > label:nth-of-type(4), .hpp-guided-form > label:nth-of-type(5) { grid-column: span 3; }
.hpp-live-estimate { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.6fr); gap: 16px; padding: 15px; border-radius: 10px; background: #101828; color: #fff; }
.hpp-live-estimate h3, .hpp-live-estimate p, .hpp-live-estimate dl, .hpp-live-estimate dd { margin: 0; }
.hpp-live-estimate .eyebrow { color: #d6bbfb; }
.hpp-live-estimate h3 { margin-top: 3px; font-size: .84rem; }
.hpp-live-estimate > div > p:last-child { margin-top: 6px; color: #d0d5dd; font-size: .64rem; line-height: 1.5; }
.hpp-live-estimate dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hpp-live-estimate dl > div { min-width: 0; padding: 9px 10px; border: 1px solid #344054; border-radius: 8px; background: #1d2939; }
.hpp-live-estimate dt { color: #d0d5dd; font-size: .6rem; font-weight: 700; }
.hpp-live-estimate dd { margin-top: 3px; color: #fff; font-size: .74rem; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.hpp-batch-section-heading, .hpp-batch-row-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.hpp-batch-section-heading h3, .hpp-batch-section-heading p, .hpp-batch-row-heading h3 { margin: 0; }
.hpp-batch-section-heading p { margin-top: 4px; color: var(--dashboard-muted); font-size: .68rem; line-height: 1.5; }
.hpp-batch-list { display: grid; gap: 12px; }
.hpp-batch-row { display: grid; gap: 13px; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #f8f9fb; }
.hpp-batch-row-heading span { color: #6941c6; font-size: .61rem; font-weight: 800; text-transform: uppercase; }
.hpp-batch-row-heading h3 { margin-top: 3px; color: var(--dashboard-text); font-size: .78rem; }
.hpp-batch-fields { display: grid; grid-template-columns: minmax(120px, .55fr) minmax(210px, 1.35fr) minmax(150px, .8fr) minmax(95px, .45fr); gap: 10px; align-items: start; }
.hpp-batch-fields label { display: grid; gap: 6px; color: var(--dashboard-text); font-size: .66rem; font-weight: 750; }
.hpp-batch-fields :is(input, select) { width: 100%; min-height: 42px; box-sizing: border-box; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; color: var(--dashboard-text); padding: 9px 10px; font: inherit; }
.hpp-batch-fields small { color: var(--dashboard-muted); font-size: .58rem; font-weight: 500; line-height: 1.45; }
.hpp-batch-yield { grid-column: 1 / -1; }
.hpp-batch-yield summary { cursor: pointer; color: #53389e; font-size: .64rem; font-weight: 800; }
.hpp-batch-yield label { max-width: 220px; margin-top: 10px; }
.hpp-batch-row-result { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.hpp-batch-row-result > div { padding: 9px 10px; border: 1px solid #eaecf0; border-radius: 8px; background: #fff; }
.hpp-batch-row-result dt { color: var(--dashboard-muted); font-size: .58rem; }
.hpp-batch-row-result dd { margin: 3px 0 0; color: var(--dashboard-text); font-size: .7rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.hpp-batch-add { justify-self: start; }
.hpp-batch-summary { margin-top: 2px; }
.hpp-batch-review-list span { display: grid; gap: 3px; }
.hpp-batch-review-list small { color: var(--dashboard-muted); }
.hpp-batch-review-summary dd { font-variant-numeric: tabular-nums; }
.hpp-draft-lines li { grid-template-columns: minmax(150px, 1fr) minmax(170px, 1fr) auto; }
.hpp-line-detail { display: grid; gap: 3px; }
.hpp-line-detail small { color: #027a48 !important; font-size: .66rem !important; font-weight: 800 !important; }
.hpp-simulation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.hpp-simulation > div { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f8f9fb; }
.hpp-simulation span { color: var(--dashboard-muted); font-size: .66rem; font-weight: 700; }
.hpp-simulation strong { color: var(--dashboard-text); font-size: 1rem; font-variant-numeric: tabular-nums; }
.hpp-publish-form { display: grid; grid-template-columns: minmax(240px, 1fr) auto; gap: 10px; align-items: end; padding-top: 14px; border-top: 1px solid var(--dashboard-border); }
.hpp-publish-form label { display: grid; gap: 6px; color: var(--dashboard-text); font-size: .69rem; font-weight: 750; }
.hpp-publish-form input { width: 100%; min-height: 44px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #98a2b3; border-radius: 8px; }
.hpp-publish-form .form-status { grid-column: 1 / -1; margin: 0; color: #b42318; font-size: .68rem; }
.hpp-menu-filter { grid-template-columns: minmax(220px, 1fr) minmax(180px, 260px) auto; }
.inventory-filter-summary { margin: -2px 0 0; color: var(--dashboard-muted); font-size: .68rem; }
.hpp-builder-empty { min-height: 180px; }
.hpp-history-list li { grid-template-columns: minmax(150px, 1fr) auto minmax(150px, auto); }
.hpp-quality-panel { display: grid; gap: 14px; }
.hpp-quality-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.hpp-quality-card { display: grid; min-width: 0; min-height: 116px; align-content: center; gap: 4px; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f8f9fb; color: var(--dashboard-text); text-align: left; cursor: pointer; }
.hpp-quality-card:hover { border-color: #f79009; background: #fff7ed; }
.hpp-quality-card:focus-visible { outline: 3px solid #fdb022; outline-offset: 2px; }
.hpp-quality-card span { color: var(--dashboard-muted); font-size: .67rem; font-weight: 750; }
.hpp-quality-card strong { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.hpp-quality-card small { color: var(--dashboard-muted); font-size: .62rem; line-height: 1.4; }
.hpp-quality-detail { align-items: start; }
.hpp-quality-detail > article { min-width: 0; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 9px; background: #fff; }
.hpp-quality-detail h3 { margin: 0; color: var(--dashboard-text); font-size: .78rem; }
.readiness-list { width: 100%; margin: 8px 0 0; padding: 0; list-style: none; }
.readiness-list li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--dashboard-border); font-size: .72rem; }
.readiness-list span { color: var(--dashboard-muted); }
.readiness-list small { display: block; max-width: 58ch; margin-top: 3px; color: var(--dashboard-ink); font-size: .68rem; line-height: 1.45; }
.owner-closing-readiness { margin-block: 14px; }
.owner-closing-action { display: grid; gap: 6px; justify-items: end; }
.owner-closing-action .button { white-space: normal; text-align: center; }
.owner-cash-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.owner-closing-simulation { margin-top: 16px; }
.owner-closing-simulation > summary { cursor: pointer; min-height: 44px; padding-block: 12px; font-weight: 700; }
@media (max-width: 760px) {
  .owner-cash-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-closing-readiness .readiness-list > li { flex-direction: column; align-items: stretch; }
  .owner-closing-action { justify-items: start; }
}
.owner-closing-flow { display: grid; gap: 10px; margin: 12px 0 0; padding-left: 1.1rem; color: var(--dashboard-ink); font-size: .78rem; line-height: 1.45; }
.owner-closing-flow li::marker { color: var(--dashboard-accent); font-weight: 900; }
.surface-dashboard .owner-financial { margin: 0; }
.surface-dashboard .owner-usage, .surface-dashboard .owner-variance { margin: 0; }
.surface-dashboard .owner-integrations { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.surface-dashboard .owner-integrations > div { border: 1px solid var(--dashboard-border); border-radius: 9px; background: #f8f9fb; box-shadow: none; }

@media (max-width: 1100px) {
  .surface-dashboard #operator-app { grid-template-columns: 224px minmax(0, 1fr); }
  .surface-dashboard .operator-context .count-pill { display: none; }
  .comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-action-grid, .report-download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .surface-dashboard .owner-integrations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .surface-dashboard #operator-app { display: block; }
  .dashboard-sidebar { position: fixed; inset: 32px auto 0 0; z-index: 45; width: min(286px, 84vw); height: calc(100vh - 32px); height: calc(100dvh - 32px); visibility: hidden; transform: translateX(-105%); transition: transform 180ms ease-out; box-shadow: 20px 0 50px rgba(16,24,40,.16); overscroll-behavior: contain; }
  .dashboard-nav-open { overflow: hidden; }
  .dashboard-nav-open .dashboard-sidebar { visibility: visible; transform: translateX(0); }
  .dashboard-nav-backdrop:not([hidden]) { display: block; position: fixed; inset: 32px 0 0; z-index: 44; background: rgba(16,24,40,.32); }
  .dashboard-nav-heading { position: sticky; top: -20px; z-index: 1; margin-top: -20px; padding-block: 16px; background: var(--dashboard-surface); }
  .dashboard-sidebar { scroll-padding-block: 96px 16px; }
  .dashboard-nav-close { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--dashboard-border); border-radius: 8px; background: white; color: var(--dashboard-text); font-size: 1.5rem; cursor: pointer; }
  .dashboard-menu-button { display: inline-flex; align-items: center; justify-content: center; }
  .surface-dashboard .operator-header { min-height: 64px; padding: 9px 12px; }
  .surface-dashboard .operator-header .eyebrow { max-width: 22ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .surface-dashboard .operator-context .service-state, .surface-dashboard #dashboard-kds-link { display: none; }
  .surface-dashboard #dashboard-cashier-link { display: none; }
  .surface-dashboard .operator-context .button { min-height: 40px; padding-inline: 10px; font-size: .68rem; }
  .surface-dashboard .operator-content { padding: 15px 12px calc(92px + env(safe-area-inset-bottom)); }
  .dashboard-module-context { min-height: 44px; align-items: flex-start; }
  .dashboard-module-context > div { min-width: auto; }
  .dashboard-module-meta small, .dashboard-module-meta span { display: none; }
  .surface-dashboard .metric-grid, .inventory-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .surface-dashboard .metric-card { min-height: 92px; padding: 12px; }
  .surface-dashboard .metric-card strong { font-size: 1.25rem; }
  .dashboard-overview-grid, .dashboard-action-grid, .report-download-grid { grid-template-columns: 1fr; }
  .owner-cash-assist-review .section-heading { align-items: stretch; }
  .owner-cash-assist-review .button { width: 100%; }
  .comparison-grid { grid-template-columns: 1fr; }
  .dashboard-action-card, .report-download-grid .dashboard-card { min-height: 190px; }
  .dashboard-period-filter { top: 64px; display: grid; grid-template-columns: 1fr auto; }
  .dashboard-period-filter label, .dashboard-period-filter p { grid-column: 1 / -1; }
  .hourly-chart li { grid-template-columns: 36px minmax(60px, 1fr) 84px; }
  .hourly-chart li > small { display: none; }
  .surface-dashboard .owner-integrations { grid-template-columns: 1fr; }
  .dashboard-mobile-navigation { position: fixed; inset: auto 0 0; z-index: 40; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 7px 6px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid var(--dashboard-border); background: var(--dashboard-surface); box-shadow: 0 -5px 16px rgba(16,24,40,.08); }
  .dashboard-mobile-navigation[hidden] { display: none; }
  .dashboard-mobile-navigation a, .dashboard-mobile-navigation button { display: grid; min-width: 0; min-height: 52px; place-items: center; align-content: center; gap: 3px; padding: 4px 2px; border: 0; border-radius: 8px; background: transparent; color: var(--dashboard-muted); font: inherit; text-decoration: none; }
  .dashboard-mobile-navigation span { max-width: 100%; overflow: hidden; font-size: .62rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
  .dashboard-mobile-navigation [aria-current="page"], .dashboard-mobile-navigation .is-active { color: #9d3b14; }
  .dashboard-mobile-navigation [aria-current="page"] { background: var(--dashboard-brand-soft); }
  .inventory-workspace-heading { align-items: flex-start; padding: 14px; }
  .inventory-workspace-heading .button { flex: none; }
  .inventory-loading { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-state-card { grid-template-columns: 38px minmax(0, 1fr); }
  .inventory-state-card .button { grid-column: 1 / -1; }
  .inventory-master-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hpp-guided-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hpp-guided-form > label { grid-column: auto; }
  .hpp-guided-form > label:nth-of-type(4), .hpp-guided-form > label:nth-of-type(5) { grid-column: auto; }
  .hpp-guided-form > label:first-of-type, .hpp-live-estimate { grid-column: 1 / -1; }
  .hpp-live-estimate { grid-template-columns: 1fr; }
  .hpp-builder-workspace { grid-template-columns: 1fr; }
  .hpp-summary-card { position: static; }
  .inventory-tool-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .surface-dashboard .operator-header h1 { font-size: 1.16rem; }
  .surface-dashboard #dashboard-refresh-button { display: none; }
  .dashboard-module-context > p { font-size: .74rem; }
  .surface-dashboard .metric-grid, .inventory-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .surface-dashboard .metric-card p, .surface-dashboard .metric-card span { font-size: .62rem; }
  .surface-dashboard .metric-card strong { font-size: 1.08rem; overflow-wrap: anywhere; }
  .inventory-workspace-heading { display: grid; }
  .inventory-workspace-heading .button { width: 100%; }
  .inventory-workspace-tabs a { min-height: 44px; padding-inline: 13px; }
  .inventory-master-form, .inventory-compact-form, .inventory-filter-form { grid-template-columns: 1fr; }
  .warehouse-stock-search { grid-template-columns: 1fr; max-width: none; }
  .warehouse-stock-search .button { width: 100%; }
  .inventory-material-table { max-height: none; overflow: visible; scrollbar-gutter: auto; }
  .inventory-material-table table { min-width: 0; border-collapse: separate; border-spacing: 0; }
  .inventory-material-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .inventory-material-table tbody { display: grid; gap: 12px; }
  .inventory-material-table tr { display: grid; gap: 0; overflow: hidden; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #fff; }
  .inventory-material-table :is(th, td) { position: static; display: grid; min-width: 0; grid-template-columns: minmax(96px, .8fr) minmax(0, 1.2fr); gap: 10px; align-items: center; padding: 9px 0; border: 0; border-bottom: 1px solid var(--dashboard-border); background: transparent; text-align: left; }
  .inventory-material-table th[scope="row"] { display: block; padding-top: 0; color: var(--dashboard-text); font-size: .82rem; }
  .inventory-material-table td::before { content: attr(data-label); color: var(--dashboard-muted); font-size: .62rem; font-weight: 750; text-transform: uppercase; }
  .inventory-material-table td:last-child { display: block; padding-bottom: 0; border-bottom: 0; }
  .inventory-material-table td:last-child::before { display: block; margin-bottom: 8px; }
  .inventory-material-table .inventory-row-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .inventory-material-table .inventory-row-actions .button { width: 100%; min-height: 44px; }
  .inventory-balance-table { max-height: none; overflow: visible; scrollbar-gutter: auto; }
  .inventory-balance-table table { min-width: 0; border-collapse: separate; border-spacing: 0; }
  .inventory-balance-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .inventory-balance-table tbody { display: grid; gap: 12px; }
  .inventory-balance-table tr { display: grid; gap: 0; overflow: hidden; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #fff; }
  .inventory-balance-table :is(th, td) { position: static; display: grid; min-width: 0; grid-template-columns: minmax(116px, .9fr) minmax(0, 1.1fr); gap: 10px; align-items: center; padding: 9px 0; border: 0; border-bottom: 1px solid var(--dashboard-border); background: transparent; text-align: left; }
  .inventory-balance-table th[scope="row"] { display: block; padding-top: 0; color: var(--dashboard-text); font-size: .82rem; }
  .inventory-balance-table td::before { content: attr(data-label); color: var(--dashboard-muted); font-size: .62rem; font-weight: 750; text-transform: uppercase; }
  .inventory-balance-table td:last-child { display: block; padding-bottom: 0; border-bottom: 0; }
  .inventory-balance-table td:last-child::before { display: block; margin-bottom: 8px; }
  .inventory-balance-table td:last-child .button { width: 100%; min-height: 44px; }
  .hpp-menu-table { max-height: none; overflow: visible; scrollbar-gutter: auto; }
  .hpp-menu-table table { min-width: 0; border-collapse: separate; border-spacing: 0; }
  .hpp-menu-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .hpp-menu-table tbody { display: grid; gap: 12px; }
  .hpp-menu-table tr { display: grid; gap: 0; overflow: hidden; padding: 14px; border: 1px solid var(--dashboard-border); border-radius: 10px; background: #fff; }
  .hpp-menu-table :is(th, td) { position: static; display: grid; min-width: 0; grid-template-columns: minmax(105px, .85fr) minmax(0, 1.15fr); gap: 10px; align-items: center; padding: 9px 0; border: 0; border-bottom: 1px solid var(--dashboard-border); background: transparent; text-align: left; }
  .hpp-menu-table th[scope="row"] { display: block; padding-top: 0; color: var(--dashboard-text); font-size: .82rem; }
  .hpp-menu-table td::before { content: attr(data-label); color: var(--dashboard-muted); font-size: .62rem; font-weight: 750; text-transform: uppercase; }
  .hpp-menu-table td:last-child { display: block; padding-bottom: 0; border-bottom: 0; }
  .hpp-menu-table td:last-child::before { display: block; margin-bottom: 8px; }
  .hpp-menu-table td:last-child .button { width: 100%; min-height: 44px; }
  .warehouse-receipt-actions { display: grid; grid-template-columns: 1fr; }
  .warehouse-receipt-actions .button { width: 100%; }
  .warehouse-receipt-dialog { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); border-radius: 12px; }
  .hpp-recipe-dialog { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); border-radius: 12px; }
  .hpp-recipe-entry [data-hpp-component-entry] .hpp-batch-fields { grid-template-columns: 1fr; }
  .warehouse-receipt-header { padding: 14px; }
  .warehouse-receipt-form { padding: 14px; }
  .warehouse-receipt-form .inventory-compact-form { grid-template-columns: 1fr; }
  .warehouse-receipt-form .warehouse-receipt-preview dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .warehouse-receipt-form .warehouse-receipt-actions .button { min-width: 0; }
  .warehouse-purchase-priority-list li { display: grid; gap: 12px; }
  .warehouse-purchase-priority-list .button { width: 100%; }
  .hpp-simulation, .hpp-publish-form { grid-template-columns: 1fr; }
  .hpp-builder-heading { display: grid; gap: 12px; }
  .hpp-builder-heading .button { width: 100%; }
  .hpp-guided-progress ol { grid-template-columns: 1fr; }
  .hpp-guided-progress li + li { border-top: 1px solid var(--dashboard-border); border-left: 0; }
  .hpp-guided-progress li { min-height: 46px; padding: 9px 11px; }
  .hpp-guided-stage { padding: 13px; }
  .hpp-guided-form, .hpp-live-estimate dl { grid-template-columns: 1fr; }
  .hpp-guided-form > label, .hpp-guided-form > label:first-of-type, .hpp-guided-form > label:nth-of-type(4), .hpp-guided-form > label:nth-of-type(5), .hpp-guided-form > .hpp-live-estimate, .hpp-guided-form > .inventory-form-wide { grid-column: 1 / -1; }
  .hpp-live-estimate { display: block; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; padding: 12px; }
  .hpp-live-estimate > div, .hpp-live-estimate dl, .hpp-live-estimate dl > div { width: auto; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .hpp-live-estimate dl { display: grid; margin-top: 12px; }
  .hpp-live-estimate :is(dt, dd) { word-break: normal; overflow-wrap: normal; }
  .hpp-quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hpp-draft-lines li, .hpp-history-list li { grid-template-columns: 1fr; }
  .hpp-component-card, .hpp-component-review-grid, .hpp-review-list li { grid-template-columns: 1fr; }
  .hpp-batch-section-heading { flex-direction: column; align-items: stretch; }
  .hpp-batch-section-heading .status-badge { align-self: flex-start; }
  .hpp-batch-row-heading { align-items: stretch; }
  .hpp-batch-fields, .hpp-batch-row-result { grid-template-columns: 1fr; }
  .hpp-batch-row-heading .button, .hpp-batch-add { width: 100%; }
  .hpp-component-cost { text-align: left; }
  .hpp-component-actions, .hpp-wizard-actions { display: grid; grid-template-columns: 1fr; }
  .hpp-component-actions .button, .hpp-wizard-actions .button, .hpp-summary-card .button { width: 100%; }
  .hpp-remove-confirmation { display: grid; }
  .hpp-summary-grid { grid-template-columns: 1fr; }
  .hpp-component-wizard, .hpp-component-review { padding: 13px; }
  .inventory-form-wide { grid-column: auto; }
  .inventory-reference-list li { grid-template-columns: 1fr; gap: 3px; }
}

/* Owner reports: preserve 320px reflow at 200% text zoom. */
.dashboard-module[data-active-module="reports"],
.dashboard-module[data-active-module="reports"] > *,
.dashboard-module[data-active-module="reports"] #esb-owner-report-integration,
.dashboard-module[data-active-module="reports"] .esb-owner-report-workspace,
.dashboard-module[data-active-module="reports"] .esb-owner-report-workspace > *,
.dashboard-module[data-active-module="reports"] .saga-report-shell,
.dashboard-module[data-active-module="reports"] .saga-report-shell > *,
.dashboard-module[data-active-module="reports"] .report-download-grid,
.dashboard-module[data-active-module="reports"] .report-download-grid > * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.dashboard-module[data-active-module="reports"] :is(input, select, textarea, button, .button) {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 420px) {
  .dashboard-module[data-active-module="reports"] .dashboard-module-context {
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-sidebar, .dashboard-nav-section summary .feather:last-child { transition: none; }
}

.admin-modifier-workspace { display: grid; gap: 1rem; }
.admin-modifier-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)); }
.admin-modifier-card { border: 1px solid var(--line, #d8d0c6); border-radius: 1rem; padding: 1rem; background: #fffdf9; display: grid; gap: 1rem; }
.admin-modifier-card header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.admin-modifier-card h3 { margin: .4rem 0 .2rem; }
.admin-modifier-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: .85rem; border-radius: .85rem; background: #f7f2eb; }
.admin-modifier-form label { display: grid; gap: .35rem; font-weight: 700; min-width: 0; }
.admin-modifier-form input, .admin-modifier-form select { width: 100%; min-height: 44px; }
.admin-modifier-form select[multiple] { min-height: 8rem; }
.admin-modifier-form small { font-weight: 500; color: var(--muted, #665f58); }
.admin-modifier-form [role="status"], .admin-modifier-reason, .admin-modifier-form button { grid-column: 1 / -1; }
.admin-modifier-options { display: grid; gap: .75rem; }
.admin-modifier-create { border: 1px dashed var(--line, #d8d0c6); border-radius: .85rem; padding: .85rem; }
.admin-modifier-create summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 800; }
.admin-modifier-audit { display: grid; gap: .45rem; padding-left: 1.2rem; }
@media (max-width: 720px) {
  .phase2-hero { align-items:stretch; flex-direction:column; padding:18px; }
  .phase2-score { min-width:0; }
  .phase2-sequence { grid-template-columns:1fr; }
  .phase3-readiness-card ul { grid-template-columns:1fr; }
  .admin-modifier-form { grid-template-columns: 1fr; }
  .admin-modifier-form > * { grid-column: 1; }
}

/* Operator text reflow: constrain intrinsic sizes without clipping enlarged text. */
:is(.surface-cashier, .surface-admin, .surface-ap) .operator-shell { overflow-wrap: anywhere; }
:is(.surface-cashier, .surface-admin, .surface-ap) :is(.operator-login > *, .login-card > *, .operator-context, .operator-content > *) { min-width: 0; }
:is(.surface-cashier, .surface-admin, .surface-ap) .operator-content { grid-template-columns: minmax(0, 1fr); }
:is(.surface-cashier, .surface-admin, .surface-ap) :is(input, select, textarea) { min-width: 0; max-width: 100%; }
:is(.surface-cashier, .surface-admin, .surface-ap) .login-card input { width: 100%; }
:is(.surface-cashier, .surface-admin, .surface-ap) .login-card { padding: min(1.5rem, 24px); }
:is(.surface-cashier, .surface-admin, .surface-ap) .button { padding-inline: min(1rem, 16px); }
:is(.surface-cashier, .surface-admin, .surface-ap) .operator-context .count-pill { max-width: 100%; white-space: normal; }
.surface-cashier :is(.cashier-section-heading, .cart-heading) { flex-wrap: wrap; }
:is(.surface-cashier, .surface-admin) .operator-shell { container-type: inline-size; container-name: operator-text-reflow; }
.surface-cashier .checkout-fields { grid-template-columns: repeat(auto-fit, minmax(min(100%, 7rem), 1fr)); }
.surface-cashier .product-index { min-height: calc(40px + .75rem); padding-right: calc(40px + .25rem); }
.surface-cashier .product-card { row-gap: .25rem; }
.surface-cashier .cart-summary > div { flex-wrap: wrap; }
.surface-cashier .cart-summary strong { white-space: nowrap; }
.surface-admin :is(.admin-filter-row, .section-heading, .admin-product-card > div) { flex-wrap: wrap; }
.surface-admin .admin-guide-card li { grid-template-columns: 34px minmax(0, 1fr); }
.surface-cashier .category-tabs, .surface-admin .admin-category-row { scroll-snap-type: x proximity; }
.surface-cashier .category-tabs button, .surface-admin .admin-category { scroll-snap-align: center; }
@container operator-text-reflow (max-width: 36em) {
  .surface-cashier .cashier-layout { grid-template-columns: minmax(0, 1fr); }
  .surface-cashier .cart-panel { height: auto; min-height: 0; overflow: visible; }
  .surface-cashier .cashier-scroll-region { overflow: visible; }
  .surface-admin :is(.admin-workspace, .admin-catalog-tools) { grid-template-columns: minmax(0, 1fr); }
  .surface-admin .admin-side-stack { position: static; }
}
@media (max-width: 760px) {
  :is(.surface-cashier, .surface-admin, .surface-ap) .operator-login { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 430px) {
  .surface-cashier .product-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 7rem), 1fr)); }
  .surface-cashier .product-card { padding: min(.8rem, 12.8px); }
}

/* Owner inventory: enlarged text reflows while tables keep their native scroll. */
.operator-app-main:has([data-active-module="inventory"]) { container: owner-inventory-frame / inline-size; }
.dashboard-module[data-active-module="inventory"] { min-width: 0; grid-template-columns: minmax(0, 1fr); container: owner-inventory / inline-size; overflow-wrap: anywhere; }
[data-active-module="inventory"] :is(.dashboard-module-context > *, .dashboard-card, .dashboard-card > *, .metric-card, .owner-usage-summary > div, .owner-variance-metrics > div) { min-width: 0; }
[data-active-module="inventory"] .section-heading { flex-wrap: wrap; }
[data-active-module="inventory"] .owner-count { max-width: 100%; white-space: normal; }
[data-active-module="inventory"] .button { max-width: 100%; padding-inline: min(1rem, 16px); }
[data-active-module="inventory"] .dashboard-period-filter input { min-width: 0; }
[data-active-module="inventory"] .owner-usage { grid-template-columns: minmax(0, 1fr); }
[data-active-module="inventory"] .table-wrap { overflow-wrap: normal; }
[data-active-module="inventory"] :is(.owner-usage-summary > div, .owner-variance-metrics > div, .owner-variance-filter) { padding-inline: min(.85rem, 13.6px); }
[data-active-module="inventory"] :is(.owner-usage-boundary, .owner-variance-evidence) { padding-inline: min(.9rem, 14.4px); }
[data-active-module="inventory"] :is(.owner-variance-ready, .owner-variance-prerequisite) { padding-inline: min(1rem, 16px); }
[data-active-module="inventory"] :is(.owner-variance-evidence-row summary, .owner-variance-evidence-body) { padding-inline: min(.75rem, 12px); }
[data-active-module="inventory"] .owner-variance-evidence-body li { padding-inline: min(.55rem, 8.8px); }
[data-active-module="inventory"] .owner-variance-filter button { min-width: 0; }
@container owner-inventory (max-width: 26em) {
  [data-active-module="inventory"] .inventory-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-active-module="inventory"] .owner-usage-summary { grid-template-columns: minmax(0, 1fr); }
  [data-active-module="inventory"] .owner-variance-filter { grid-template-columns: minmax(0, 1fr); }
  [data-active-module="inventory"] .owner-variance-filter > span { display: none; }
  [data-active-module="inventory"] .owner-variance-evidence-body { grid-template-columns: minmax(0, 1fr); }
  [data-active-module="inventory"] :is(.owner-variance-evidence-row summary, .owner-variance-evidence-body li) { grid-template-columns: minmax(0, 1fr); }
  [data-active-module="inventory"] :is(.owner-variance-evidence-row summary > span:last-child, .owner-variance-evidence-body li > span) { justify-items: start; text-align: left; }
}
@media (min-width: 761px) {
  .operator-app-main:has([data-active-module="inventory"]) .operator-context { flex-wrap: wrap; }
  @container owner-inventory-frame (max-width: 26em) {
    .operator-app-main:has([data-active-module="inventory"]) .operator-header { position: static; grid-template-columns: minmax(0, 1fr); }
    .operator-app-main:has([data-active-module="inventory"]) .operator-context { flex-wrap: wrap; justify-content: flex-start; }
  }
}
@container owner-inventory (max-width: 14em) {
  [data-active-module="inventory"] .dashboard-module-context { flex-wrap: wrap; }
  [data-active-module="inventory"] :is(.inventory-summary-grid, .owner-usage-summary, .owner-variance-metrics, .dashboard-period-filter) { grid-template-columns: minmax(0, 1fr); }
  [data-active-module="inventory"] .dashboard-period-filter { position: static; }
}

/* Database Bahan wizard: a focused, in-dashboard task instead of an admin form. */
.ingredient-wizard-entry { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px; border-color: #fed7aa; background: linear-gradient(135deg, #fffaf5, #fff); }
.ingredient-wizard-entry h2 { margin: 0; color: var(--dashboard-text, #101828); font-size: 1rem; }
.ingredient-wizard-entry p:not(.eyebrow) { max-width: 62ch; margin: 6px 0 0; color: var(--dashboard-muted, #667085); font-size: .72rem; line-height: 1.55; }
.inventory-advanced-tools { padding: 0; border: 1px solid #e4e7ec; border-radius: 10px; background: #f9fafb; }
.inventory-advanced-tools > summary { min-height: 48px; padding: 14px 16px; color: #475467; font-size: .7rem; font-weight: 750; cursor: pointer; }
.inventory-advanced-tools > p { margin: 0; padding: 0 16px 14px; color: #667085; font-size: .64rem; line-height: 1.5; }
.inventory-advanced-tools > .inventory-tool-grid { padding: 0 14px 14px; }
.button-quiet { border-color: transparent; background: transparent; color: #667085; box-shadow: none; }
.ingredient-wizard-shell { width: min(960px, 100%); min-width: 0; margin: 0 auto; overflow: hidden; border: 1px solid #e4e7ec; border-radius: 16px; background: #fff; box-shadow: 0 20px 44px rgba(16, 24, 40, .08); }
.ingredient-wizard-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: clamp(20px, 4vw, 36px); border-bottom: 1px solid #eaecf0; background: #fcfcfd; }
.ingredient-wizard-header h1, .ingredient-wizard-success h1 { margin: 0; color: #101828; font-family: "Plus Jakarta Sans", Inter, "Segoe UI", sans-serif; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 760; letter-spacing: -.035em; line-height: 1.16; }
.ingredient-wizard-header p:not(.eyebrow) { max-width: 64ch; margin: 9px 0 0; color: #667085; font-size: .76rem; line-height: 1.55; }
.ingredient-wizard-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 18px clamp(18px, 4vw, 36px); border-bottom: 1px solid #eaecf0; list-style: none; }
.ingredient-wizard-steps li { position: relative; display: grid; justify-items: center; gap: 6px; min-width: 0; color: #667085; font-size: .64rem; text-align: center; }
.ingredient-wizard-steps li:not(:last-child)::after { content: ""; position: absolute; z-index: 0; top: 15px; left: calc(50% + 18px); width: calc(100% - 36px); height: 2px; background: #eaecf0; }
.ingredient-wizard-steps li.is-complete:not(:last-child)::after { background: #f79009; }
.ingredient-wizard-steps span { z-index: 1; display: grid; width: 32px; height: 32px; place-items: center; border: 2px solid #d0d5dd; border-radius: 50%; background: #fff; color: #667085; font-size: .72rem; font-weight: 800; }
.ingredient-wizard-steps .is-current { color: #7a2e0e; }
.ingredient-wizard-steps .is-current span { border-color: #f79009; background: #fff7ed; color: #b54708; box-shadow: 0 0 0 4px #fffaeb; }
.ingredient-wizard-steps .is-complete span { border-color: #f79009; background: #f79009; color: #fff; }
.ingredient-wizard-form { display: grid; min-width: 0; }
.ingredient-wizard-panel { display: grid; min-height: 420px; align-content: start; gap: 18px; padding: clamp(24px, 5vw, 48px); }
.ingredient-wizard-panel h2 { margin: 0; color: #101828; font-family: "Plus Jakarta Sans", Inter, "Segoe UI", sans-serif; font-size: clamp(1.2rem, 2.8vw, 1.65rem); font-weight: 760; letter-spacing: -.025em; }
.ingredient-wizard-kicker { margin: 0 0 -10px; color: #b54708; font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ingredient-wizard-lead { max-width: 68ch; margin: -8px 0 2px; color: #667085; font-size: .75rem; line-height: 1.55; }
.ingredient-wizard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ingredient-wizard-field { display: grid; min-width: 0; align-content: start; gap: 7px; color: #344054; font-size: .7rem; font-weight: 750; }
.ingredient-wizard-field-wide { grid-column: 1 / -1; }
.ingredient-wizard-field :is(input, select) { width: 100%; min-width: 0; min-height: 50px; padding: 11px 12px; border: 1px solid #98a2b3; border-radius: 10px; background: #fff; color: #101828; }
.ingredient-wizard-field input[readonly] { border-color: #d0d5dd; background: #f2f4f7; color: #475467; }
.ingredient-wizard-field :is(input, select):focus-visible { border-color: #b54708; outline: 3px solid #fedf89; outline-offset: 1px; }
.ingredient-wizard-field small { color: #667085; font-size: .62rem; font-weight: 500; line-height: 1.45; }
.ingredient-wizard-category-note { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px; border: 1px solid #fed7aa; border-radius: 12px; background: #fffaf5; }
.ingredient-wizard-category-note > span { display: grid; min-height: 46px; place-items: center; border-radius: 9px; background: #7a2e0e; color: #fff; font-size: .7rem; font-weight: 900; }
.ingredient-wizard-category-note strong { color: #7a2e0e; font-size: .78rem; }
.ingredient-wizard-category-note p { margin: 4px 0 0; color: #667085; font-size: .64rem; line-height: 1.45; }
.ingredient-wizard-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ingredient-wizard-choice { position: relative; display: grid; min-width: 0; min-height: 150px; align-content: start; gap: 8px; padding: 18px; border: 1px solid #d0d5dd; border-radius: 12px; background: #fff; color: #344054; cursor: pointer; }
.ingredient-wizard-choice:hover { border-color: #f79009; background: #fffaf5; }
.ingredient-wizard-choice.is-selected { border: 2px solid #f79009; padding: 17px; background: #fff7ed; box-shadow: 0 0 0 4px #fffaeb; }
.ingredient-wizard-choice input { position: absolute; top: 14px; right: 14px; width: 20px; height: 20px; accent-color: #f79009; }
.ingredient-wizard-choice > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 9px; background: #f2f4f7; color: #475467; font-size: .7rem; font-weight: 900; }
.ingredient-wizard-choice strong { color: #101828; font-size: .8rem; }
.ingredient-wizard-choice small { max-width: 34ch; color: #667085; font-size: .64rem; line-height: 1.5; }
.ingredient-wizard-equation { display: grid; gap: 5px; padding: 14px 16px; border: 1px solid #b2ddff; border-radius: 11px; background: #eff8ff; }
.ingredient-wizard-equation span { color: #175cd3; font-size: .62rem; font-weight: 750; }
.ingredient-wizard-equation strong { color: #1849a9; font-size: .78rem; overflow-wrap: anywhere; }
.ingredient-wizard-price-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr); gap: 24px; align-items: start; }
.ingredient-wizard-price-layout > .ingredient-wizard-grid { grid-template-columns: minmax(0, 1fr); }
.ingredient-wizard-money { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; overflow: hidden; border: 1px solid #98a2b3; border-radius: 10px; background: #fff; }
.ingredient-wizard-money:focus-within { border-color: #b54708; outline: 3px solid #fedf89; outline-offset: 1px; }
.ingredient-wizard-money > span { padding-left: 12px; color: #667085; }
.ingredient-wizard-money input { border: 0; outline: 0 !important; }
.ingredient-wizard-check { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; padding: 12px; border: 1px solid #d0d5dd; border-radius: 10px; color: #344054; cursor: pointer; }
.ingredient-wizard-check input { width: 20px; height: 20px; margin: 0; accent-color: #f79009; }
.ingredient-wizard-check span { display: grid; gap: 2px; }
.ingredient-wizard-check small { color: #667085; font-weight: 500; }
.ingredient-wizard-cost { display: grid; overflow: hidden; border: 1px solid #e4e7ec; border-radius: 12px; background: #f9fafb; }
.ingredient-wizard-cost > p { margin: 0; padding: 14px 16px; border-bottom: 1px solid #e4e7ec; color: #344054; font-size: .7rem; font-weight: 800; }
.ingredient-wizard-cost > div { display: grid; gap: 4px; padding: 13px 16px; border-bottom: 1px solid #eaecf0; }
.ingredient-wizard-cost span { color: #667085; font-size: .62rem; }
.ingredient-wizard-cost strong { color: #101828; font-size: .82rem; overflow-wrap: anywhere; }
.ingredient-wizard-cost .is-emphasis { background: #ecfdf3; }
.ingredient-wizard-cost .is-emphasis strong { color: #027a48; }
.ingredient-wizard-cost > small { padding: 13px 16px; color: #667085; font-size: .6rem; line-height: 1.45; }
.ingredient-wizard-review { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; padding: 20px; border: 1px solid #a6f4c5; border-radius: 12px; background: #f6fef9; }
.ingredient-wizard-review-mark { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #12b76a; color: #fff; font-size: 1.1rem; font-weight: 900; }
.ingredient-wizard-review-mark.is-pending { background: #f79009; }
.ingredient-wizard-review dl { display: grid; gap: 10px; margin: 0; }
.ingredient-wizard-review dl > div { display: grid; grid-template-columns: minmax(110px, .55fr) minmax(0, 1.45fr); gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #d1fadf; }
.ingredient-wizard-review dt { color: #667085; font-size: .64rem; }
.ingredient-wizard-review dd { margin: 0; color: #101828; font-size: .7rem; font-weight: 750; overflow-wrap: anywhere; }
.ingredient-wizard-review > p { grid-column: 2; margin: 0; color: #475467; font-size: .64rem; line-height: 1.5; }
.ingredient-wizard-status { min-height: 1.2em; margin: 0; color: #b42318; font-size: .68rem; }
.ingredient-wizard-actions { position: sticky; z-index: 2; bottom: 0; display: grid; grid-template-columns: minmax(120px, auto) 1fr minmax(120px, auto); gap: 12px; align-items: center; padding: 16px clamp(18px, 4vw, 36px); border-top: 1px solid #eaecf0; background: rgba(255, 255, 255, .96); box-shadow: 0 -8px 22px rgba(16, 24, 40, .04); backdrop-filter: blur(8px); }
.ingredient-wizard-actions > span { color: #667085; font-size: .64rem; text-align: center; }
.ingredient-wizard-success { display: grid; min-height: 520px; place-items: center; align-content: center; gap: 12px; padding: clamp(28px, 7vw, 72px); text-align: center; }
.ingredient-wizard-success-mark { display: grid; width: 70px; height: 70px; place-items: center; margin-bottom: 8px; border-radius: 50%; background: #12b76a; color: #fff; font-size: 1.8rem; box-shadow: 0 0 0 10px #ecfdf3; }
.ingredient-wizard-success > p:not(.eyebrow) { max-width: 60ch; margin: 0; color: #667085; font-size: .75rem; line-height: 1.6; }
.ingredient-wizard-success-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 16px; }

@media (max-width: 760px) {
  .ingredient-wizard-entry, .ingredient-wizard-header { display: grid; }
  .ingredient-wizard-entry .button-row, .ingredient-wizard-entry .button { width: 100%; }
  .ingredient-wizard-header .button { width: 100%; }
  .ingredient-wizard-steps { overflow-x: auto; grid-template-columns: repeat(5, minmax(74px, 1fr)); padding-inline: 14px; scrollbar-width: thin; }
  .ingredient-wizard-panel { min-height: 460px; padding: 24px 18px; }
  .ingredient-wizard-grid, .ingredient-wizard-choice-grid, .ingredient-wizard-price-layout { grid-template-columns: minmax(0, 1fr); }
  .ingredient-wizard-field-wide { grid-column: auto; }
  .ingredient-wizard-review { grid-template-columns: minmax(0, 1fr); }
  .ingredient-wizard-review-mark { width: 40px; height: 40px; }
  .ingredient-wizard-review dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ingredient-wizard-review > p { grid-column: auto; }
  .ingredient-wizard-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 12px 14px; }
  .ingredient-wizard-actions > span { display: none; }
  .ingredient-wizard-success-actions { display: grid; width: 100%; }
}

@media (max-width: 390px) {
  .ingredient-wizard-shell { border-inline: 0; border-radius: 0; }
  .ingredient-wizard-actions .button { min-width: 0; padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .ingredient-wizard-choice, .ingredient-wizard-actions { scroll-behavior: auto; backdrop-filter: none; }
}

/* Ingredient price history and menu margin impact */
.ingredient-price-impact-dialog { width: min(1180px, calc(100vw - 24px)); max-height: min(94dvh, 1080px); box-sizing: border-box; padding: 0; overflow: auto; border: 0; border-radius: 16px; background: #f8f9fb; color: var(--dashboard-text); box-shadow: 0 30px 70px rgba(16,24,40,.3); }
.ingredient-price-impact-dialog::backdrop { background: rgba(16,24,40,.62); }
.price-impact-shell { display: grid; min-width: 0; }
.price-impact-header { position: sticky; z-index: 5; top: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 24px 16px; border-bottom: 1px solid #e4e7ec; background: rgba(255,255,255,.98); }
.price-impact-header h2, .price-impact-header p { margin: 0; }
.price-impact-header h2 { margin-top: 3px; font-family: "Plus Jakarta Sans", Inter, "Segoe UI", sans-serif; font-size: clamp(1.15rem, 2.4vw, 1.65rem); letter-spacing: -.025em; }
.price-impact-header h2:focus { outline: none; }
.price-impact-header h2:focus-visible { border-radius: 4px; outline: 3px solid #fdb022; outline-offset: 5px; }
.price-impact-header p:last-child { max-width: 82ch; margin-top: 7px; color: var(--dashboard-muted); font-size: .7rem; line-height: 1.5; }
.price-impact-dismiss { flex: none; width: 44px; height: 44px; border: 1px solid #d0d5dd; border-radius: 9px; background: #fff; color: #344054; font-size: 1.35rem; cursor: pointer; }
.price-impact-dismiss:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.price-impact-filter { position: sticky; z-index: 4; top: 91px; display: grid; grid-template-columns: minmax(150px,.7fr) minmax(190px,1fr) minmax(190px,1fr) auto; gap: 12px; align-items: end; padding: 14px 24px; border-bottom: 1px solid #e4e7ec; background: rgba(248,249,251,.98); box-shadow: 0 8px 18px rgba(16,24,40,.04); }
.price-impact-filter label, .price-reference-fields label { display: grid; min-width: 0; gap: 6px; color: #344054; font-size: .67rem; font-weight: 750; }
.price-impact-filter :is(input,select), .price-reference-fields :is(input,select) { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: #101828; }
.price-impact-filter :is(input,select):focus-visible, .price-reference-fields :is(input,select):focus-visible { border-color: #b54708; outline: 3px solid #fedf89; outline-offset: 1px; }
.price-impact-filter .button { min-height: 44px; }
.price-impact-results { display: grid; gap: 14px; min-width: 0; padding: 18px 24px 24px; outline: none; }
.price-impact-results:focus-visible { border-radius: 10px; outline: 3px solid #fdb022; outline-offset: -2px; }
.price-impact-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.price-impact-summary article { display: grid; min-width: 0; gap: 4px; padding: 13px 14px; border: 1px solid #e4e7ec; border-radius: 10px; background: #fff; }
.price-impact-summary span, .price-impact-summary small { color: #667085; font-size: .61rem; line-height: 1.4; }
.price-impact-summary strong { color: #101828; font-size: .8rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.price-impact-note { margin: 0; padding: 10px 12px; border: 1px solid #fedf89; border-radius: 9px; background: #fffaeb; color: #7a2e0e; font-size: .65rem; line-height: 1.5; }
.price-impact-alerts { display: grid; gap: 8px; }
.price-impact-alerts article { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 10px; padding: 11px 12px; border: 1px solid #b2ddff; border-radius: 9px; background: #eff8ff; }
.price-impact-alerts article.is-high, .price-impact-alerts article.is-warning { border-color: #fedf89; background: #fffaeb; }
.price-impact-alerts article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #175cd3; color: #fff; font-weight: 900; }
.price-impact-alerts article.is-high > span, .price-impact-alerts article.is-warning > span { background: #f79009; }
.price-impact-alerts strong, .price-impact-alerts p, .price-impact-alerts small { margin: 0; }
.price-impact-alerts strong { font-size: .72rem; }
.price-impact-alerts p { margin-top: 3px; color: #475467; font-size: .65rem; line-height: 1.45; }
.price-impact-alerts small { display: block; margin-top: 4px; color: #175cd3; font-size: .61rem; font-weight: 750; }
.price-impact-alerts .is-high small, .price-impact-alerts .is-warning small { color: #b54708; }
.price-impact-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid #fed7aa; border-radius: 10px; background: #fffaf5; }
.price-impact-actions strong, .price-impact-actions p { margin: 0; }
.price-impact-actions strong { color: #7a2e0e; font-size: .74rem; }
.price-impact-actions p { margin-top: 3px; color: #667085; font-size: .63rem; line-height: 1.45; }
.price-impact-actions .button { flex: none; min-height: 44px; }
.price-impact-workspace { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,.8fr); gap: 14px; align-items: start; min-width: 0; }
.price-impact-main { display: grid; min-width: 0; gap: 14px; }
.price-impact-section, .price-impact-menu-panel, .price-reference-editor { min-width: 0; padding: 16px; border: 1px solid #e4e7ec; border-radius: 12px; background: #fff; }
.price-impact-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.price-impact-section-heading h3, .price-impact-section-heading p { margin: 0; }
.price-impact-section-heading h3 { margin-top: 2px; color: #101828; font-size: .86rem; }
.price-impact-section-heading p:not(.eyebrow) { max-width: 72ch; margin-top: 4px; color: #667085; font-size: .64rem; line-height: 1.45; }
.price-impact-explainer { margin: 7px 0 13px; color: #667085; font-size: .63rem; line-height: 1.45; }
.price-history-list { display: grid; gap: 0; margin: 13px 0 0; padding: 0; border-top: 1px solid #eaecf0; list-style: none; }
.price-history-more { display: flex; align-items: center; justify-content: center; gap: 12px; padding-top: 12px; flex-wrap: wrap; }
.price-history-more small { color: #667085; }
.price-history-list li { display: grid; grid-template-columns: minmax(105px,.55fr) minmax(180px,1.2fr) minmax(165px,.8fr); gap: 12px; align-items: center; padding: 12px 2px; border-bottom: 1px solid #eaecf0; }
.price-history-list time { color: #475467; font-size: .64rem; font-weight: 750; }
.price-history-list div { display: grid; min-width: 0; gap: 3px; }
.price-history-list strong { color: #101828; font-size: .7rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.price-history-list span { color: #667085; font-size: .61rem; line-height: 1.4; overflow-wrap: anywhere; }
.supplier-price-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.supplier-price-card { min-width: 0; padding: 13px; border: 1px solid #e4e7ec; border-radius: 10px; background: #f8f9fb; }
.supplier-price-card > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.supplier-price-card h4, .supplier-price-card span { margin: 0; }
.supplier-price-card h4 { font-size: .75rem; }
.supplier-price-card span { order: 2; padding: 3px 6px; border-radius: 999px; background: #ecfdf3; color: #027a48; font-size: .57rem; font-weight: 800; }
.supplier-price-card dl { display: grid; gap: 7px; margin: 11px 0 0; }
.supplier-price-card dl > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding-top: 7px; border-top: 1px solid #eaecf0; }
.supplier-price-card dt { color: #667085; font-size: .6rem; }
.supplier-price-card dd { margin: 0; color: #101828; font-size: .63rem; font-weight: 750; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.price-impact-menu-panel { position: sticky; top: 168px; display: grid; gap: 13px; max-height: calc(94dvh - 190px); overflow: auto; border-color: #d6bbfb; background: #f9f5ff; }
.price-impact-menu-panel h3, .price-impact-menu-panel p { margin: 0; }
.price-impact-menu-panel h3 { margin-top: 2px; font-size: .88rem; }
.price-impact-menu-panel > div:first-child > p:last-child { margin-top: 5px; color: #667085; font-size: .63rem; line-height: 1.45; }
.price-impact-menu-list { display: grid; gap: 9px; }
.price-impact-menu-card { display: grid; min-width: 0; gap: 10px; padding: 12px; border: 1px solid #e9d7fe; border-radius: 10px; background: #fff; }
.price-impact-menu-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.price-impact-menu-heading h4, .price-impact-menu-heading span { margin: 0; }
.price-impact-menu-heading h4 { color: #101828; font-size: .75rem; }
.price-impact-menu-heading div > span { display: block; margin-top: 3px; color: #667085; font-size: .58rem; line-height: 1.4; }
.price-impact-menu-heading > .status-badge { flex: none; }
.price-impact-menu-card dl { display: grid; gap: 6px; margin: 0; }
.price-impact-menu-card dl > div { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1.2fr); gap: 8px; padding-top: 6px; border-top: 1px solid #f2f4f7; }
.price-impact-menu-card dt { color: #667085; font-size: .59rem; }
.price-impact-menu-card dd { margin: 0; color: #101828; font-size: .63rem; font-weight: 750; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.price-impact-menu-card .button { min-height: 44px; justify-self: stretch; }
.price-impact-empty, .price-impact-state { display: grid; min-height: 210px; place-items: center; align-content: center; gap: 7px; padding: 20px; text-align: center; }
.price-impact-empty.compact { min-height: 130px; }
.price-impact-empty > span, .price-impact-state > span { display: grid; min-width: 44px; min-height: 44px; place-items: center; border-radius: 10px; background: #f2f4f7; color: #475467; font-size: .68rem; font-weight: 900; }
.price-impact-empty h4, .price-impact-empty p, .price-impact-state h3, .price-impact-state p { margin: 0; }
.price-impact-empty h4, .price-impact-state h3 { color: #101828; font-size: .8rem; }
.price-impact-empty p, .price-impact-state p { max-width: 52ch; color: #667085; font-size: .65rem; line-height: 1.5; }
.price-impact-state { min-height: 420px; }
.price-impact-state.is-error > span { background: #fee4e2; color: #b42318; }
.price-impact-state .button { min-height: 44px; margin-top: 6px; }
.price-impact-loader { border: 4px solid #fedf89; border-top-color: #f79009; border-radius: 50% !important; animation: price-impact-spin .8s linear infinite; }
@keyframes price-impact-spin { to { transform: rotate(360deg); } }
.price-reference-editor { border-color: #fed7aa; background: #fffaf5; }
.price-reference-editor > form { display: grid; gap: 13px; margin-top: 13px; }
.price-reference-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.price-reference-reason { grid-column: 1 / -1; }
.price-reference-preview { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: 10px; }
.price-reference-preview > div:first-child { display: grid; align-content: center; gap: 4px; padding: 13px; border-radius: 9px; background: #101828; color: #fff; }
.price-reference-preview span, .price-reference-preview small { color: #d0d5dd; font-size: .6rem; line-height: 1.4; }
.price-reference-preview strong { font-size: .8rem; font-variant-numeric: tabular-nums; }
.price-reference-menu-preview { display: grid; gap: 7px; }
.price-reference-menu-preview article { display: grid; grid-template-columns: minmax(120px,.8fr) minmax(0,1fr) minmax(0,1fr); gap: 8px; padding: 9px 10px; border: 1px solid #fed7aa; border-radius: 8px; background: #fff; }
.price-reference-menu-preview strong { color: #101828; font-size: .65rem; }
.price-reference-menu-preview span { color: #475467; font-size: .61rem; }
.price-reference-footer { display: flex; justify-content: flex-end; gap: 9px; padding-top: 11px; border-top: 1px solid #fed7aa; }
.price-reference-footer .button { min-height: 44px; }

@media (max-width: 900px) {
  .price-impact-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .price-impact-workspace { grid-template-columns: minmax(0,1fr); }
  .price-impact-menu-panel { position: static; max-height: none; }
}

@media (max-width: 760px) {
  .ingredient-price-impact-dialog { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); border-radius: 12px; }
  .price-impact-header { padding: 16px; }
  .price-impact-filter { position: static; grid-template-columns: minmax(0,1fr); padding: 12px 16px; }
  .price-impact-filter .button { width: 100%; }
  .price-impact-results { padding: 14px 12px 18px; }
  .price-impact-summary, .supplier-price-grid, .price-reference-fields, .price-reference-preview { grid-template-columns: minmax(0,1fr); }
  .price-impact-actions, .price-impact-section-heading, .price-impact-menu-heading { display: grid; }
  .price-impact-actions .button { width: 100%; }
  .price-history-list li { grid-template-columns: minmax(0,1fr); gap: 7px; }
  .price-history-list li > div:last-child { padding-top: 7px; border-top: 1px dashed #eaecf0; }
  .supplier-price-card dl > div, .price-impact-menu-card dl > div { grid-template-columns: minmax(0,1fr); gap: 3px; }
  .supplier-price-card dd, .price-impact-menu-card dd { text-align: left; }
  .price-reference-menu-preview article { grid-template-columns: minmax(0,1fr); }
  .price-reference-footer { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .price-reference-footer .button { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .price-impact-loader { animation: none; }
}

/* Database Bahan editor: one modal screen with a live review column. */
.ingredient-editor-dialog { width: min(1120px, calc(100vw - 24px)); max-height: min(94dvh, 1040px); box-sizing: border-box; padding: 0; overflow: auto; border: 0; border-radius: 16px; background: #fff; color: var(--dashboard-text); box-shadow: 0 30px 70px rgba(16,24,40,.27); }
.ingredient-editor-dialog::backdrop { background: rgba(16,24,40,.58); }
.ingredient-editor-shell { width: 100%; margin: 0; overflow: visible; border: 0; border-radius: 0; box-shadow: none; }
.ingredient-editor-header { position: sticky; z-index: 4; top: 0; padding: 20px 24px 16px; background: rgba(255,255,255,.98); }
.ingredient-editor-dismiss { flex: none; width: 44px; height: 44px; border: 1px solid #d0d5dd; border-radius: 9px; background: #fff; color: #344054; font-size: 1.35rem; cursor: pointer; }
.ingredient-editor-dismiss:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.ingredient-editor-form { grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 16px; padding: 18px 22px 0; background: #f8f9fb; }
.ingredient-editor-form > .ingredient-wizard-panel { min-height: 0; padding: 20px; border: 1px solid #e4e7ec; border-radius: 12px; background: #fff; }
.ingredient-editor-form > .ingredient-wizard-panel[hidden] { display: grid !important; }
.ingredient-editor-form > [data-wizard-panel="1"],
.ingredient-editor-form > [data-wizard-panel="2"],
.ingredient-editor-form > [data-wizard-panel="3"],
.ingredient-editor-form > [data-wizard-panel="4"] { grid-column: 1; }
.ingredient-editor-form > [data-wizard-panel="5"] { position: sticky; top: 102px; grid-column: 2; grid-row: 1 / span 4; align-self: start; gap: 14px; }
.ingredient-editor-form > [data-wizard-panel="5"] > .ingredient-wizard-review { grid-template-columns: minmax(0, 1fr); padding: 16px; }
.ingredient-editor-form > [data-wizard-panel="5"] .ingredient-wizard-review-mark { width: 40px; height: 40px; }
.ingredient-editor-form > [data-wizard-panel="5"] .ingredient-wizard-review dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
.ingredient-editor-form > [data-wizard-panel="5"] .ingredient-wizard-review > p { grid-column: auto; }
.ingredient-editor-shell > .ingredient-wizard-steps { display: none; }
.ingredient-editor-form .ingredient-wizard-choice { min-height: 126px; }
.ingredient-editor-actions { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto auto; margin-inline: -22px; padding: 14px 22px; }
.ingredient-editor-actions > div { display: grid; gap: 3px; color: #667085; font-size: .64rem; }
.ingredient-editor-actions .button { min-height: 44px; }

@media (max-width: 760px) {
  .ingredient-editor-dialog { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); border-radius: 12px; }
  .ingredient-editor-header { display: flex; padding: 16px; }
  .ingredient-editor-header .ingredient-editor-dismiss { width: 44px; }
  .ingredient-editor-form { grid-template-columns: minmax(0, 1fr); padding: 12px 12px 0; }
  .ingredient-editor-form > .ingredient-wizard-panel { grid-column: 1; grid-row: auto; padding: 16px; }
  .ingredient-editor-form > [data-wizard-panel="5"] { position: static; grid-column: 1; grid-row: auto; }
  .ingredient-editor-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-inline: -12px; padding: 12px; }
  .ingredient-editor-actions > div { grid-column: 1 / -1; }
  .ingredient-editor-actions .button { width: 100%; min-width: 0; padding-inline: 10px; }
}

/* Owner finance: bounded, server-audited settlement review without provider mutation. */
.settlement-review-control { min-width: 220px; }
.settlement-review-control > summary { min-height: 44px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid #f79009; border-radius: 8px; background: #fffaeb; color: #93370d; font-weight: 800; cursor: pointer; }
.settlement-review-control > summary:focus-visible { outline: 3px solid #fedf89; outline-offset: 2px; }
.owner-settlement-review-form { display: grid; gap: 10px; margin-top: 8px; padding: 12px; border: 1px solid #fedf89; border-radius: 10px; background: #fffaf5; }
.owner-settlement-review-form label { display: grid; gap: 5px; color: #344054; font-size: .64rem; font-weight: 800; }
.owner-settlement-review-form input, .owner-settlement-review-form select, .owner-settlement-review-form textarea { width: 100%; min-height: 44px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #98a2b3; border-radius: 8px; background: #fff; color: #101828; font: inherit; }
.owner-settlement-review-form textarea { min-height: 68px; resize: vertical; }
.owner-settlement-review-form small, .settlement-review-boundary, .settlement-review-meta { display: block; color: #667085; font-size: .58rem; line-height: 1.45; }
.settlement-review-boundary { margin: 0; padding: 8px; border-radius: 7px; background: #f2f4f7; }
.owner-settlement-review-form .button { min-height: 44px; }

/* Batch 7 Menu & Promo: warm operational workspace, faithful to the approved handoff. */
.menu-b7-route, .menu-b7-workspace { --b7-espresso: #543a2e; --b7-paper: #f7f5f1; --b7-line: #ded9d3; --b7-muted: #6d6764; --b7-green: #168552; --b7-red: #a23d32; background: var(--b7-paper); color: #292421; font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif; }
.menu-b7-route .environment-banner, .menu-b7-route #admin-app > .operator-header { display: none; }
.menu-b7-route .operator-shell { width: 100%; max-width: none; margin: 0; padding: 0; }
.menu-b7-route .operator-content { display: block; }
.menu-b7-workspace { min-height: 100dvh; border: 0; border-radius: 0; background: var(--b7-paper); box-shadow: none; color: #292421; overflow: visible; }
.dashboard-menu-workspace { min-width: 0; }
.dashboard-menu-native { min-height: 0; border: 1px solid var(--b7-line); border-radius: 14px; overflow: hidden; }
.dashboard-menu-native .menu-b7-page-head { padding-top: 26px; }
.dashboard-menu-context { justify-content: flex-start; gap: 10px; margin: 0 30px 16px; padding: 10px 14px; border: 1px solid var(--b7-line); border-radius: 10px; background: #fff; color: var(--b7-muted); }
.dashboard-menu-context strong { color: var(--b7-espresso); }
.dashboard-menu-context span:last-child { margin-left: auto; }
.menu-b7-app-shell { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100dvh; }
.menu-b7-main { min-width: 0; }
.menu-b7-content { min-width: 0; }
.menu-b7-sidebar { position: sticky; z-index: 30; top: 0; display: flex; height: 100dvh; box-sizing: border-box; flex-direction: column; padding: 24px 20px 18px; border-right: 1px solid var(--b7-line); background: #fbfaf7; }
.menu-b7-sidebar .menu-b7-brand { padding: 0 3px 25px; border-bottom: 1px solid var(--b7-line); }
.menu-b7-sidebar nav { display: grid; gap: 4px; padding: 19px 0; overflow: auto; }
.menu-b7-sidebar nav a { display: flex; min-height: 50px; align-items: center; gap: 14px; border-radius: 10px; padding: 0 12px; color: #393331; text-decoration: none; }
.menu-b7-sidebar nav a > span { display: grid; width: 24px; flex: 0 0 24px; place-items: center; color: #594d47; font-size: 1.05rem; }
.menu-b7-sidebar nav a b { font-size: .88rem; font-weight: 560; }
.menu-b7-sidebar nav a:hover, .menu-b7-sidebar nav a:focus-visible { background: #f0e9e3; outline: 3px solid rgba(84,58,46,.12); }
.menu-b7-sidebar nav a.is-active { background: #eae1db; color: var(--b7-espresso); }
.menu-b7-sidebar nav a.is-active b { font-weight: 800; }
.menu-b7-open-cashier { display: flex; min-height: 52px; align-items: center; justify-content: center; gap: 10px; margin-top: auto; border-radius: 9px; background: var(--b7-espresso); color: #fff; text-decoration: none; }
.menu-b7-user { display: flex; min-height: 68px; align-items: center; gap: 11px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--b7-line); }
.menu-b7-user > span { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #ded6cf; font-weight: 800; }
.menu-b7-user > div { display: grid; min-width: 0; flex: 1; gap: 2px; }
.menu-b7-user > div strong, .menu-b7-user > div small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-b7-user > div small { color: var(--b7-muted); }
.menu-b7-user button { width: 44px; height: 44px; border: 0; background: transparent; color: var(--b7-espresso); font-size: 1.4rem; }
.menu-b7-workspace .button { min-height: 48px; border-radius: 9px; }
.menu-b7-workspace .button-primary { border-color: var(--b7-espresso); background: var(--b7-espresso); color: #fff; }
.menu-b7-workspace .button-secondary { border-color: var(--b7-line); background: #fff; color: var(--b7-espresso); }
.menu-b7-workspace .button-danger { border-color: var(--b7-red); background: var(--b7-red); color: #fff; }
.menu-b7-topbar { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 78px; padding: 0 30px; border-bottom: 1px solid var(--b7-line); background: rgba(251,250,247,.97); backdrop-filter: blur(14px); }
.menu-b7-brand, .menu-b7-context, .menu-b7-page-head, .menu-b7-page-head > div, .menu-b7-product, .menu-b7-row-actions, .menu-b7-bulk, .menu-b7-bulk > div, .menu-b7-publication-head, .menu-b7-history article { display: flex; align-items: center; }
.menu-b7-brand { gap: 10px; }
.menu-b7-brand > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; background: var(--b7-espresso); color: #fff; font-weight: 900; }
.menu-b7-brand > div { display: grid; gap: 1px; }
.menu-b7-brand small { color: var(--b7-muted); }
.menu-b7-context { gap: 12px; color: var(--b7-muted); font-size: .8rem; font-weight: 700; }
.menu-b7-breadcrumb { display: flex; align-items: center; gap: 12px; font-size: .9rem; }
.menu-b7-breadcrumb span { color: var(--b7-muted); }
.menu-b7-breadcrumb i { color: #b6ada8; font-style: normal; }
.menu-b7-outlet { display: flex; min-width: 245px; min-height: 46px; align-items: center; gap: 11px; border: 1px solid #cbc3bd; border-radius: 10px; background: #fff; padding: 0 14px; color: #292421; }
.menu-b7-outlet span:last-child { margin-left: auto; }
.menu-b7-date { display: flex; min-height: 46px; align-items: center; gap: 12px; margin-left: 10px; padding-left: 22px; border-left: 1px solid var(--b7-line); color: #292421; }
.menu-b7-date > div { display: grid; gap: 2px; }
.menu-b7-date small { color: var(--b7-muted); font-weight: 500; }
.menu-b7-page-head { justify-content: space-between; gap: 24px; padding: 34px 30px 24px; }
.menu-b7-page-head > div:first-child { display: block; }
.menu-b7-page-head > div:last-child { gap: 10px; }
.menu-b7-page-head h2 { margin: 3px 0 7px; color: #292421; font-size: clamp(1.9rem, 4vw, 2.7rem); letter-spacing: -.045em; }
.menu-b7-page-head p { margin: 0; color: var(--b7-muted); }
.menu-b7-workspace .menu-v2-tabs { padding: 0 30px; border-color: var(--b7-line); background: transparent; }
.menu-b7-workspace .menu-v2-tabs button { color: var(--b7-muted); }
.menu-b7-workspace .menu-v2-tabs button[aria-selected="true"] { border-bottom-color: var(--b7-espresso); color: var(--b7-espresso); }
.menu-b7-tab-count { display: inline-grid; min-width: 22px; min-height: 22px; margin-left: 7px; place-items: center; border-radius: 999px; background: #eadfd7; color: var(--b7-espresso); font-size: .7rem; }
.menu-b7-workspace .menu-v2-panel { padding: 24px 30px 34px; }
.menu-b7-stats { display: flex; min-height: 70px; align-items: center; gap: 22px; padding: 0 18px; border: 1px solid var(--b7-line); border-radius: 11px; background: #fff; }
.menu-b7-stats > div { display: flex; align-items: baseline; gap: 6px; }
.menu-b7-stats strong { color: var(--b7-espresso); font-size: 1.25rem; }
.menu-b7-stats span { color: var(--b7-muted); }
.menu-b7-stats i { width: 1px; height: 30px; background: var(--b7-line); }
.menu-b7-stats > button { min-height: 44px; margin-left: auto; border: 0; background: transparent; color: var(--b7-espresso); font-weight: 800; cursor: pointer; }
.menu-b7-stats > button:disabled { color: #aaa29e; cursor: not-allowed; }
.menu-b7-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(150px, 210px)); gap: 10px; margin: 16px 0; }
.menu-b7-toolbar input, .menu-b7-toolbar select, .menu-b7-modal input, .menu-b7-modal select, .menu-b7-modal textarea { width: 100%; min-height: 48px; box-sizing: border-box; border: 1px solid var(--b7-line); border-radius: 9px; background: #fff; padding: 10px 13px; color: #292421; font: inherit; }
.menu-b7-toolbar input:focus, .menu-b7-toolbar select:focus, .menu-b7-modal input:focus, .menu-b7-modal select:focus, .menu-b7-modal textarea:focus { outline: 3px solid rgba(84,58,46,.16); border-color: var(--b7-espresso); }
.menu-b7-bulk { justify-content: space-between; gap: 18px; margin: 14px 0; padding: 12px 16px; border-radius: 10px; background: var(--b7-espresso); color: #fff; }
.menu-b7-bulk > div { gap: 8px; }
.menu-b7-bulk button { min-height: 44px; border: 1px solid rgba(255,255,255,.34); border-radius: 8px; background: rgba(255,255,255,.1); padding: 8px 12px; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.menu-b7-bulk button.danger { background: #7f2e27; }
.menu-b7-table-wrap { overflow-x: auto; border: 1px solid var(--b7-line); border-radius: 11px; background: #fff; }
.menu-b7-table { width: 100%; min-width: 940px; border-collapse: collapse; }
.menu-b7-table th { height: 48px; border-bottom: 1px solid var(--b7-line); padding: 0 12px; background: #fbfaf8; color: var(--b7-muted); font-size: .72rem; letter-spacing: .035em; text-align: left; text-transform: uppercase; }
.menu-b7-table td { height: 74px; border-bottom: 1px solid #ebe7e2; padding: 8px 12px; color: #45403d; font-size: .86rem; }
.menu-b7-table tbody tr:last-child td { border-bottom: 0; }
.menu-b7-table input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--b7-espresso); }
.menu-b7-product { gap: 10px; min-width: 190px; }
.menu-b7-drag { width: 34px; min-height: 44px; flex: 0 0 auto; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--b7-muted); font: inherit; font-weight: 900; cursor: grab; touch-action: none; }
.menu-b7-drag:hover, .menu-b7-drag:focus-visible { border-color: var(--b7-line); background: #f7f3ef; color: var(--b7-espresso); outline: 3px solid rgba(84,58,46,.14); }
.menu-b7-drag:active { cursor: grabbing; }
.menu-b7-product > div { display: grid; gap: 3px; }
.menu-b7-product small { color: var(--b7-muted); font-size: .68rem; }
.menu-b7-thumb { display: grid; width: 52px; height: 52px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 8px; background: #e9e1d9; color: var(--b7-espresso); font-weight: 900; }
.menu-b7-thumb img { width: 100%; height: 100%; object-fit: cover; }
.menu-b7-toggle { position: relative; width: 44px; height: 24px; margin-right: 7px; border: 0; border-radius: 999px; background: #b7b0ab; vertical-align: middle; cursor: pointer; }
.menu-b7-toggle span { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .18s ease; }
.menu-b7-toggle.is-on { background: var(--b7-espresso); }
.menu-b7-toggle.is-on span { transform: translateX(20px); }
.menu-b7-badge { display: inline-flex; min-height: 28px; align-items: center; border-radius: 999px; padding: 3px 9px; background: #f0ece8; color: var(--b7-muted); font-size: .72rem; font-weight: 800; }
.menu-b7-badge.is-active { background: #e3f4eb; color: var(--b7-green); }
.menu-b7-badge.is-archived { background: #f7e7e4; color: var(--b7-red); }
.menu-b7-row-actions { gap: 5px; }
.menu-b7-row-actions button { min-height: 42px; border: 1px solid transparent; border-radius: 8px; background: transparent; padding: 7px 9px; color: var(--b7-espresso); font: inherit; font-weight: 750; cursor: pointer; }
.menu-b7-row-actions button:hover { border-color: var(--b7-line); background: #f7f3ef; }
.menu-b7-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 4px 0; color: var(--b7-muted); font-size: .82rem; }
.menu-b7-pagination button { min-width: 44px; min-height: 44px; border: 1px solid var(--b7-line); background: #fff; color: var(--b7-espresso); }
.menu-b7-pagination .is-current { background: var(--b7-espresso); color: #fff; }
.menu-b7-page-ellipsis { display: inline-grid; min-width: 32px; min-height: 44px; place-items: center; }
.menu-b7-owner-note { margin-left: auto; color: var(--b7-muted); font-size: .78rem; font-weight: 750; }
.menu-b7-availability-toolbar { grid-template-columns: minmax(240px, 1fr) minmax(180px, 280px); }
.menu-b7-availability-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 12px; }
.menu-b7-availability-grid article { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; border: 1px solid var(--b7-line); border-radius: 11px; background: #fff; }
.menu-b7-availability-grid article > div:last-child { display: flex; align-items: center; gap: 8px; color: var(--b7-muted); font-weight: 750; }
.menu-b7-toggle[aria-busy="true"] { opacity: .62; }
.menu-b7-inline-error { display: block; margin-top: 4px; color: var(--b7-red); font-size: .68rem; }
.menu-b7-empty { display: grid; min-height: 180px; place-content: center; gap: 6px; text-align: center; color: var(--b7-muted); }
.menu-b7-empty button { min-height: 44px; border: 0; background: transparent; color: var(--b7-espresso); font: inherit; font-weight: 800; }
.menu-b7-section-head, .menu-b7-publication-head { margin-bottom: 18px; }
.menu-b7-section-head h3, .menu-b7-publication-head h3 { margin: 2px 0 5px; font-size: 1.45rem; }
.menu-b7-section-head p, .menu-b7-publication-head p { margin: 0; color: var(--b7-muted); }
.menu-b7-publication-head { justify-content: space-between; gap: 22px; }
.menu-b7-review-list { display: grid; gap: 8px; }
.menu-b7-review-list article { display: grid; grid-template-columns: minmax(170px, .6fr) minmax(160px, 1fr) auto; gap: 12px; align-items: center; min-height: 58px; padding: 9px 14px; border: 1px solid var(--b7-line); border-radius: 9px; background: #fff; }
.menu-b7-review-list small { color: var(--b7-muted); }
.menu-b7-history { margin-top: 28px; }
.menu-b7-history article { justify-content: space-between; gap: 14px; margin-top: 8px; padding: 12px 14px; border: 1px solid var(--b7-line); border-radius: 9px; background: #fff; }
.menu-b7-history article > div { display: grid; gap: 3px; }
.menu-b7-history span { color: var(--b7-muted); }
.menu-b7-history code { margin-left: auto; }
.menu-b7-overlay { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(35,27,23,.58); }
.menu-b7-modal { width: min(100%, 640px); max-height: calc(100dvh - 36px); overflow: auto; border-radius: 15px; background: #fff; box-shadow: 0 26px 80px rgba(34,24,19,.3); }
.menu-b7-modal.is-compact { width: min(100%, 590px); }
.menu-b7-modal > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid var(--b7-line); }
.menu-b7-modal > header h3 { margin: 2px 0 0; font-size: 1.45rem; }
.menu-b7-modal > header > button { width: 44px; height: 44px; border: 1px solid var(--b7-line); border-radius: 9px; background: #fff; color: var(--b7-espresso); font-size: 1.4rem; }
.menu-b7-modal form { display: grid; gap: 16px; padding: 22px; }
.menu-b7-modal label { display: grid; gap: 7px; color: #423c38; font-weight: 750; }
.menu-b7-modal textarea { min-height: 88px; resize: vertical; }
.menu-b7-modal footer { display: flex; justify-content: flex-end; gap: 9px; margin: 4px -22px -22px; padding: 16px 22px; border-top: 1px solid var(--b7-line); background: #fbfaf8; }
.menu-b7-stepper { display: grid; grid-template-columns: 26px auto 1fr 26px auto 1fr 26px auto; align-items: center; gap: 7px; color: var(--b7-muted); font-size: .75rem; }
.menu-b7-stepper span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #eeeae6; }
.menu-b7-stepper span.is-active { background: var(--b7-espresso); color: #fff; }
.menu-b7-stepper i { height: 1px; background: var(--b7-line); }
.menu-b7-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.menu-b7-money { display: flex; align-items: center; border: 1px solid var(--b7-line); border-radius: 9px; overflow: hidden; }
.menu-b7-money span { padding: 0 12px; color: var(--b7-muted); }
.menu-b7-money input { border: 0; border-left: 1px solid var(--b7-line); border-radius: 0; }
.menu-b7-draft-note, .menu-b7-publish-hero { display: grid; gap: 4px; padding: 14px 16px; border-radius: 10px; background: #f0ebe6; color: var(--b7-espresso); }
.menu-b7-draft-note span, .menu-b7-publish-hero span { color: var(--b7-muted); }
.menu-b7-media { display: grid; gap: 12px; margin: 0; padding: 14px; border: 1px solid var(--b7-line); border-radius: 10px; }
.menu-b7-media legend { padding: 0 6px; color: var(--b7-espresso); font-weight: 800; }
.menu-b7-media input[type="range"] { min-height: 32px; padding: 0; accent-color: var(--b7-espresso); }
.menu-b7-media small { color: var(--b7-muted); }
.menu-b7-review-list.is-modal { max-height: 250px; overflow: auto; }
.menu-b7-review-list.is-modal article { grid-template-columns: 1fr auto; min-height: 48px; }
.menu-b7-route .menu-v2-form, .menu-b7-route .menu-v2-summary > div, .menu-b7-route .menu-v2-category-list article, .menu-b7-route .menu-v2-rules article { border-color: var(--b7-line); border-radius: 11px; }
.menu-b7-route .menu-v2-form input, .menu-b7-route .menu-v2-form select { min-height: 48px; border-color: var(--b7-line); border-radius: 9px; }

@media (max-width: 1050px) {
  .menu-b7-app-shell { grid-template-columns: 78px minmax(0, 1fr); }
  .menu-b7-sidebar { padding: 20px 10px 16px; }
  .menu-b7-sidebar .menu-b7-brand { justify-content: center; }
  .menu-b7-sidebar .menu-b7-brand > div, .menu-b7-sidebar nav a b, .menu-b7-open-cashier b, .menu-b7-user > div, .menu-b7-user button { display: none; }
  .menu-b7-sidebar nav a { justify-content: center; padding: 0; }
  .menu-b7-open-cashier { min-height: 48px; }
  .menu-b7-user { justify-content: center; }
  .menu-b7-outlet { min-width: 190px; }
  .menu-b7-date { display: none; }
  .menu-b7-toolbar { grid-template-columns: minmax(260px, 1fr) repeat(2, minmax(150px, 1fr)); }
  .menu-b7-toolbar label:last-child { grid-column: 2 / -1; }
  .menu-b7-stats { flex-wrap: wrap; padding-block: 12px; }
}

@media (max-width: 760px) {
  .menu-b7-app-shell { display: block; }
  .menu-b7-sidebar { display: none; }
  .menu-b7-breadcrumb { display: none; }
  .menu-b7-outlet { min-width: 0; border: 0; background: transparent; padding: 0; }
  .menu-b7-topbar, .menu-b7-page-head { padding-left: 16px; padding-right: 16px; }
  .menu-b7-context > span { display: none; }
  .menu-b7-page-head { align-items: flex-start; flex-direction: column; }
  .menu-b7-page-head > div:last-child { width: 100%; }
  .menu-b7-page-head .button { flex: 1; }
  .menu-b7-workspace .menu-v2-tabs { padding: 0 8px; }
  .menu-b7-workspace .menu-v2-panel { padding: 18px 14px 28px; }
  .menu-b7-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .menu-b7-stats i { display: none; }
  .menu-b7-stats > button { grid-column: 1 / -1; width: 100%; margin: 0; border-top: 1px solid var(--b7-line); }
  .menu-b7-toolbar { grid-template-columns: 1fr 1fr; }
  .menu-b7-toolbar label:first-child { grid-column: 1 / -1; }
  .menu-b7-toolbar label:last-child { grid-column: auto; }
  .menu-b7-bulk, .menu-b7-publication-head, .menu-b7-history article { align-items: stretch; flex-direction: column; }
  .menu-b7-bulk > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .menu-b7-bulk > div:last-child .danger { grid-column: 1 / -1; }
  .menu-b7-table { min-width: 0; }
  .menu-b7-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .menu-b7-table tbody, .menu-b7-table tr, .menu-b7-table td { display: block; height: auto; }
  .menu-b7-table tr { position: relative; display: grid; grid-template-columns: 34px 1fr auto; gap: 8px 10px; padding: 14px; border-bottom: 1px solid var(--b7-line); }
  .menu-b7-table td { border: 0; padding: 0; }
  .menu-b7-table td:nth-child(1) { grid-row: 1 / span 2; }
  .menu-b7-table td:nth-child(2) { grid-column: 2; }
  .menu-b7-table td:nth-child(3), .menu-b7-table td:nth-child(5) { grid-column: 2; color: var(--b7-muted); font-size: .76rem; }
  .menu-b7-table td:nth-child(4) { grid-column: 3; grid-row: 1; }
  .menu-b7-table td:nth-child(6) { grid-column: 2 / -1; }
  .menu-b7-table td:nth-child(7) { position: absolute; right: 14px; top: 49px; }
  .menu-b7-table td:nth-child(8) { grid-column: 2 / -1; }
  .menu-b7-row-actions button { min-height: 44px; border-color: var(--b7-line); }
  .menu-b7-pagination { align-items: flex-start; flex-direction: column; }
  .menu-b7-form-grid, .menu-b7-review-list article { grid-template-columns: 1fr; }
  .menu-b7-stepper { grid-template-columns: 26px 1fr 26px 1fr 26px 1fr; }
  .menu-b7-stepper i { display: none; }
  .menu-b7-modal footer { display: grid; grid-template-columns: 1fr 1fr; }
  .menu-b7-availability-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .menu-b7-brand small, .menu-b7-context .button { display: none; }
  .menu-b7-toolbar { grid-template-columns: 1fr; }
  .menu-b7-toolbar label, .menu-b7-toolbar label:first-child, .menu-b7-toolbar label:last-child { grid-column: 1; }
  .menu-b7-availability-toolbar { grid-template-columns: 1fr; }
  .menu-b7-page-head > div:last-child { display: grid; grid-template-columns: 1fr; }
  .dashboard-menu-native { margin-inline: -2px; border-radius: 10px; }
  .dashboard-menu-context { align-items: flex-start; flex-direction: column; margin-inline: 14px; }
  .dashboard-menu-context span:last-child { margin-left: 0; }
  .menu-b7-modal { max-height: 100dvh; border-radius: 0; }
  .menu-b7-overlay { padding: 0; }
}

@media (prefers-reduced-motion: reduce) { .menu-b7-toggle span { transition: none; } }

.business-readiness-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(135deg,#fff 0%,#f6f1ea 100%); }
.business-readiness-hero.is-ready { background:linear-gradient(135deg,#f5fbf7 0%,#edf7f0 100%); }
.business-readiness-hero h2 { margin:4px 0 8px; font-size:clamp(1.55rem,3vw,2.35rem); }
.business-readiness-hero p { max-width:680px; margin:0; color:var(--muted); }
.business-readiness-score { display:grid; min-width:144px; place-items:center; padding:18px; border-radius:18px; background:#2d211b; color:#fff; }
.business-readiness-score strong { font-size:2.25rem; line-height:1; }
.business-readiness-score span { margin-top:7px; font-size:.78rem; opacity:.78; }
.business-readiness-summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; margin:14px 0; padding:13px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.business-readiness-summary p { margin:0; }
.business-readiness-summary time { color:var(--muted); font-size:.78rem; }
.business-readiness-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.business-readiness-domain { display:flex; flex-direction:column; min-width:0; }
.business-readiness-domain:last-child { grid-column:1/-1; }
.business-readiness-domain-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.business-readiness-domain-head h2 { margin:0; font-size:1.12rem; }
.business-readiness-domain-head p { margin:4px 0 0; color:var(--muted); font-size:.82rem; }
.business-readiness-domain-head > strong { font-size:1.35rem; }
.business-readiness-progress { height:8px; margin:14px 0; overflow:hidden; border-radius:999px; background:#ece7e1; }
.business-readiness-progress span { display:block; height:100%; border-radius:inherit; background:#7b553e; }
.business-readiness-domain ul { display:grid; gap:9px; margin:0 0 18px; padding:0; list-style:none; }
.business-readiness-domain li { display:grid; grid-template-columns:26px 1fr; gap:10px; align-items:start; }
.business-readiness-domain li > span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#f4e5d9; color:#a24a17; font-weight:900; }
.business-readiness-domain li.is-complete > span { background:#e5f4ea; color:#24713e; }
.business-readiness-domain li div { display:grid; gap:2px; }
.business-readiness-domain li small { color:var(--muted); }
.business-readiness-domain .button { align-self:flex-start; margin-top:auto; }
.business-readiness-loading,.business-readiness-error { min-height:240px; place-content:center; text-align:center; }
.phase5-member-console { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:14px; margin:14px 0; }
.phase5-member-console > article:only-child { grid-column:1/-1; }
.phase5-member-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.phase5-member-form label { display:grid; gap:6px; color:var(--muted); font-size:.76rem; font-weight:700; }
.phase5-member-form input,.phase5-member-form select { width:100%; min-height:42px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:9px 11px; color:var(--ink); font:inherit; }
.phase5-member-form .button,.phase5-member-form .form-status { grid-column:1/-1; }
.phase5-member-steps { display:grid; gap:8px; margin:16px 0; padding:0; list-style:none; }
.phase5-member-steps li { display:grid; grid-template-columns:72px 1fr auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:10px; }
.phase5-member-steps li > span { color:#8a4b2b; font-size:.68rem; font-weight:900; text-transform:uppercase; }
.phase5-member-steps li div { display:grid; gap:2px; }
.phase5-member-steps li small { color:var(--muted); font-size:.68rem; }
.phase5-member-steps li b { font-size:.72rem; }
.phase6-closing-console { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:14px; margin:14px 0; }
.phase6-closing-console > article:only-child { grid-column:1/-1; }
.phase6-closing-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.phase6-closing-form label { display:grid; gap:6px; color:var(--muted); font-size:.76rem; font-weight:700; }
.phase6-closing-form input,.phase6-closing-form select { width:100%; min-height:42px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:9px 11px; color:var(--ink); font:inherit; }
.phase6-closing-form .button,.phase6-closing-form .form-status { grid-column:1/-1; }
.phase6-closing-result .owner-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
.phase6-closing-result .readiness-list { margin-top:16px; }
.phase7-pilot-console { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:14px; margin:14px 0; }
.phase7-pilot-console > article:only-child { grid-column:1/-1; }
.phase7-pilot-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.phase7-pilot-form label { display:grid; gap:6px; color:var(--muted); font-size:.76rem; font-weight:700; }
.phase7-pilot-form input,.phase7-pilot-form select { width:100%; min-height:42px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:9px 11px; color:var(--ink); font:inherit; }
.phase7-pilot-form .button,.phase7-pilot-form .form-status { grid-column:1/-1; }
.phase7-pilot-result .owner-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
.phase7-runbook { display:grid; gap:10px; margin:16px 0 0; padding:0; list-style:none; }
.phase7-runbook li { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(0,2fr) auto; gap:12px; align-items:start; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.phase7-runbook span,.phase7-runbook small { color:var(--muted); }

@media (max-width:760px) {
  .business-readiness-hero { align-items:stretch; flex-direction:column; padding:20px; }
  .business-readiness-score { min-width:0; }
  .business-readiness-summary { grid-template-columns:1fr; }
  .business-readiness-grid { grid-template-columns:1fr; }
  .business-readiness-domain:last-child { grid-column:auto; }
  .phase5-member-console,.phase5-member-form,.phase6-closing-console,.phase6-closing-form,.phase7-pilot-console,.phase7-pilot-form { grid-template-columns:1fr; }
  .phase7-runbook li { grid-template-columns:1fr; gap:4px; }
  .phase5-member-steps li { grid-template-columns:58px 1fr; }
  .phase5-member-steps li b { grid-column:2; }
}

/* Wave 1: Owner operations/sales only; shared transaction surfaces stay unchanged. */
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) {
  --dashboard-text: #38271c;
  --dashboard-muted: #695a50;
  --dashboard-border: #e8ddd1;
  --dashboard-surface: #fffefa;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  font-size: .875rem;
}
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) > *,
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .dashboard-grid > * { min-width: 0; }
.owner-operations-navigation { width: 100%; box-sizing: border-box; background: #faf5ee; }
.owner-operations-navigation a { min-height: 44px; box-sizing: border-box; display: flex; align-items: center; font-size: .875rem; color: #695a50; }
.owner-operations-navigation a[aria-current="page"] { background: #efe2d3; color: #643d26; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) :is(.card-subtitle, .owner-card-note, .dashboard-period-filter p, .dashboard-period-filter label, .metric-card p, .metric-card span, .comparison-tile span, .comparison-tile small) { font-size: .875rem; line-height: 1.5; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) :is(.metric-card, .comparison-tile) { gap: 6px; padding: 14px; overflow-wrap: anywhere; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .metric-card { border: 1px solid var(--dashboard-border); }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .metric-card strong { font-size: clamp(1.5rem, 2.1vw, 1.875rem); letter-spacing: normal; line-height: 1.25; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) :is(.dashboard-card h2, .owner-sales-trends summary) { font-size: 1.125rem; letter-spacing: normal; text-wrap: balance; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .section-heading { flex-wrap: wrap; gap: 10px; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) :is(.button, .dashboard-period-filter input) { min-height: 44px; font-size: .875rem; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) :is(.rank-list strong, .rank-list b, .rank-list small, .hourly-chart strong, .hourly-chart li > span, .hourly-chart li > small, .payment-breakdown small, .comparison-tile b) { font-size: .875rem; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) :is(.dashboard-table td, .dashboard-table th) { padding: 12px; font-size: .875rem; font-variant-numeric: tabular-nums; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .dashboard-table small { font-size: .8125rem; }
.dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .dashboard-period-filter { position: static; background: var(--dashboard-surface); box-shadow: none; }
.owner-sales-trends { border: 1px solid var(--dashboard-border); border-radius: 11px; background: var(--dashboard-surface); }
.owner-sales-trends > summary { padding: 14px 17px; min-height: 48px; box-sizing: border-box; cursor: pointer; color: var(--dashboard-text); font-weight: 750; }
.owner-sales-trends > .dashboard-card { border: 0; box-shadow: none; }
@media (max-width: 760px) {
  .dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .dashboard-module-context { flex-wrap: wrap; }
  .dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .metric-card strong { font-size: 1.5rem; }
  .dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .hourly-chart li { grid-template-columns: 40px minmax(0, 1fr) 100px; gap: 6px; }
  .dashboard-module:is([data-active-module="sales"], [data-active-module="orders"]) .comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.owner-order-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 16px 0; }
.owner-order-filter label { display: grid; gap: 6px; flex: 1 1 160px; min-width: 0; font-size: 14px; font-weight: 600; }
.owner-order-filter input, .owner-order-filter select { width: 100%; min-height: 44px; padding: 10px; border: 1px solid #d8cbbf; border-radius: 10px; color: #35251c; background: #fffdfa; font: inherit; box-sizing: border-box; }
.owner-order-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.owner-order-number { border: 0; padding: 10px 0; min-height: 44px; background: none; color: #764122; font: inherit; font-weight: 700; text-align: left; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.owner-order-number:focus-visible { outline: 2px solid #764122; outline-offset: 3px; border-radius: 4px; }
.owner-order-detail-dialog { box-sizing: border-box; position: fixed; inset: 0 0 0 auto; margin: 0; width: min(560px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; padding: 24px; border: 0; border-left: 1px solid #d8cbbf; background: #fffdfa; color: #35251c; overflow: auto; font: 14px/1.6 "Plus Jakarta Sans", sans-serif; }
.owner-order-detail-dialog::backdrop { background: rgb(35 24 18 / 45%); }
.owner-order-detail-dialog h2 { font-size: 24px; margin: 0; }
.owner-order-detail-dialog h3 { margin: 24px 0 12px; font-size: 16px; }
.owner-order-detail-dialog small { display: block; color: #6c5b4d; overflow-wrap: anywhere; }
.owner-order-detail-dialog .section-heading { align-items: start; }
.owner-order-detail-status { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f5eee6; border-radius: 12px; padding: 12px; }
.owner-order-detail-status p { display: grid; gap: 4px; margin: 0; }
.owner-order-items { list-style: none; padding: 0; margin: 0; }
.owner-order-items li, .owner-order-amounts > div, .owner-order-timeline li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #e8ddd2; }
.owner-order-items li > div { min-width: 0; }
.owner-order-items li > strong, .owner-order-amounts dd { flex-shrink: 0; }
.owner-order-amounts dd { margin: 0; font-weight: 700; }
.owner-order-amounts > div:last-child { font-size: 18px; }
.owner-order-payment { border: 1px solid #e8ddd2; padding: 12px; border-radius: 12px; margin-top: 8px; }
.owner-order-payment p { margin: 4px 0 0; }
.owner-order-timeline { padding: 0; list-style: none; }
.owner-order-timeline time { text-align: right; }
.dashboard-module[data-active-module="orders"] .owner-freshness { background: #f0e5d6; }
.dashboard-module[data-active-module="orders"] .owner-freshness :is(span, small) { color: #6c5b4d; }
.dashboard-module[data-active-module="orders"] td small { display: block; margin-top: 4px; color: #6c5b4d; }
@media (max-width: 767px) {
  .owner-order-detail-dialog { padding: 20px; border: 0; }
  .owner-order-filter label { flex-basis: 100%; }
  .owner-order-filter .button { width: 100%; }
  .owner-order-detail-dialog .owner-order-actions .button { flex: 1 1 100%; }
}
/* Promo forms stay in one native modal; operational lists remain visible. */
.promotion-dialog { width:min(840px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid #ded5cc;border-radius:20px;padding:24px;background:#fffdf9;color:#34261e; }
.promotion-dialog::backdrop { background:rgb(30 22 17 / .45); }
.promotion-dialog header { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.promotion-dialog fieldset { grid-column:1/-1;border:1px solid #ded5cc;border-radius:12px;padding:12px;display:flex;gap:12px;flex-wrap:wrap; }
.promotion-dialog fieldset label { display:flex;gap:8px;align-items:center; }
.promotion-dialog input[type=checkbox] { width:auto;min-height:20px; }

/* Owner Wave 1: shared hierarchy, scoped away from cashier and kiosk. */
.surface-dashboard .operator-header { gap: 16px; }
.surface-dashboard .operator-context { gap: 8px; }
.surface-dashboard .operator-context :is(.service-state, .count-pill) { font-size: .75rem; }
.dashboard-nav-section summary { min-height: 44px; }
.dashboard-navigation a { min-height: 44px; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) { display: grid; gap: 16px; min-width: 0; font-size: .875rem; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) > * { min-width: 0; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) :is(.card-subtitle, .owner-card-note, .metric-card p, .metric-card span) { font-size: .875rem; line-height: 1.5; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) .metric-card { padding: 16px; border: 1px solid var(--dashboard-border); gap: 6px; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) .metric-card strong { font-size: clamp(1.5rem, 2.1vw, 1.875rem); line-height: 1.25; letter-spacing: normal; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) .section-heading { flex-wrap: wrap; gap: 12px; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) .dashboard-card h2 { font-size: 1.125rem; letter-spacing: normal; }
.dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) :is(.button, input) { min-height: 44px; font-size: .875rem; }
.dashboard-module .dashboard-subnavigation { display: flex; flex-wrap: wrap; gap: 4px; }
.dashboard-module .dashboard-subnavigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; box-sizing: border-box; font-size: .875rem; }
.dashboard-module .dashboard-subnavigation a[aria-current="page"] { background: #efe2d3; color: #643d26; }
.owner-finance-navigation { border-bottom: 1px solid var(--dashboard-border); padding-bottom: 8px; }
[data-active-module="finance"] .dashboard-period-filter { position: static; box-shadow: none; }
[data-active-module="finance"] .dashboard-period-filter :is(label, p) { font-size: .8125rem; line-height: 1.5; }
.owner-finance-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.owner-finance-actions .dashboard-card { display: flex; flex-direction: column; gap: 12px; }
.owner-finance-actions .button { align-self: flex-start; margin-top: auto; }
.owner-next-action { display: inline-flex; align-items: center; min-height: 44px; color: #643d26; font-weight: 700; text-underline-offset: 3px; }
.owner-attention li a { display: inline-flex; align-items: center; min-height: 44px; color: #643d26; font-weight: 700; text-underline-offset: 3px; }
.owner-clear.is-neutral { background: #f6f3ef; color: #51453d; }
.owner-clear.is-neutral > span { background: #e8e2da; color: #51453d; }
[data-active-module="overview"] .operator-empty.compact { min-height: 64px; padding: 16px; }
[data-active-module="finance"] .dashboard-table :is(td, th) { padding: 12px; font-size: .875rem; font-variant-numeric: tabular-nums; }
[data-active-module="finance"] .dashboard-table small { font-size: .8125rem; }
[data-active-module="finance"] .dashboard-table :is(td:last-child, th:last-child) { text-align: right; }
@media (max-width: 1024px) {
  .owner-finance-actions { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .surface-dashboard .operator-header { gap: 8px; }
  .surface-dashboard .operator-context .button { min-height: 44px; font-size: .8125rem; }
  .surface-dashboard #dashboard-refresh-button { display: inline-flex; }
  .dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) .dashboard-module-context { flex-wrap: wrap; gap: 8px; }
  .dashboard-module:is([data-active-module="overview"], [data-active-module="finance"]) .metric-card { padding: 12px; }
  [data-active-module="finance"] .owner-cash-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-finance-navigation a { flex: 1 1 calc(50% - 4px); justify-content: center; }
  [data-active-module="finance"] .owner-closing-action { flex-wrap: wrap; }
}

/* Settings batch 2: service-hour editor, shared dialog interaction controller. */
.owner-ordering-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-top:1px solid #e5dfd8}.owner-ordering-summary strong{font-size:22px}.owner-ordering-summary p{margin:6px 0;color:#61594f}.owner-ordering-summary button{min-height:44px;flex:none}.owner-ordering-dialog{width:min(680px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;padding:28px;border:1px solid #e5dfd8;border-radius:20px;color:#29241f;background:#fff;font-family:'Plus Jakarta Sans',sans-serif}.owner-ordering-dialog::backdrop{background:rgb(25 22 20 / .55)}.owner-ordering-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px}.owner-ordering-dialog h3{font-size:22px;line-height:1.35;margin:0}.owner-ordering-dialog label{display:grid;gap:8px;margin:0}.owner-ordering-dialog input:not([type=checkbox]){width:100%;min-height:44px;box-sizing:border-box}.owner-ordering-dialog .catalog-checkbox{display:flex;align-items:center;gap:12px}.owner-ordering-dialog button{min-height:44px}.owner-ordering-dialog [role=status]:not(:empty){padding:12px;background:#f7eee6;border-radius:10px;overflow-wrap:anywhere}.owner-ordering-dialog :focus-visible{outline:3px solid #9b6947;outline-offset:3px}.owner-ordering-dialog .owner-settings-submit{justify-content:flex-end;margin-top:24px}.owner-ordering-dialog .owner-settings-hours{gap:16px}
@media(max-width:600px){.owner-ordering-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:24px 20px;border:0;border-radius:0;box-sizing:border-box}.owner-ordering-dialog .owner-settings-hours{grid-template-columns:1fr}.owner-ordering-dialog .owner-settings-submit{display:grid;grid-template-columns:1fr 1fr}.owner-ordering-dialog [data-ordering-refresh]{grid-column:1/-1}.owner-ordering-summary{gap:12px}}
.owner-ap-aging{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style:none}.owner-ap-aging>li{display:grid!important;gap:8px;padding:16px!important;border:1px solid #e5dfd8!important;border-radius:12px}.owner-ap-aging small{display:block;line-height:1.5}.owner-ordering-dialog .menu-v2-form{grid-template-columns:1fr}.owner-ordering-dialog .menu-v2-form button{width:auto}.owner-ordering-dialog fieldset{min-width:0}.owner-ordering-dialog .menu-v2-promo-products{max-height:240px;overflow:auto}
@media(max-width:600px){.owner-ap-aging{grid-template-columns:1fr}.minimum-stock-dialog{width:100%;max-width:100%;max-height:100dvh;margin:0;border-radius:0;box-sizing:border-box;overflow:auto;overscroll-behavior:contain}.native-employee-drawer.native-settings-dialog{width:100%;max-width:100%;margin:0}}
body.menu-b7-route .owner-ordering-dialog .button-primary{background:#4b352a;color:#fff;border-color:#4b352a}body.menu-b7-route .owner-ordering-dialog .menu-v2-form{border:0;padding:0;background:transparent}.owner-ordering-dialog .button-primary:hover{background:#34251e}.owner-ordering-dialog [data-settings-close]{min-height:44px}
.owner-ap-aging + .dashboard-table table{min-width:0;width:100%;table-layout:fixed}.owner-ap-aging + .dashboard-table th,.owner-ap-aging + .dashboard-table td{overflow-wrap:anywhere;white-space:normal}.owner-ap-aging + .dashboard-table small{display:block;margin-top:4px;line-height:1.5}.owner-ap-aging + .dashboard-table th:last-child,.owner-ap-aging + .dashboard-table td:last-child{width:30%;text-align:right;white-space:nowrap}.owner-ordering-dialog [data-settings-actions]{display:flex;justify-content:flex-end;gap:12px}.owner-ordering-dialog [data-settings-actions] button{width:auto!important;flex:0 0 auto}
@media(max-width:600px){.owner-ordering-dialog [data-settings-actions]{display:grid;grid-template-columns:1fr 1fr}.owner-ordering-dialog [data-settings-actions] button{width:100%!important}}
.warehouse-receipt-list.is-bounded{max-height:min(540px,65dvh);overflow:auto;overscroll-behavior:contain;padding-right:4px}.warehouse-receipt-list.is-bounded:focus-visible{outline:3px solid #9b6947;outline-offset:3px}
@media(max-width:600px){.owner-ap-aging + .dashboard-table th:last-child{white-space:normal;overflow-wrap:anywhere;font-size:11px;letter-spacing:.04em}}
