.admin-body { min-height: 100vh; background: radial-gradient(circle at 85% 0, rgba(243,112,34,.18), transparent 30rem), #0b0907; }
.admin-header { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem max(18px, calc((100% - 1160px) / 2)); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(5,4,3,.72); }
.admin-header img { width: min(290px, 55vw); }
.admin-header > div { display: flex; align-items: center; gap: 1rem; color: var(--muted); font-weight: 800; }
.admin-header .btn { padding: .65rem 1rem; }
.admin-main { width: min(1600px, calc(100% - 32px)); margin: 0 auto; padding: 70px 0; }
.admin-login { max-width: 540px; margin: 6vh auto; padding: 2rem; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: rgba(255,255,255,.05); box-shadow: var(--shadow); }
.admin-login h1, .admin-title h1 { font-size: clamp(2.6rem, 8vw, 5rem); }
.admin-login > p:not(.eyebrow) { color: var(--muted); }
.admin-login form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.admin-login label { display: grid; gap: .4rem; font-weight: 800; }
.admin-login input { width: 100%; padding: .85rem .9rem; border: 1px solid rgba(255,255,255,.15); border-radius: 13px; background: #0c0907; color: var(--cream); outline: 0; }
.admin-title { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.6rem; }
.title-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.admin-title h2 { font-size: clamp(2rem, 5vw, 3.5rem); }
.subsection-title { margin-top: 4rem; }
.switch-row { display: flex !important; align-items: center; gap: .7rem !important; cursor: pointer; }
.switch-row input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.switch { position: relative; width: 46px; height: 26px; border-radius: 999px; background: #493b31; transition: .2s; }
.switch::after { content: ""; position: absolute; width: 20px; height: 20px; left: 3px; top: 3px; border-radius: 50%; background: white; transition: .2s; }
.switch-row input:checked + .switch { background: var(--green); }
.switch-row input:checked + .switch::after { transform: translateX(20px); }
.switch-row input:focus-visible + .switch {
  outline: 3px solid rgba(243,112,34,.45);
  outline-offset: 3px;
}
.category-fieldset { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: .8rem; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; }
.category-fieldset legend { padding: 0 .35rem; color: var(--muted); font-size: .85rem; font-weight: 800; }
.category-fieldset label { display: flex; align-items: center; gap: .4rem; padding: .42rem .6rem; border-radius: 999px; background: rgba(255,255,255,.06); font-size: .85rem; cursor: pointer; }
.category-fieldset input { width: auto; accent-color: var(--ember); }
.product-toggles { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.admin-actions { display: flex; gap: .65rem; }
.admin-actions .btn { flex: 1; }
.btn-danger { border-color: rgba(255,120,95,.35); background: rgba(182,58,28,.18); color: #ffb19b; }
.admin-dashboard-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  align-items: start;
  gap: 1.25rem;
}
.admin-panel-stack { min-width: 0; }
.admin-panel[hidden] { display: none; }
.admin-panel { min-width: 0; }
.admin-panel .admin-title h1 { font-size: clamp(2.7rem, 5vw, 4.6rem); }
.admin-panel h1:focus { outline: 0; }
.admin-side-nav {
  position: sticky;
  top: 1rem;
  z-index: 5;
  display: grid;
  gap: .45rem;
  max-height: calc(100vh - 2rem);
  overflow: auto;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 22px;
  background: rgba(22,16,12,.92);
  box-shadow: 0 18px 44px rgba(0,0,0,.3);
  backdrop-filter: blur(14px);
}
.side-nav-label {
  margin: .25rem .45rem .45rem;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.admin-side-nav button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  min-height: 60px;
  padding: .68rem .72rem;
  border: 1px solid transparent;
  border-radius: 15px;
  background: transparent;
  color: var(--cream);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s, background .18s, transform .18s;
}
.admin-side-nav button:hover {
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  transform: translateX(2px);
}
.admin-side-nav button:focus-visible,
.event-card :is(input, select, textarea, button):focus-visible,
.event-filters :is(input, select):focus-visible {
  outline: 3px solid rgba(243,112,34,.35);
  outline-offset: 2px;
}
.admin-side-nav button[aria-current="page"] {
  border-color: rgba(243,112,34,.42);
  background: linear-gradient(135deg, rgba(243,112,34,.22), rgba(243,112,34,.07));
}
.admin-side-nav button > span:last-child { display: grid; min-width: 0; gap: .12rem; }
.admin-side-nav button strong { font-size: .9rem; }
.admin-side-nav button small {
  overflow: hidden;
  color: var(--muted);
  font-size: .69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.side-nav-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(255,255,255,.065);
  color: var(--ember-2);
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .04em;
}
.admin-status { min-height: 1.5rem; margin: 0 0 .6rem; color: var(--ember-2); }
.panel-intro {
  max-width: 760px;
  margin: -.5rem 0 1.35rem;
  color: var(--muted);
  line-height: 1.55;
}
.events-intro {
  display: grid;
  gap: .9rem;
  margin: -.55rem 0 1rem;
}
.events-intro > p { max-width: 800px; margin: 0; color: var(--muted); line-height: 1.55; }
.events-intro > p strong { color: var(--ember-2); }
.square-sync-banner,
.event-square-status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(255,193,101,.2);
  border-radius: 16px;
  background: rgba(255,193,101,.055);
}
.square-sync-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #f1bf68;
  box-shadow: 0 0 0 5px rgba(241,191,104,.1);
}
.square-sync-banner > span,
.event-square-status > span { display: grid; gap: .12rem; }
.square-sync-banner small,
.event-square-status small { color: var(--muted); line-height: 1.35; }
.square-sync-banner .btn,
.event-square-status .btn { padding: .62rem .8rem; }
.square-sync-banner button:disabled,
.event-square-status button:disabled { opacity: .48; cursor: not-allowed; }
.event-summary {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: 1rem;
}
.event-filters {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(260px, 1.2fr) auto;
  align-items: end;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.event-filters label,
.event-fields label,
.event-line-item label {
  display: grid;
  min-width: 0;
  gap: .38rem;
  color: var(--cream);
  font-size: .78rem;
  font-weight: 850;
}
.event-filters label > span,
.event-line-item label > span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.event-filters input,
.event-filters select,
.event-card input,
.event-card select,
.event-card textarea {
  width: 100%;
  min-width: 0;
  padding: .72rem .76rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  background: #0c0907;
  color: var(--cream);
  font: inherit;
  outline: 0;
}
.event-card textarea { resize: vertical; }
.event-filter-count,
.event-filters output {
  padding: 0 0 .7rem;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
}
.event-list { display: grid; gap: 1rem; }
.event-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 22px;
  background: rgba(255,255,255,.04);
  box-shadow: 0 16px 38px rgba(0,0,0,.18);
}
.event-card[hidden] { display: none; }
.event-card > form { display: grid; gap: 1rem; padding: 1.15rem; }
.event-card-heading,
.event-products-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}
.event-card-heading h2 {
  margin: .12rem 0 0;
  font-size: clamp(1.75rem, 3vw, 2.7rem);
  line-height: 1;
}
.event-products-heading h3 { margin: 0; font-size: 1.15rem; }
.event-products-heading p { margin: .18rem 0 0; color: var(--muted); font-size: .8rem; }
.event-recommendation {
  flex: 0 0 auto;
  padding: .48rem .68rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.event-recommendation.is-profitable {
  border-color: rgba(111,205,126,.38);
  background: rgba(71,161,86,.16);
  color: #a1e9aa;
}
.event-recommendation.is-pending,
.event-recommendation.is-break-even {
  border-color: rgba(241,191,104,.34);
  background: rgba(214,148,42,.13);
  color: #f3ca7e;
}
.event-recommendation.is-unprofitable {
  border-color: rgba(255,119,89,.4);
  background: rgba(190,58,29,.16);
  color: #ffad98;
}
.event-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: rgba(0,0,0,.13);
}
.event-field-wide { grid-column: span 2; }
.event-fields label:last-child { grid-column: span 3; }
.event-line-head,
.event-line-item {
  display: grid;
  grid-template-columns: minmax(190px, 1.8fr) minmax(85px, .6fr) minmax(110px, .75fr) minmax(110px, .75fr) minmax(170px, 1.2fr) 42px;
  align-items: center;
  gap: .55rem;
}
.event-line-head {
  padding: 0 .65rem;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.event-line-items { display: grid; gap: .55rem; }
.event-line-item {
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(0,0,0,.16);
}
.event-line-item label > span { display: none; }
.event-line-result { display: grid; min-width: 0; gap: .1rem; }
.event-line-result strong {
  overflow: hidden;
  color: var(--ember-2);
  font-size: .9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.event-line-result small { color: var(--muted); font-size: .69rem; line-height: 1.25; }
.event-line-remove {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,119,89,.26);
  border-radius: 10px;
  background: rgba(190,58,29,.12);
  color: #ffad98;
  font-size: 1.2rem;
  cursor: pointer;
}
.event-metrics {
  display: grid;
  grid-template-columns: repeat(7, minmax(115px, 1fr));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
}
.event-metrics > div {
  min-width: 0;
  padding: .8rem;
  border-right: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
}
.event-metrics > div:last-child { border-right: 0; }
.event-metrics span,
.event-metrics strong { display: block; }
.event-metrics span {
  color: var(--muted);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.event-metrics strong {
  margin-top: .22rem;
  overflow-wrap: anywhere;
  color: var(--cream);
  font-size: .95rem;
  font-variant-numeric: tabular-nums;
}
.event-actions { display: flex; justify-content: flex-end; gap: .65rem; }
.event-filter-empty { text-align: center; }
.menu-grid-intro { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; margin: -.6rem 0 1rem; }
.menu-grid-intro > p { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.55; }
.menu-grid-intro > p strong { color: var(--ember-2); }
.menu-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }
.summary-chip { min-width: 118px; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.045); }
.summary-chip strong, .summary-chip span { display: block; }
.summary-chip strong { color: var(--ember-2); font-size: 1.05rem; }
.summary-chip span { margin-top: .1rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.menu-filters {
  display: grid;
  grid-template-columns: minmax(230px, 1.55fr) repeat(5, minmax(140px, 1fr));
  gap: .7rem;
  margin: 0 0 1rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
}
.menu-filter { display: grid; min-width: 0; gap: .35rem; }
.menu-filter > span {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.menu-filter input,
.menu-filter select {
  width: 100%;
  min-width: 0;
  padding: .7rem .72rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  background: #0c0907;
  color: var(--cream);
  font: inherit;
  outline: 0;
}
.menu-filter input:focus,
.menu-filter select:focus { border-color: var(--ember); box-shadow: 0 0 0 3px rgba(243,112,34,.12); }
.menu-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-top: .15rem;
}
.menu-filter-actions .btn { padding: .62rem .9rem; }
.menu-filter-actions output { color: var(--muted); font-size: .82rem; font-weight: 800; }
.menu-grid-shell { overflow-x: auto; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.025); box-shadow: var(--shadow); }
.menu-grid-head,
.menu-grid-row {
  display: grid;
  grid-template-columns:
    minmax(210px, 2fr)
    minmax(110px, 1fr)
    minmax(90px, .7fr)
    minmax(175px, 1.3fr)
    minmax(125px, .9fr)
    minmax(105px, .8fr)
    minmax(82px, .6fr);
}
.menu-grid-head { position: sticky; top: 0; z-index: 2; border-bottom: 1px solid rgba(255,255,255,.12); background: #17110d; }
.menu-grid-head span { padding: .72rem .65rem; color: var(--muted); font-size: .72rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.menu-product-grid { display: grid; }
.menu-grid-row { border: 0; border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.015); color: var(--cream); transition: background .2s, box-shadow .2s; }
.menu-grid-row:last-child { border-bottom: 0; }
.menu-grid-row[hidden] { display: none; }
.menu-grid-row:hover { background: rgba(255,255,255,.035); }
.menu-grid-row.is-dirty { box-shadow: inset 4px 0 0 var(--ember); }
.menu-grid-row.is-inactive { opacity: .66; }
.menu-grid-cell { min-width: 0; padding: .72rem .6rem; border-right: 1px solid rgba(255,255,255,.07); }
.menu-grid-cell:last-child { border-right: 0; }
.menu-editor-form input,
.menu-editor-form textarea,
.menu-editor-form select,
.category-picker summary {
  width: 100%;
  padding: .66rem .7rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: #0c0907;
  color: var(--cream);
  font: inherit;
  outline: 0;
}
.menu-editor-form input:focus,
.menu-editor-form textarea:focus,
.menu-editor-form select:focus,
.category-picker[open] summary { border-color: var(--ember); box-shadow: 0 0 0 3px rgba(243,112,34,.12); }
.menu-editor-form textarea { min-height: 90px; margin-top: .4rem; resize: vertical; line-height: 1.35; }
.menu-grid-row small { display: block; margin-top: .38rem; color: var(--muted); font-size: .7rem; line-height: 1.3; }
.product-cell input[name="name"] { font-weight: 900; }
.portion-cell { display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: .4rem; align-content: start; }
.currency-input { position: relative; display: block; }
.currency-input > span { position: absolute; z-index: 1; left: .72rem; top: 50%; transform: translateY(-50%); color: var(--muted); font-weight: 900; }
.currency-input input { padding-left: 1.55rem; }
.price-label-input { margin-top: .4rem; font-size: .78rem !important; }
.category-picker { position: relative; }
.category-picker summary { overflow: hidden; cursor: pointer; text-overflow: ellipsis; white-space: nowrap; list-style-position: inside; }
.category-options { display: grid; gap: .38rem; margin-top: .45rem; padding: .55rem; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: #15100c; }
.category-options label,
.compact-check { display: flex; align-items: center; gap: .45rem; font-size: .78rem; font-weight: 800; cursor: pointer; }
.category-options input,
.compact-check input { width: auto; accent-color: var(--ember); }
.margin-cell output { display: block; font-size: 1.25rem; font-weight: 950; font-variant-numeric: tabular-nums; }
.margin-cell.margin-high output { color: #83d28d; }
.margin-cell.margin-positive output { color: #f3c66f; }
.margin-cell.margin-negative output { color: #ff9277; }
.settings-cell { display: grid; align-content: start; gap: .55rem; }
.sort-control { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .4rem; color: var(--muted); font-size: .72rem; font-weight: 800; }
.sort-control input { min-width: 0; padding: .4rem .5rem; }
.row-actions { display: grid; align-content: start; gap: .45rem; }
.row-actions .btn { width: 100%; padding: .65rem .45rem; font-size: .78rem; }
.economics-cell,
.margin-summary-cell,
.status-cell { display: grid; align-content: center; gap: .3rem; font-variant-numeric: tabular-nums; }
.economics-cell span,
.margin-summary-cell span { font-size: .84rem; font-weight: 850; }
.economics-cell small { margin: 0; }
.status-pill { width: fit-content; padding: .3rem .48rem; border-radius: 999px; background: rgba(255,255,255,.08); font-size: .7rem; font-weight: 900; }
.status-pill.is-visible { background: rgba(73,168,89,.18); color: #9ae5a4; }
.status-pill.is-hidden { color: var(--muted); }
.status-pill.is-featured { background: rgba(243,112,34,.16); color: var(--ember-2); }
.menu-grid-row .product-cell strong { display: block; line-height: 1.25; }
.menu-grid-row .product-cell small { max-width: 46ch; }

.menu-editor-dialog {
  width: min(820px, calc(100% - 28px));
  max-height: calc(100vh - 28px);
  padding: 0;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 24px;
  background: #17110d;
  color: var(--cream);
  box-shadow: 0 28px 90px rgba(0,0,0,.72);
  overflow: auto;
}
.menu-editor-dialog::backdrop { background: rgba(4,3,2,.8); backdrop-filter: blur(6px); }
.menu-editor-heading { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.35rem; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(23,17,13,.96); }
.menu-editor-heading h2 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.5rem); }
.menu-editor-heading .eyebrow { margin-bottom: .2rem; }
.dialog-icon-button { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: rgba(255,255,255,.05); color: var(--cream); font: 1.8rem/1 inherit; cursor: pointer; }
.dialog-icon-button:hover,
.dialog-icon-button:focus-visible { border-color: var(--ember); color: var(--ember-2); }
.dialog-alert {
  margin: 1rem 1.25rem 0;
  padding: .78rem .9rem;
  border: 1px solid rgba(255,119,89,.38);
  border-radius: 12px;
  background: rgba(128,28,12,.18);
  color: #ffc0ae;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.45;
}
.dialog-alert:empty { display: none; }
.dialog-alert:focus-visible {
  outline: 3px solid rgba(255,119,89,.35);
  outline-offset: 2px;
}
.menu-editor-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.35rem; }
.menu-editor-form .menu-grid-cell { padding: 0; border: 0; }
.menu-editor-form .menu-grid-cell::before { content: attr(data-label); display: block; margin-bottom: .45rem; color: var(--muted); font-size: .7rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.menu-editor-form .product-cell,
.menu-editor-form .settings-cell,
.menu-editor-form .row-actions { grid-column: 1 / -1; }
.menu-editor-form .settings-cell { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; }
.menu-editor-form .row-actions { grid-template-columns: 1fr 1fr; }
.menu-editor-form .row-actions .btn { min-height: 44px; }
.menu-editor-form small { display: block; margin-top: .38rem; color: var(--muted); font-size: .72rem; }
.orders-list { display: grid; gap: .7rem; }
.empty-state { color: var(--muted); padding: 1.4rem; border: 1px dashed rgba(255,255,255,.15); border-radius: 18px; }
.menu-filter-empty {
  margin: 1rem;
  color: var(--muted);
  padding: 1.25rem;
  border: 1px dashed rgba(255,255,255,.15);
  border-radius: 14px;
  text-align: center;
}
@media (max-width: 760px) {
  .admin-header > div > span { display: none; }
  .admin-title { align-items: start; flex-direction: column; }
  .title-actions { width: 100%; justify-content: flex-start; }
}
@media (max-width: 1280px) {
  .menu-grid-intro { align-items: start; flex-direction: column; }
  .menu-summary { justify-content: flex-start; }
  .menu-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .menu-filter-search { grid-column: span 2; }
  .menu-grid-shell { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .menu-grid-head { display: none; }
  .menu-product-grid { gap: 1rem; }
  .menu-grid-row { grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.04); }
  .menu-grid-cell { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.07); }
  .menu-grid-cell::before { content: attr(data-label); display: block; margin-bottom: .45rem; color: var(--muted); font-size: .68rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
  .product-cell,
  .row-actions { grid-column: 1 / -1; }
  .row-actions { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 580px) {
  .admin-main { width: min(100% - 24px, 1600px); padding: 45px 0; }
  .menu-filters { grid-template-columns: 1fr; }
  .menu-filter-search { grid-column: auto; }
  .menu-filter-actions { align-items: stretch; flex-direction: column; }
  .menu-filter-actions .btn { width: 100%; }
  .menu-grid-row { grid-template-columns: 1fr; }
  .menu-grid-cell,
  .product-cell,
  .row-actions { grid-column: 1; }
  .summary-chip { flex: 1; min-width: 105px; }
  .menu-editor-form { grid-template-columns: 1fr; padding: 1rem; }
  .menu-editor-form .menu-grid-cell,
  .menu-editor-form .product-cell,
  .menu-editor-form .settings-cell,
  .menu-editor-form .row-actions { grid-column: 1; }
  .menu-editor-form .settings-cell,
  .menu-editor-form .row-actions { grid-template-columns: 1fr; }
}
@media (max-width: 1120px) {
  .admin-main { padding-top: 32px; }
  .admin-dashboard-layout { grid-template-columns: minmax(0, 1fr); }
  .admin-side-nav {
    top: .5rem;
    grid-auto-flow: column;
    grid-auto-columns: minmax(175px, 1fr);
    overflow-x: auto;
    max-height: none;
    padding: .6rem;
    border-radius: 18px;
  }
  .side-nav-label { display: none; }
  .admin-side-nav button { min-height: 54px; }
  .admin-side-nav button:hover { transform: translateY(-1px); }
  .event-metrics { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
  .event-metrics > div { border-bottom: 1px solid rgba(255,255,255,.08); }
}
@media (max-width: 900px) {
  .event-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-fields label:last-child { grid-column: span 2; }
  .event-line-head { display: none; }
  .event-line-item { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
  .event-line-item label:first-child { grid-column: 1 / -1; }
  .event-line-item label > span { display: block; }
  .event-line-result {
    align-self: stretch;
    justify-content: center;
    min-height: 62px;
    padding: .55rem .7rem;
    border-radius: 11px;
    background: rgba(255,255,255,.04);
  }
  .event-line-remove { align-self: center; justify-self: end; }
  .event-metrics { grid-template-columns: repeat(3, minmax(110px, 1fr)); }
}
@media (max-width: 700px) {
  .event-filters { grid-template-columns: 1fr; }
  .event-filters output { padding: 0; }
  .square-sync-banner,
  .event-square-status { grid-template-columns: auto minmax(0, 1fr); }
  .square-sync-banner .btn,
  .event-square-status .btn { grid-column: 1 / -1; width: 100%; }
  .event-metrics { grid-template-columns: repeat(2, minmax(105px, 1fr)); }
}
@media (max-width: 580px) {
  .admin-side-nav {
    grid-auto-columns: minmax(122px, 1fr);
    gap: .3rem;
  }
  .admin-side-nav button {
    grid-template-columns: 1fr;
    min-height: 48px;
    padding: .58rem .65rem;
    text-align: center;
  }
  .admin-side-nav button small,
  .side-nav-icon { display: none; }
  .admin-panel .admin-title h1 { font-size: clamp(2.35rem, 14vw, 3.5rem); }
  .event-card-heading,
  .event-products-heading { align-items: stretch; flex-direction: column; }
  .event-recommendation { align-self: start; }
  .event-fields { grid-template-columns: 1fr; }
  .event-field-wide,
  .event-fields label:last-child { grid-column: 1; }
  .event-line-item { grid-template-columns: 1fr; }
  .event-line-item label:first-child { grid-column: 1; }
  .event-line-remove { justify-self: stretch; width: 100%; }
  .event-actions { flex-direction: column; }
  .event-actions .btn { width: 100%; }
}

/* API-backed order-ahead operations */
.operation-list {
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.operation-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(160px, .75fr) auto auto;
  align-items: end;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.operation-filters label,
.operation-dialog-form > label {
  display: grid;
  min-width: 0;
  gap: .38rem;
  color: var(--cream);
  font-size: .78rem;
  font-weight: 850;
}
.operation-filters label > span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.operation-filters :is(input, select),
.operation-dialog-form :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  padding: .76rem .8rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  background: #0c0907;
  color: var(--cream);
  font: inherit;
  outline: 0;
}
.operation-filters :is(input, select):focus-visible,
.operation-dialog-form :is(input, select, textarea, button):focus-visible,
.operation-card :is(button, a):focus-visible,
.order-workflow-card :is(button, a):focus-visible {
  outline: 3px solid rgba(243,112,34,.38);
  outline-offset: 2px;
}
.operation-filters output {
  align-self: center;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
}
.checkout-settings-card {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(250px, auto) auto;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(243,112,34,.25);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(243,112,34,.1), rgba(255,255,255,.035));
}
.checkout-settings-card > div:first-child { grid-column: 1 / -1; }
.checkout-settings-card h2 { margin: 0; font-size: 1.35rem; }
.checkout-settings-card p:not(.eyebrow) { margin: .25rem 0 0; color: var(--muted); }
.checkout-settings-card .switch-row { margin: 0; }
.checkout-settings-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.checkout-policy-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  min-width: 0;
  margin: 0;
  padding: .85rem;
  border: 1px solid rgba(241,191,104,.24);
  border-radius: 14px;
  background: rgba(241,191,104,.05);
}
.checkout-policy-fields legend {
  padding: 0 .35rem;
  color: #f3ca7e;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.checkout-settings-fields label,
.checkout-policy-fields label {
  display: grid;
  min-width: 0;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 850;
}
.checkout-settings-fields input,
.checkout-policy-fields select {
  width: 100%;
  min-width: 0;
  padding: .72rem .76rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  background: #0c0907;
  color: var(--cream);
  font: inherit;
}
.checkout-policy-fields small {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 650;
  line-height: 1.4;
}
.policy-confirmation {
  display: flex;
  align-items: start;
  gap: .55rem;
  min-width: 0;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 750;
  line-height: 1.4;
}
.policy-confirmation input { flex: 0 0 auto; width: auto; margin-top: .15rem; accent-color: var(--ember); }
.settings-status {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  min-height: 1.5rem;
  color: var(--muted);
  font-size: .82rem;
}
.settings-blocker {
  padding: .3rem .48rem;
  border-radius: 8px;
  background: rgba(190,58,29,.14);
  color: #ffad98;
  font-weight: 800;
}
.operation-card,
.order-workflow-card {
  min-width: 0;
  padding: 1.1rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.04);
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
}
.operation-card-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}
.operation-card-heading h2 {
  margin: .12rem 0 0;
  overflow-wrap: anywhere;
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
  line-height: 1;
}
.operation-badges {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .4rem;
}
.operation-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: .34rem .55rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: var(--cream);
  font-size: .69rem;
  font-weight: 900;
  line-height: 1.2;
}
.operation-status-positive { border-color: rgba(111,205,126,.35); background: rgba(71,161,86,.14); color: #a1e9aa; }
.operation-status-warning { border-color: rgba(241,191,104,.34); background: rgba(214,148,42,.13); color: #f3ca7e; }
.operation-status-negative { border-color: rgba(255,119,89,.38); background: rgba(190,58,29,.15); color: #ffad98; }
.operation-status-neutral { color: var(--muted); }
.operation-description { margin: .85rem 0; color: var(--muted); line-height: 1.5; }
.operation-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr));
  gap: 1px;
  overflow: hidden;
  margin: .85rem 0;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.08);
}
.operation-facts > div {
  min-width: 0;
  padding: .75rem;
  background: #15100c;
}
.operation-facts dt,
.order-detail-facts dt {
  color: var(--muted);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.operation-facts dd,
.order-detail-facts dd {
  margin: .22rem 0 0;
  overflow-wrap: anywhere;
  color: var(--cream);
  font-size: .84rem;
  font-weight: 750;
  line-height: 1.4;
}
.operation-card-actions,
.operation-dialog-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .6rem;
}
.operation-card-actions .btn { min-height: 42px; }
.operation-map-link {
  display: inline-block;
  margin: .2rem 0 .8rem;
  color: var(--ember-2);
  font-weight: 850;
  overflow-wrap: anywhere;
}
.operation-map-link:not([href]) { color: var(--muted); cursor: default; }
.window-lookup-list {
  display: grid;
  gap: .5rem;
  margin: 1rem 0;
}
.window-lookup-list h3 { margin: 0 0 .1rem; font-size: 1rem; }
.window-lookup-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .7rem;
  padding: .65rem .7rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  background: rgba(0,0,0,.14);
}
.window-lookup-row > div:first-child { display: grid; min-width: 0; gap: .15rem; }
.window-lookup-row strong { overflow-wrap: anywhere; }
.window-lookup-row small { color: var(--muted); }
.inline-empty-state,
.inline-error-state {
  margin: 0;
  padding: .75rem;
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 12px;
  color: var(--muted);
}
.inline-error-state { border-color: rgba(255,119,89,.3); color: #ffad98; }
.order-summary { justify-content: flex-start; margin-bottom: 1rem; }
.order-filters { grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(150px, .7fr)) auto auto; }
.order-deadlines {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .8rem 0;
}
.deadline-chip {
  padding: .38rem .55rem;
  border-radius: 9px;
  background: rgba(241,191,104,.1);
  color: #f3ca7e;
  font-size: .73rem;
  font-weight: 850;
}
.operation-dialog {
  width: min(820px, calc(100% - 28px));
  max-height: calc(100dvh - 28px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 24px;
  background: #17110d;
  color: var(--cream);
  box-shadow: 0 28px 90px rgba(0,0,0,.72);
}
.operation-dialog-compact { width: min(620px, calc(100% - 28px)); }
.operation-dialog::backdrop { background: rgba(4,3,2,.82); backdrop-filter: blur(6px); }
.operation-dialog-heading {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(23,17,13,.97);
}
.operation-dialog-heading h2 { margin: 0; font-size: clamp(1.55rem, 4vw, 2.35rem); }
.operation-dialog-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.25rem;
}
.operation-dialog-form > .dialog-alert { margin: 0; }
.operation-dialog-form textarea { resize: vertical; }
.operation-dialog-form label small {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.4;
}
.operation-dialog-form .field-wide { grid-column: 1 / -1; }
.operation-dialog-form .switch-row input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}
.choice-fieldset {
  min-width: 0;
  margin: 0;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
}
.choice-fieldset legend {
  padding: 0 .35rem;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.choice-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.choice-card {
  display: flex;
  align-items: start;
  gap: .55rem;
  min-width: 0;
  padding: .7rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  cursor: pointer;
}
.choice-card input { flex: 0 0 auto; width: auto; margin-top: .15rem; accent-color: var(--ember); }
.choice-card > span { display: grid; min-width: 0; gap: .15rem; }
.choice-card strong,
.choice-card small { overflow-wrap: anywhere; }
.choice-card small { color: var(--muted); }
.map-preview-row,
.time-zone-callout { margin: 0; color: var(--muted); }
.time-zone-callout {
  padding: .75rem;
  border-radius: 12px;
  background: rgba(243,112,34,.08);
}
.optional-label { color: var(--muted); font-weight: 600; }
.order-details-body { display: grid; gap: 1rem; padding: 1.25rem; }
.order-detail-section {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.025);
}
.order-detail-section h3 { margin: 0 0 .75rem; font-size: 1rem; }
.order-detail-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 0;
}
.order-details-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,.1);
  background: rgba(23,17,13,.97);
}

