.menu-editor {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: none;
  grid-template-rows: 72px 58px minmax(0, 1fr);
  color: #171717;
  background: #f3f4f5;
  font-family: "SUIT", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  letter-spacing: 0;
}

.menu-editor.is-open { display: grid; }
.editor-header { display: flex; align-items: center; gap: 14px; padding: 0 22px; color: #fff; background: #1d1f20; border-top: 4px solid #f15a00; }
.editor-header h1 { margin: 0 auto 0 0; font-size: 25px; font-weight: 900; }
.editor-header button, .editor-tabs button, .editor-action { min-height: 40px; border: 1px solid #c8cacc; border-radius: 5px; padding: 0 16px; color: #171717; background: #fff; font: inherit; font-size: 15px; font-weight: 800; }
.editor-header .primary { color: #fff; background: #f15a00; border-color: #f15a00; }
.editor-header .danger { color: #d33b00; border-color: #d33b00; }
.editor-tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; padding: 8px 18px; background: #e0e2e3; }
.editor-tabs button { min-height: 42px; border: 0; border-radius: 3px; background: #fff; }
.editor-tabs button.is-active { color: #fff; background: #f15a00; }
.editor-content { overflow: auto; padding: 18px 22px 40px; overscroll-behavior: contain; }
.editor-intro { display: flex; align-items: baseline; gap: 12px; margin: 0 0 14px; }
.editor-intro h2 { margin: 0; font-size: 23px; font-weight: 900; }
.editor-intro p { margin: 0; color: #666; font-size: 13px; font-weight: 650; }
.editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.editor-card { min-width: 0; padding: 15px; background: #fff; border: 1px solid #d5d7d8; border-radius: 6px; }
.editor-card h3 { margin: 0 0 12px; font-size: 18px; font-weight: 900; }
.editor-card-title { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.editor-card-title h3 { margin: 0; }
.editor-price-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.editor-price-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 9px; padding-top: 9px; border-top: 1px solid #e3e4e5; }
.editor-field { display: grid; gap: 5px; min-width: 0; }
.editor-field label { overflow: hidden; color: #555; font-size: 12px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
.editor-field input { width: 100%; height: 38px; min-width: 0; border: 1px solid #bfc2c4; border-radius: 4px; padding: 0 9px; color: #171717; background: #fff; font: inherit; font-size: 16px; font-weight: 750; }
.editor-field input:focus { outline: 3px solid #ffd2b8; border-color: #f15a00; }
.editor-table { display: grid; gap: 8px; }
.editor-row { display: grid; grid-template-columns: 34px minmax(120px, 1fr) 145px 42px; gap: 8px; align-items: end; }
.editor-fixed-row { grid-template-columns: 34px minmax(160px, 1fr) 180px; align-items: center; }
.editor-fixed-block { padding: 10px; border: 1px solid #e0e1e2; border-radius: 5px; }
.editor-row.drink-option { grid-template-columns: minmax(100px, 1fr) 145px 42px; margin-left: 18px; }
.editor-row input { width: 100%; height: 38px; min-width: 0; border: 1px solid #bfc2c4; border-radius: 4px; padding: 0 9px; font: inherit; font-size: 15px; font-weight: 700; }
.editor-delete { width: 38px; height: 38px; border: 1px solid #d6a493; border-radius: 4px; color: #bc3e11; background: #fff7f3; font-size: 22px; font-weight: 700; }
.editor-action { margin-top: 12px; color: #d94d00; border-color: #f15a00; }
.editor-drink { padding: 12px; border: 1px solid #e0e1e2; border-radius: 5px; }
.editor-drink + .editor-drink { margin-top: 10px; }
.editor-drink-title { display: grid; grid-template-columns: 34px minmax(130px, 1fr) 42px; gap: 8px; margin-bottom: 9px; }
.editor-drink-title input { height: 40px; border: 1px solid #bfc2c4; border-radius: 4px; padding: 0 10px; font: inherit; font-size: 16px; font-weight: 850; }
.editor-drag-handle { display: grid; width: 34px; height: 38px; place-items: center; padding: 0; color: #666; background: #f5f6f6; border: 1px solid #c7c9ca; border-radius: 4px; cursor: grab; touch-action: none; }
.editor-drag-handle:active { cursor: grabbing; }
.editor-drag-handle span { display: block; margin-left: -4px; font-size: 22px; font-weight: 900; line-height: 1; letter-spacing: -7px; }
.editor-sortable { transition: opacity 120ms ease, box-shadow 120ms ease, transform 120ms ease; }
.editor-sortable.is-dragging { opacity: .96; box-shadow: 0 14px 34px rgb(0 0 0 / 28%); transform: rotate(.35deg) scale(1.015); }
.editor-drag-placeholder { min-width: 0; background: #fff2e8; border: 2px dashed #f15a00; border-radius: 6px; }
.editor-empty { padding: 28px; color: #666; text-align: center; border: 1px dashed #bbb; border-radius: 5px; }
.editor-status { position: fixed; z-index: 10001; right: 22px; bottom: 20px; display: none; padding: 12px 18px; color: #fff; background: #1d1f20; border-radius: 5px; font-size: 14px; font-weight: 800; }
.editor-status.is-visible { display: block; }

@media (max-width: 1000px) {
  .editor-grid { grid-template-columns: 1fr; }
}
