:root {
  --workspace-bg: light-dark(#ffffff, #18181a);
  --workspace-side: light-dark(#f6f6f8, #202023);
  --workspace-fill: light-dark(#f5f5f7, #29292d);
  --workspace-text: light-dark(#1d1d1f, #f5f5f7);
  --workspace-muted: light-dark(#686870, #aaaab2);
  --workspace-border: light-dark(#e7e7eb, #38383b);
  --workspace-blue: light-dark(#0066cc, #77b7ff);
  --workspace-selected: light-dark(#edf4ff, #25364c);
  --workspace-green: light-dark(#21744b, #78d9a4);
  --workspace-danger: light-dark(#bf2929, #ff9494);
}

/* Item editors keep navigation and saving outside the scrolling fields. */
.admin-slide-sheet.item-editor-sheet {
  width: min(720px, 100%);
  height: 93dvh;
  max-height: 1100px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  color: var(--ink);
  background: var(--white);
}
.item-editor-sheet .item-editor-header { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:16px; padding:20px 24px; border-bottom:1px solid var(--line); }
.item-editor-header h2 { font-size:20px; line-height:1.3; margin:0; font-weight:600; }
.item-editor-header p { color:var(--muted); margin:4px 0 0; font-size:13px; }
.item-editor-sheet .item-close { flex-shrink:0; width:36px; height:36px; min-height:36px; padding:0; background:var(--workspace-fill); border:0; border-radius:50%; color:var(--muted); font-size:25px; font-weight:400; }
.item-editor-sheet :is(.item-form, .builder-new-item-form) { display:flex; flex-direction:column; min-height:0; flex:1; margin:0; gap:0; overflow:hidden; }
.item-editor-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:24px; display:flex; flex-direction:column; gap:22px; }
.item-editor-sheet label { font-size:13px; font-weight:500; min-width:0; }
.item-editor-sheet :is(input:not([type=checkbox]), select, textarea) { width:100%; min-width:0; min-height:42px; font-size:15px; font-weight:400; border-radius:6px; background:var(--white); color:var(--ink); }
.item-editor-sheet textarea { min-height:88px; resize:vertical; }
.item-editor-sheet .form-row.two { display:grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap:14px; }
.item-basics { display:grid; grid-template-columns:128px minmax(0,1fr); gap:24px; }
.item-essential-fields { display:grid; align-content:start; gap:16px; }
.item-editor-sheet .item-photo-picker { position:relative; display:flex; align-items:center; flex-direction:column; gap:7px; cursor:pointer; overflow:hidden; }
.item-photo-preview { width:128px; height:128px; border-radius:8px; border:1px solid var(--line); background:var(--workspace-fill); display:grid; place-items:center; overflow:hidden; }
.item-photo-preview img { width:100%; height:100%; object-fit:cover; }
.item-photo-preview [data-photo-placeholder] { font-size:32px; color:var(--muted); font-weight:300; }
.item-editor-sheet .item-photo-picker input { position:absolute; inset:0; opacity:0; height:100%; cursor:pointer; }
.item-photo-picker:focus-within .item-photo-preview { outline:2px solid var(--workspace-blue); outline-offset:2px; }
.item-photo-caption { color:var(--workspace-blue); }
.item-photo-caption small, .field-optional { color:var(--muted); font-size:12px; font-weight:400; }
.item-photo-filename { max-width:100%; overflow-wrap:anywhere; text-align:center; color:var(--muted); font-size:11px; font-weight:400; }
.item-secondary-fields { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.item-editor-sheet .item-popular { display:flex; flex-direction:row; align-items:center; gap:8px; white-space:nowrap; }
.item-editor-sheet .item-popular input { width:17px; height:17px; flex:0 0 17px; margin:0; }
.item-editor-sheet .item-number { display:flex; flex-direction:row; align-items:center; gap:8px; color:var(--muted); font-size:12px; }
.item-editor-sheet .item-number input { width:75px; min-height:32px; padding:4px 7px; color:var(--muted); background:var(--workspace-fill); font-size:12px; }
.item-editor-sheet .option-groups-shell { border-top:1px solid var(--line); padding-top:20px; }
.item-editor-sheet .subsection-title h3 { font-size:15px; font-weight:600; }
.item-editor-sheet .modifier-editor { background:transparent; border:0; border-radius:0; border-bottom:1px solid var(--line); padding:14px 0 20px; gap:10px; }
.item-group-settings { display:grid; grid-template-columns:minmax(0,1fr) 180px 32px; gap:10px; align-items:end; }
.item-editor-sheet .modifier-row, .item-editor-sheet .modifier-head { grid-template-columns:minmax(0,1fr) 110px 32px; gap:10px; }
.item-editor-sheet .modifier-head { display:grid; font-size:11px; text-transform:none; font-weight:500; }
.item-editor-sheet .remove-row { padding:0; width:32px; min-height:42px; font-size:22px; font-weight:400; }
.item-editor-sheet .small-button { justify-self:start; color:var(--workspace-blue); background:transparent; border:0; box-shadow:none; font-size:13px; font-weight:500; padding:0 6px; }
.item-editor-sheet .item-editor-footer { flex-shrink:0; display:flex; justify-content:flex-end; gap:10px; padding:16px 24px max(16px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--white); }
.item-editor-footer button { width:auto; min-width:100px; min-height:42px; font-size:14px; font-weight:500; }
.item-editor-sheet .item-editor-footer .primary { background:var(--workspace-blue); color:light-dark(#fff,#151517); border:1px solid transparent; }
.item-editor-footer .primary:disabled { opacity:.6; cursor:wait; }
.item-editor-errors { color:var(--workspace-danger); font-size:14px; padding:12px; border:1px solid currentColor; border-radius:6px; }
.item-editor-sheet [hidden] { display:none !important; }
@media(max-width:600px) {
  .admin-slide-sheet.item-editor-sheet { height:93dvh; max-height:93dvh; }
  .item-editor-sheet .item-editor-header { padding:16px; }
  .item-editor-body { padding:20px 16px; gap:20px; }
  .item-basics { grid-template-columns:84px minmax(0,1fr); gap:14px; }
  .item-photo-preview { width:84px; height:100px; }
  .item-editor-sheet .form-row.two { grid-template-columns:1fr; gap:12px; }
  .item-editor-sheet :is(input:not([type=checkbox]),select,textarea) { font-size:16px; }
  .item-group-settings { grid-template-columns:minmax(0,1fr) 32px; }
  .item-group-settings label:nth-child(2) { grid-row:2; grid-column:1/-1; }
  .item-group-settings .remove-row { grid-column:2; grid-row:1; }
  .item-editor-sheet .modifier-row, .item-editor-sheet .modifier-head { grid-template-columns:minmax(0,1fr) 85px 32px; gap:6px; }
  .item-editor-sheet .item-editor-footer { padding:12px 16px max(12px,env(safe-area-inset-bottom)); }
}

.admin-workspace { min-width: 0; }
.admin-workspace > .admin-panel-view { padding: 1.25rem 1.5rem; }
.workspace-header { margin: 0 1.5rem; padding: 1.25rem 0; }
.workspace-header-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.workspace-preference { display: grid; gap: .2rem; color: var(--muted); font-size: .72rem; font-weight: 500; }
.workspace-preference select { padding: .4rem .5rem; width: auto; min-height: 2rem; border-radius: 6px; margin: 0; background: var(--white); }
.workspace-modern-only { display: none; }
.builder-add-status { min-height: 1.2rem; margin: .35rem 0 0; color: var(--muted); font-size: .8rem; font-weight: 400; overflow-wrap: anywhere; }
.builder-add-status.error { color: var(--workspace-danger); }
.builder-food-row > button { min-width: 5rem; }
html[data-admin-layout=modern] .builder-food-row > button:disabled { background: var(--workspace-fill); color: var(--muted); border-color: var(--line); }
[hidden] { display: none !important; }
.weekly-schedule { display: grid; gap: .4rem; }
.weekly-schedule-head, .weekly-schedule-row { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: .6rem; }
.weekly-schedule-head { color: var(--muted); font-size: .75rem; }
.weekly-schedule-row { padding: .55rem 0; border-bottom: 1px solid var(--line); }
.weekly-schedule-row label { display: flex; align-items: center; gap: .4rem; font-size: .85rem; }
.weekly-schedule-row input[type=checkbox] { width: auto; min-height: 0; }
.weekly-schedule-row input[type=time] { min-width: 0; width: 100%; padding: .6rem .3rem; font-size: .85rem; }
.weekly-schedule-row.day-disabled input[type=time] { opacity: .4; }
.weekly-schedule small { color: var(--muted); }
.menu-slide-sheet { max-height: 93dvh; }
.menu-advanced-options { border-top: 1px solid var(--line); padding-top: 1rem; }
.menu-advanced-options summary { cursor: pointer; color: var(--muted); }
.menu-advanced-options[open] > label, .menu-advanced-options[open] > div { margin-top: 1rem; }

html[data-admin-layout=modern] {
  --ink: var(--workspace-text);
  --muted: var(--workspace-muted);
  --line: var(--workspace-border);
  --white: var(--workspace-bg);
  --soft: var(--workspace-fill);
  --black: var(--workspace-text);
  --gold: var(--workspace-blue);
  --gold-soft: var(--workspace-selected);
}
html[data-admin-layout=modern] body { background: var(--workspace-bg); font-size: 14px; }
html[data-admin-layout=modern] .admin-shell { max-width: none; }
html[data-admin-layout=modern] .control-layout { grid-template-columns: 200px minmax(0, 1fr); }
html[data-admin-layout=modern] .control-layout * { letter-spacing: 0; }
html[data-admin-layout=modern] .admin-sidebar { background: var(--workspace-side); color: var(--ink); border-right: 1px solid var(--line); padding: 1.4rem .85rem; }
html[data-admin-layout=modern] .sidebar-brand { padding: .3rem .5rem 1.5rem; justify-items: start; text-transform: none; }
html[data-admin-layout=modern] .sidebar-brand strong, html[data-admin-layout=modern] .sidebar-brand span { color: var(--ink); font-weight: 500; }
html[data-admin-layout=modern] .brand-mark { display: none; }
html[data-admin-layout=modern] .nav-group-label { color: var(--muted); text-transform: none; font-weight: 500; font-size: .75rem; padding: 0 .6rem; }
html[data-admin-layout=modern] .nav-item { color: var(--ink); font-size: .86rem; padding: .7rem .65rem; min-height: 40px; border-radius: 6px; font-weight: 400; }
html[data-admin-layout=modern] .nav-item.active { color: var(--workspace-blue); background: var(--workspace-selected); box-shadow: none; }
html[data-admin-layout=modern] .logout-button { background: transparent; border: 1px solid var(--line); color: var(--muted); font-weight: 400; }
html[data-admin-layout=modern] .workspace-header { margin: 0 2rem; min-height: 91px; }
html[data-admin-layout=modern] .workspace-header h2 { font-size: 1.2rem; font-weight: 600; }
html[data-admin-layout=modern] .workspace-header p { font-size: .8rem; }
html[data-admin-layout=modern] .restaurant-switcher { border: 0; box-shadow: none; background: transparent; font-weight: 500; padding-right: 0; }
html[data-admin-layout=modern] .restaurant-switcher:hover { transform: none; box-shadow: none; }
html[data-admin-layout=modern] .restaurant-switcher strong { background: var(--workspace-fill); color: var(--ink); }
html[data-admin-layout=modern] .account-copy small { font-weight: 400; }
html[data-admin-layout=modern] .admin-workspace > .admin-panel-view { padding: 1.5rem 2rem 2rem; }
html[data-admin-layout=modern] .workspace-classic-only { display: none; }
html[data-admin-layout=modern] .workspace-modern-only { display: block; }
html[data-admin-layout=modern] .panel { border: 0; background: transparent; box-shadow: none; border-radius: 0; padding: 0; }
html[data-admin-layout=modern] .admin-workspace > .panel { padding: 1.5rem 2rem; }
html[data-admin-layout=modern] h2 { font-size: 1.4rem; font-weight: 600; }
html[data-admin-layout=modern] h3 { font-size: 1rem; font-weight: 500; }
html[data-admin-layout=modern] strong, html[data-admin-layout=modern] label { font-weight: 500; }
html[data-admin-layout=modern] button, html[data-admin-layout=modern] .secondary-action { border-radius: 7px; box-shadow: none; font-size: .85rem; font-weight: 500; min-height: 36px; }
html[data-admin-layout=modern] .primary,
html[data-admin-layout=modern] .small-button,
html[data-admin-layout=modern] .builder-add-food-button,
html[data-admin-layout=modern] .builder-actions button,
html[data-admin-layout=modern] .builder-food-row > button {
  color: light-dark(#fff, #101820); background: var(--workspace-blue); border: 1px solid transparent; box-shadow: none;
}
html[data-admin-layout=modern] .primary:hover, html[data-admin-layout=modern] .builder-add-food-button:hover { filter: brightness(.95); }
html[data-admin-layout=modern] .secondary-action, html[data-admin-layout=modern] .builder-back-button { background: var(--white); border-color: var(--line); color: var(--ink); }
html[data-admin-layout=modern] input:not([type=checkbox]):not([type=radio]),
html[data-admin-layout=modern] select, html[data-admin-layout=modern] textarea { background: var(--white); color: var(--ink); border-color: var(--line); border-radius: 6px; }
html[data-admin-layout=modern] input[type=checkbox], html[data-admin-layout=modern] input[type=radio] { accent-color: var(--workspace-blue); }
html[data-admin-layout=modern] .page-action-header { background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; margin-bottom: 1.8rem; }
html[data-admin-layout=modern] .page-action-header p { font-size: .85rem; }
html[data-admin-layout=modern] .page-action-header .eyebrow { display: none; }
html[data-admin-layout=modern] .setup-card { border-radius: 8px; }
html[data-admin-layout=modern] [data-panel=dashboard] > .setup-card { display: none; }
html[data-admin-layout=modern] .builder-flow-steps { display: none; }
html[data-admin-layout=modern] .builder-current > .panel-title small { display: none; }
html[data-admin-layout=modern] .builder-menu-tabs { background: none; border: 0; border-bottom: 1px solid var(--line); padding: 0; border-radius: 0; gap: 1.5rem; }
html[data-admin-layout=modern] .builder-menu-tabs button { background: none; border: 0; border-radius: 0; padding: .8rem 0; color: var(--muted); box-shadow: none; border-bottom: 2px solid transparent; }
html[data-admin-layout=modern] .builder-menu-tabs button.active { color: var(--workspace-blue); border-bottom-color: var(--workspace-blue); }
html[data-admin-layout=modern] .builder-menu-tabs button span { color: var(--muted); background: var(--workspace-fill); }
html[data-admin-layout=modern] .builder-sort-list { gap: 0; }
html[data-admin-layout=modern] .builder-assignment-card { background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; grid-template-columns: 28px 64px minmax(0,1fr); padding: 1.1rem 0; }
html[data-admin-layout=modern] .builder-food-thumb { width: 64px; min-width: 64px; border-radius: 7px; background: var(--workspace-fill); color: var(--muted); }
html[data-admin-layout=modern] .builder-drag-handle { width: 28px; color: var(--muted); background: none; border: 0; }
html[data-admin-layout=modern] .builder-assignment-form { grid-template-columns: minmax(100px,1fr) 90px auto auto auto; align-items: center; }
html[data-admin-layout=modern] .builder-assignment-form label { font-size: .75rem; }
html[data-admin-layout=modern] .builder-assignment-form input[type=number] { padding: .5rem; }
html[data-admin-layout=modern] .builder-actions { gap: .2rem; }
html[data-admin-layout=modern] .builder-actions button { padding: .45rem .6rem; }
html[data-admin-layout=modern] .builder-actions button[value=remove_menu_assignment] { background: transparent; color: var(--muted); border-color: var(--line); }
html[data-admin-layout=modern] .builder-empty-category { background: none; border: 0; border-radius: 0; font-size: .85rem; }
html[data-admin-layout=modern] .builder-empty-category span { display: none; }
html[data-admin-layout=modern] .builder-food-row { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
html[data-admin-layout=modern] .builder-gallery-item { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 12px; min-width: 0; }
html[data-admin-layout=modern] .builder-gallery-item > div { min-width: 0; }
html[data-admin-layout=modern] .builder-food-row .gallery-food-thumb { width: 64px; min-width: 64px; }
html[data-admin-layout=modern] .builder-gallery-item strong, html[data-admin-layout=modern] .builder-gallery-item span { overflow-wrap: anywhere; }
html[data-admin-layout=modern] .builder-gallery-item strong { white-space: normal; overflow: visible; }
html[data-admin-layout=modern] .admin-slide-sheet { background: var(--white); border-color: var(--line); border-radius: 8px; }
html[data-admin-layout=modern] .builder-category-manager-row { background: transparent; border-radius: 7px; }
.modern-menu-toolbar { display: flex; justify-content: flex-end; margin-bottom: 1.2rem; }
.modern-serving { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 0 1.7rem; border-bottom: 1px solid var(--line); }
.modern-serving > div { display: grid; gap: .6rem; }
.modern-serving small, .modern-menu-row small { display: block; color: var(--muted); font-size: .75rem; font-weight: 400; margin-top: .4rem; }
.modern-availability { color: var(--workspace-green) !important; font-size: .75rem; }
.modern-menu-head, .modern-menu-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 110px; gap: 1.5rem; align-items: center; }
.modern-menu-head { padding: 1.7rem 0 .7rem; color: var(--muted); font-size: .75rem; }
.modern-menu-head > :last-child { text-align: right; }
.modern-menu-row { border-bottom: 1px solid var(--line); padding: 1.4rem 0; }
.modern-menu-name { background: none; color: var(--ink); border: 0; padding: 0; text-align: left; overflow-wrap: anywhere; }
.modern-menu-schedule { overflow-wrap: anywhere; }
.modern-menu-actions { display: flex; justify-content: flex-end; align-items: center; gap: .2rem; }
.modern-edit { color: var(--workspace-blue); background: transparent; padding: .4rem .6rem; border: 0; }
.modern-menu-options { position: relative; }
.modern-menu-options summary { list-style: none; cursor: pointer; padding: .5rem; min-width: 32px; text-align: center; }
.modern-menu-options summary::-webkit-details-marker { display: none; }
.modern-menu-options[open] { z-index: 30; }
.modern-menu-dropdown { position: absolute; right: 0; top: 100%; width: 205px; display: grid; background: var(--white); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 30px #0002; padding: .3rem; }
.modern-menu-dropdown form { margin: 0; }
.modern-menu-dropdown button, .modern-menu-dropdown a { display: block; width: 100%; text-align: left; background: transparent; border: 0; color: var(--ink); text-decoration: none; padding: .7rem; font-size: .85rem; }
.modern-menu-dropdown button:hover, .modern-menu-dropdown a:hover { background: var(--workspace-fill); }
.modern-menu-dropdown .modern-danger { color: var(--workspace-danger); }
.modern-menu-footnote { display: block; margin-top: 1.5rem; color: var(--muted); font-size: .75rem; }
.modern-empty { padding: 3rem 0; text-align: center; color: var(--muted); }

html[data-admin-theme=dark] { --ink: #f5f5f7; --muted: #aaaab2; --white: #18181a; --line: #38383b; --soft: #29292d; }
html[data-admin-theme=dark] body { background: #18181a; }
html[data-admin-theme=dark] :is(.admin-slide-sheet, .account-dropdown, .settings-card, .order-card, .library-row, .menu-row, .menu-note, .business-row, .builder-category-manager-row, .builder-food-row, .builder-assignment-card, .builder-empty-category, .modifier-editor, .option-group, .inline-check, .upload-control) { background: var(--workspace-bg); color: var(--ink); border-color: var(--line); }
html[data-admin-theme=dark] :is(input,textarea,select) { background: #202023; color: #f5f5f7; border-color: var(--line); }
html[data-admin-theme=dark] :is(.page-action-header,.menu-status-strip > div,.dashboard-stat,.stat-card,.account-dropdown-profile,.tab-link,.secondary-action,.text-button) { background: var(--workspace-bg); color: var(--ink); border-color: var(--line); }
html[data-admin-theme=dark] .account-dropdown a, html[data-admin-theme=dark] .account-dropdown button { color: var(--ink); }

@media(max-width:1180px) {
  html[data-admin-layout=modern] .workspace-header { margin: 0 1.25rem; flex-wrap: wrap; }
  html[data-admin-layout=modern] .admin-workspace > .admin-panel-view { padding: 1.25rem; }
  html[data-admin-layout=modern] .builder-assignment-form { grid-template-columns: minmax(0,1fr) 90px; }
  html[data-admin-layout=modern] .builder-assignment-title { grid-column: 1; }
  html[data-admin-layout=modern] .builder-assignment-form > label:not(.mini-check) { grid-column: 2; grid-row: 1; }
  html[data-admin-layout=modern] .builder-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media(max-width:760px) {
  html[data-admin-layout=modern] .control-layout { grid-template-columns: minmax(0,1fr); }
  html[data-admin-layout=modern] .admin-sidebar { position: static; min-height: auto; padding: .75rem; border-bottom: 1px solid var(--line); }
  html[data-admin-layout=modern] .sidebar-brand, html[data-admin-layout=modern] .admin-sidebar > form { display: none; }
  html[data-admin-layout=modern] .admin-sidebar nav { display: flex; overflow-x: auto; gap: .3rem; }
  html[data-admin-layout=modern] .admin-sidebar .nav-group-label { display: none; }
  html[data-admin-layout=modern] .nav-item { flex: 0 0 auto; }
  .workspace-header { flex-wrap: wrap; margin: 0 1rem; }
  .workspace-header-actions { gap: .6rem; width: 100%; }
  .workspace-header .account-menu { margin-left: auto; }
  .workspace-header .account-copy { max-width: 145px; }
  .workspace-header .account-restaurant { overflow: hidden; text-overflow: ellipsis; }
  .modern-serving { flex-wrap: wrap; }
  .modern-menu-row { grid-template-columns: minmax(0,1fr) 90px; gap: .6rem; }
  .modern-menu-schedule { grid-column: 1; grid-row: 2; }
  .modern-menu-actions { grid-column: 2; grid-row: 1 / span 2; }
  .modern-menu-head { display: none; }
  .weekly-schedule-head, .weekly-schedule-row { grid-template-columns: minmax(85px,1fr) minmax(0,1fr) minmax(0,1fr); gap: .25rem; }
}
@media(max-width:420px) {
  .workspace-header .account-menu { margin-left: 0; width: 100%; }
  .workspace-header .account-copy { max-width: none; }
  html[data-admin-layout=modern] .builder-assignment-card { grid-template-columns: 20px 52px minmax(0,1fr); gap: .4rem; }
  html[data-admin-layout=modern] .builder-food-thumb { width: 52px; min-width: 52px; }
  html[data-admin-layout=modern] .builder-assignment-form { grid-template-columns: minmax(0,1fr); }
  html[data-admin-layout=modern] .builder-assignment-form > label:not(.mini-check) { grid-column: 1; grid-row: auto; }
}
@media(pointer:coarse) { .workspace-header select, .modern-menu-actions button, .modern-menu-options summary { min-height: 44px; } .weekly-schedule input[type=time] { font-size: 16px; } }