@media (min-width: 1500px) {
  .admin-main { width: min(1800px, calc(100% - 64px)); }
  .admin-dashboard-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 1.5rem; }
}

@media (max-width: 1120px) {
  .admin-side-nav {
    grid-auto-flow: row;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-columns: auto;
    overflow-x: visible;
  }
  .operation-filters,
  .order-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operation-filters output { align-self: center; white-space: normal; }
}

@media (max-width: 760px) {
  .admin-side-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .checkout-settings-card { grid-template-columns: 1fr; align-items: start; }
  .checkout-settings-card > *,
  .checkout-settings-fields,
  .checkout-policy-fields,
  .policy-confirmation { grid-column: 1; }
  .checkout-settings-fields,
  .checkout-policy-fields { grid-template-columns: 1fr; }
  .settings-status { grid-column: 1; }
  .operation-card-heading { flex-direction: column; }
  .operation-badges { justify-content: flex-start; }
  .operation-card-actions .btn { flex: 1 1 160px; }
  .window-lookup-row { grid-template-columns: 1fr auto; }
  .window-lookup-row .btn { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 580px) {
  .admin-side-nav {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }
  .admin-side-nav button,
  .admin-side-nav button > span { min-width: 0; }
  .operation-filters,
  .order-filters,
  .operation-dialog-form { grid-template-columns: 1fr; }
  .operation-filters > *,
  .operation-dialog-form .field-wide { grid-column: 1; }
  .operation-filters .btn,
  .operation-card-actions .btn,
  .operation-dialog-actions .btn { width: 100%; }
  .operation-card-actions,
  .operation-dialog-actions { flex-direction: column; }
  .choice-list,
  .order-detail-facts { grid-template-columns: 1fr; }
  .operation-dialog {
    width: 100%;
    max-width: none;
    max-height: 100dvh;
    margin: auto 0 0;
    border-radius: 20px 20px 0 0;
  }
  .operation-dialog-form,
  .order-details-body { padding: 1rem; }
}
