[x-cloak] {
  display: none !important;
}

.admin-menu-screen,
.admin-category-screen,
.admin-badges-screen,
.admin-modifiers-screen,
.admin-orders-screen,
.admin-edit-screen,
.admin-login-screen,
.admin-page-head {
  --admin-bg: #f7f7f5;
  --admin-panel: #ffffff;
  --admin-line: #e6e2da;
  --admin-line-strong: #d8d2c7;
  --admin-text: #252525;
  --admin-muted: #706f6b;
  --admin-soft: #f2f0eb;
  --admin-primary: #2f6f5e;
  --admin-primary-soft: #e3f0eb;
  --admin-warning: #9a6700;
  --admin-warning-soft: #fff3c4;
  --admin-success: #1f7a4d;
  --admin-success-soft: #def3e8;
  color: var(--admin-text);
}

.admin-menu-screen,
.admin-category-screen,
.admin-badges-screen,
.admin-modifiers-screen,
.admin-orders-screen {
  max-width: 1180px;
}

.admin-page-head {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}

.admin-page-title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0;
}

.admin-page-subtitle,
.admin-help-text,
.admin-row-meta {
  color: var(--admin-muted);
  font-size: 13px;
  line-height: 1.35;
  margin: 0;
}

.admin-row-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}

.admin-panel {
  background: var(--admin-panel);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  overflow: hidden;
}

.admin-toolbar {
  align-items: center;
  background: var(--admin-bg);
  border-bottom: 1px solid var(--admin-line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding: 12px 14px;
}

.admin-toolbar--stats {
  justify-content: flex-start;
}

.admin-stat {
  align-items: baseline;
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  display: inline-flex;
  gap: 8px;
  min-height: 38px;
  padding: 8px 10px;
}

.admin-stat__label {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
}

.admin-stat strong {
  color: var(--admin-text);
  font-size: 15px;
  line-height: 1;
}

.admin-segmented {
  background: var(--admin-soft);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  display: inline-flex;
  gap: 2px;
  padding: 3px;
}

.admin-segmented__button,
.admin-tab-button {
  align-items: center;
  border: 0;
  border-radius: 6px;
  color: var(--admin-text);
  display: inline-flex;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
  min-height: 32px;
  padding: 6px 10px;
  white-space: nowrap;
}

.admin-segmented__button {
  background: transparent;
}

.admin-segmented__button.is-active,
.admin-tab-button.is-active {
  background: var(--admin-primary);
  color: #ffffff;
}

.admin-segmented__button.is-warning {
  background: var(--admin-warning);
}

.admin-segmented__button.is-success {
  background: var(--admin-success);
}

.admin-segmented__button.is-danger {
  background: #b42318;
}

.admin-tabstrip {
  border-bottom: 1px solid var(--admin-line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px;
}

.admin-tab-button {
  background: #ffffff;
  border: 1px solid var(--admin-line);
  cursor: grab;
}

.admin-tab-button.is-active .admin-count,
.admin-segmented__button.is-active .admin-count {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.admin-count,
.admin-chip {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  min-height: 20px;
  padding: 4px 7px;
}

.admin-count {
  background: #ffffff;
  border: 1px solid var(--admin-line);
  color: var(--admin-muted);
}

.admin-chip--muted {
  background: var(--admin-soft);
  color: var(--admin-muted);
}

.admin-chip--warning {
  background: var(--admin-warning-soft);
  color: var(--admin-warning);
}

.admin-chip--success {
  background: var(--admin-success-soft);
  color: var(--admin-success);
}

.admin-chip--danger {
  background: #fee4e2;
  color: #b42318;
}

.admin-list {
  display: grid;
}

.admin-category-list {
  display: grid;
}

.admin-empty {
  color: var(--admin-muted);
  padding: 18px 14px;
}

.admin-row {
  align-items: center;
  border-bottom: 1px solid var(--admin-line);
  display: grid;
  gap: 12px;
  grid-template-columns: 32px 52px minmax(180px, 1fr) 104px minmax(220px, auto);
  min-height: 76px;
  padding: 11px 14px;
}

.admin-row:last-child {
  border-bottom: 0;
}

.admin-row--ghost {
  background: var(--admin-primary-soft);
}

.admin-drag-handle,
.admin-icon-btn {
  align-items: center;
  appearance: none;
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  color: var(--admin-muted);
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}

.admin-drag-handle {
  cursor: grab;
}

.admin-drag-handle svg,
.admin-icon-btn svg,
.admin-action-link svg {
  height: 16px;
  stroke-width: 2;
  width: 16px;
}

.admin-thumb {
  aspect-ratio: 1;
  background: var(--admin-soft);
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  height: 52px;
  object-fit: cover;
  width: 52px;
}

.admin-thumb--empty {
  background: linear-gradient(135deg, #f4f2ee, #ebe6dc);
}

.admin-row-main {
  min-width: 0;
}

.admin-row-titleline {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.admin-row-title {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-price {
  text-align: right;
  white-space: nowrap;
}

.admin-price__current {
  font-size: 14px;
  font-weight: 800;
}

.admin-price__old {
  color: var(--admin-muted);
  font-size: 12px;
  text-decoration: line-through;
}

.admin-row-actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.admin-icon-btn--active {
  background: var(--admin-success-soft);
  border-color: #a7d8bf;
  color: var(--admin-success);
}

.admin-icon-btn--danger {
  color: #b42318;
}

.admin-icon-btn--danger:hover,
.admin-button--danger {
  background: #fee4e2;
  border-color: #fda29b;
  color: #b42318;
}

.admin-category-row {
  border-bottom: 1px solid var(--admin-line);
  display: grid;
}

.admin-badge-row {
  border-bottom: 1px solid var(--admin-line);
  display: grid;
}

.admin-modifier-row {
  border-bottom: 1px solid var(--admin-line);
  display: grid;
}

.admin-category-row:last-child {
  border-bottom: 0;
}

.admin-badge-row:last-child {
  border-bottom: 0;
}

.admin-modifier-row:last-child {
  border-bottom: 0;
}

.admin-category-row__summary {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 32px minmax(180px, 1fr) 74px minmax(136px, auto);
  min-height: 76px;
  padding: 12px 14px;
}

.admin-badge-row__summary {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 48px minmax(180px, 1fr) 74px minmax(136px, auto);
  min-height: 76px;
  padding: 12px 14px;
}

.admin-modifier-row__summary {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 44px minmax(220px, 1fr) 74px minmax(112px, auto);
  min-height: 82px;
  padding: 12px 14px;
}

.admin-modifier-icon {
  align-items: center;
  background: var(--admin-soft);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  color: var(--admin-muted);
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.admin-modifier-icon--visible {
  background: var(--admin-success-soft);
  border-color: rgba(40, 167, 69, 0.26);
  color: var(--admin-success);
}

.admin-modifier-icon svg {
  height: 19px;
  stroke-width: 2;
  width: 19px;
}

.admin-button svg {
  height: 16px;
  stroke-width: 2;
  width: 16px;
}

.admin-category-count {
  color: var(--admin-muted);
  display: grid;
  font-size: 12px;
  gap: 2px;
  justify-items: end;
  line-height: 1.1;
  white-space: nowrap;
}

.admin-category-count strong {
  color: var(--admin-text);
  font-size: 17px;
  line-height: 1;
}

.admin-orders-list {
  display: grid;
}

.admin-order-header {
  align-items: center;
  background: var(--admin-bg);
  border-bottom: 1px solid var(--admin-line);
  color: var(--admin-muted);
  display: grid;
  font-size: 12px;
  font-weight: 800;
  gap: 12px;
  grid-template-columns: 58px minmax(150px, 1fr) minmax(170px, 1.1fr) 136px 128px 128px 96px 32px;
  padding: 10px 14px;
}

.admin-order-row {
  border-bottom: 1px solid var(--admin-line);
  display: grid;
}

.admin-order-row:last-child {
  border-bottom: 0;
}

.admin-order-summary-row {
  align-items: center;
  appearance: none;
  background: #ffffff;
  border: 0;
  color: var(--admin-text);
  display: grid;
  font: inherit;
  gap: 12px;
  grid-template-columns: 58px minmax(150px, 1fr) minmax(170px, 1.1fr) 136px 128px 128px 96px 32px;
  min-height: 64px;
  padding: 12px 14px;
  text-align: left;
  width: 100%;
}

.admin-order-summary-row:hover {
  background: var(--admin-bg);
}

.admin-order-banquet {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-order-banquet strong,
.admin-order-guest strong {
  font-size: 15px;
  line-height: 1.15;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-order-banquet span,
.admin-order-guest span {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 700;
}

.admin-order-guest {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-order-chevron {
  align-items: center;
  color: var(--admin-muted);
  display: inline-flex;
  justify-content: center;
}

.admin-order-chevron svg {
  height: 16px;
  stroke-width: 2;
  width: 16px;
}

.admin-order-details {
  background: var(--admin-bg);
  border-top: 1px solid var(--admin-line);
  display: grid;
  gap: 12px;
  padding: 14px;
}

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

.admin-order-detail-card,
.admin-order-detail-section {
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  padding: 11px;
}

.admin-order-detail-label {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 5px;
}

.admin-order-detail-value {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.admin-order-detail-muted {
  color: var(--admin-muted);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 4px;
}

.admin-order-titleline {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.admin-order-titleline strong {
  font-size: 15px;
  line-height: 1.25;
}

.admin-order-number,
.admin-order-created {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.admin-order-summary {
  color: var(--admin-text);
  font-size: 13px;
  line-height: 1.45;
}

.admin-order-items {
  display: grid;
  gap: 8px;
}

.admin-order-item {
  align-items: start;
  border-bottom: 1px solid var(--admin-line);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0 0 8px;
}

.admin-order-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.admin-order-item__main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-order-item__main strong {
  font-size: 13px;
  line-height: 1.3;
}

.admin-order-item__main span {
  color: var(--admin-muted);
  font-size: 12px;
  line-height: 1.35;
}

.admin-order-item__total {
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.admin-order-comment {
  background: var(--admin-bg);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  color: var(--admin-muted);
  font-size: 13px;
  line-height: 1.45;
  padding: 9px 10px;
}

.admin-order-total {
  font-size: 14px;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.admin-pagination {
  align-items: center;
  background: var(--admin-bg);
  border-top: 1px solid var(--admin-line);
  color: var(--admin-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 10px;
  justify-content: flex-end;
  padding: 12px 14px;
}

.admin-pagination .is-disabled {
  opacity: 0.46;
  pointer-events: none;
}

.admin-badges-list {
  display: grid;
}

.admin-badge-create {
  background: var(--admin-bg);
  border-bottom: 1px solid var(--admin-line);
  padding: 14px;
}

.admin-badge-sample {
  align-items: center;
  display: flex;
  justify-content: center;
}

.admin-badge-editor-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 180px minmax(0, 1fr);
}

.admin-badge-preview-card {
  align-content: center;
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  justify-items: center;
  min-height: 176px;
  padding: 14px;
  text-align: center;
}

.admin-badge-preview-card strong {
  font-size: 15px;
  line-height: 1.25;
}

.admin-badge-preview-card span:last-child {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 700;
}

.admin-badge-form {
  display: grid;
  gap: 0 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-badge-form .admin-form-field:nth-child(3) {
  grid-column: 1 / -1;
}

.admin-color-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-color-swatch {
  appearance: none;
  background: var(--swatch-color);
  border: 2px solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px var(--admin-line-strong);
  height: 28px;
  padding: 0;
  width: 28px;
}

.admin-color-swatch.is-selected {
  box-shadow: 0 0 0 2px var(--admin-text);
}

.admin-checkline {
  align-items: center;
  color: var(--admin-text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
}

.admin-checkline input {
  height: 16px;
  margin: 0;
  width: 16px;
}

.admin-category-editor {
  background: var(--admin-bg);
  border-top: 1px solid var(--admin-line);
  padding: 14px;
}

.admin-category-editor__head {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.admin-category-editor__head h3 {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 4px;
}

.admin-category-editor__head p {
  color: var(--admin-muted);
  font-size: 13px;
  line-height: 1.35;
  margin: 0;
}

.admin-category-form {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
}

.admin-category-editor__actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 14px;
}

.admin-confirm-backdrop {
  background: rgba(37, 37, 37, 0.48);
  display: grid;
  inset: 0;
  padding: 20px;
  place-items: center;
  position: fixed;
  z-index: 9998;
}

.admin-confirm-dialog {
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(37, 37, 37, 0.2);
  padding: 20px;
  width: min(460px, 100%);
}

.admin-confirm-head {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.admin-confirm-head h3 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0;
}

.admin-confirm-text {
  color: var(--admin-muted);
  line-height: 1.5;
  margin: 0;
}

.admin-confirm-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 20px;
}

.admin-icon-btn--star.admin-icon-btn--active svg {
  fill: none;
}

.admin-badge-dot,
.admin-badge-pill {
  --badge-color: var(--admin-primary);
  align-items: center;
  background: color-mix(in srgb, var(--badge-color) 14%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--badge-color) 38%, transparent);
  color: color-mix(in srgb, var(--badge-color) 72%, var(--admin-text));
  display: inline-flex;
}

.admin-badge-dot {
  border-radius: 999px;
  flex: 0 0 auto;
  height: 24px;
  justify-content: center;
  line-height: 0;
  position: relative;
  width: 24px;
}

.admin-badge-dot--preview {
  height: 28px;
  width: 28px;
}

.admin-badge-dot--select {
  height: 22px;
  width: 22px;
}

.admin-badge-dot svg,
.admin-badge-pill svg {
  display: block;
  height: 14px;
  position: relative;
  stroke-width: 2.2;
  width: 14px;
  z-index: 1;
}

.admin-badge-pill {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  gap: 6px;
  min-height: 28px;
  padding: 5px 8px;
}

.admin-action-link {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  color: var(--admin-text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  height: 32px;
  padding: 0 10px;
  text-decoration: none;
  white-space: nowrap;
}

.admin-button {
  align-items: center;
  appearance: none;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  display: inline-flex;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  justify-content: center;
  min-height: 38px;
  padding: 8px 13px;
  text-decoration: none;
}

.admin-button--primary {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: #ffffff;
}

.admin-button--secondary {
  background: var(--admin-primary-soft);
  border-color: #bdd8cd;
  color: var(--admin-primary);
}

.admin-button--ghost {
  background: #ffffff;
  color: var(--admin-text);
}

.admin-switch {
  margin: 0;
  min-width: 48px;
}

.admin-toast {
  bottom: 16px;
  position: fixed;
  right: 16px;
  z-index: 9999;
}

.admin-toast__message {
  background: var(--admin-success);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(37, 37, 37, 0.14);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 14px;
}

.admin-toast__message--error {
  background: #b42318;
}

.admin-page-head--compact {
  max-width: 1180px;
}

.admin-edit-screen {
  max-width: 1180px;
}

.admin-edit-hero {
  align-items: center;
  background: var(--admin-panel);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  grid-template-columns: 176px minmax(0, 1fr);
  margin-bottom: 14px;
  padding: 14px;
}

.admin-edit-preview {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: var(--admin-soft);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  display: flex;
  justify-content: center;
  overflow: hidden;
  width: 176px;
}

.admin-login-screen {
  align-items: center;
  background:
    linear-gradient(180deg, rgba(247, 247, 245, 0.96), rgba(242, 240, 235, 0.96)),
    url("/static/img/wall-graffiti.jpg") center / cover;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
}

.admin-login-card {
  background: var(--admin-panel);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  box-shadow: 0 18px 60px rgba(37, 37, 37, 0.12);
  display: grid;
  gap: 18px;
  max-width: 420px;
  padding: 24px;
  width: min(100%, 420px);
}

.admin-login-brand {
  align-items: center;
  display: flex;
  gap: 14px;
}

.admin-login-logo {
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  height: 64px;
  object-fit: contain;
  padding: 8px;
  width: 64px;
}

.admin-login-brand h1 {
  color: var(--admin-text);
  font-size: 24px;
  line-height: 1.1;
  margin: 0;
}

.admin-login-brand p {
  color: var(--admin-muted);
  font-size: 14px;
  margin: 4px 0 0;
}

.admin-login-alert {
  background: #fff1f2;
  border: 1px solid #fecdd3;
  border-radius: 8px;
  color: #9f1239;
  font-size: 14px;
  padding: 10px 12px;
}

.admin-login-fields {
  display: grid;
  gap: 12px;
}

.admin-login-remember {
  margin: -2px 0 0;
}

.admin-login-submit {
  justify-content: center;
  min-height: 44px;
  width: 100%;
}

.admin-edit-preview img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.admin-edit-preview.is-empty,
.admin-edit-preview__empty {
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.admin-edit-hero__main {
  min-width: 0;
}

.admin-edit-eyebrow {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.admin-edit-title {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 10px;
}

.admin-edit-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.admin-upload-button {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  color: var(--admin-text);
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
  margin-top: 14px;
  min-height: 36px;
  padding: 0 11px;
}

.admin-upload-button svg {
  height: 16px;
  stroke-width: 2;
  width: 16px;
}

.admin-upload-button input {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.admin-upload-error {
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
  margin-top: 6px;
}

.admin-service-note {
  color: var(--admin-muted);
  display: grid;
  font-size: 12px;
  gap: 7px;
  line-height: 1.35;
  margin-top: 12px;
}

.admin-badge-preview {
  background: var(--admin-bg);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  margin-top: 10px;
  padding: 11px;
}

.admin-badge-preview__title {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 8px;
}

.admin-badge-preview__items {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.admin-badge-preview__empty,
.admin-badge-preview__hint {
  color: var(--admin-muted);
  font-size: 12px;
  line-height: 1.35;
}

.admin-badge-preview__hint {
  margin-top: 8px;
}

.admin-modifier-list {
  display: grid;
  gap: 12px;
}

.admin-modifier-group {
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  padding: 12px;
  background: var(--admin-soft);
}

.admin-modifier-group__head {
  display: grid;
  gap: 4px;
  margin-bottom: 8px;
}

.admin-modifier-group__head strong {
  color: var(--admin-text);
  font-size: 14px;
}

.admin-modifier-group__head span,
.admin-modifier-options {
  color: var(--admin-muted);
  font-size: 12px;
}

.admin-modifier-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-modifier-options span {
  border: 1px solid var(--admin-line);
  border-radius: 999px;
  background: var(--admin-panel);
  padding: 4px 8px;
}

.admin-modifier-preview,
.admin-modifier-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
  min-width: 0;
}

.admin-modifier-preview span,
.admin-modifier-rules span {
  background: var(--admin-soft);
  border: 1px solid var(--admin-line);
  border-radius: 999px;
  color: var(--admin-muted);
  font-size: 12px;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  padding: 4px 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-icon-btn--locked,
.admin-icon-btn--locked:hover {
  background: var(--admin-soft);
  color: var(--admin-muted);
  cursor: not-allowed;
  opacity: 0.72;
}

.admin-modifier-detail {
  border-top: 1px solid var(--admin-line);
  padding: 14px;
}

.admin-modifier-detail__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
}

.admin-modifier-detail h3 {
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 10px;
}

.admin-modifier-dishes {
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  display: grid;
  overflow: hidden;
}

.admin-modifier-dish {
  align-items: center;
  background: var(--admin-panel);
  border-bottom: 1px solid var(--admin-line);
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  min-height: 42px;
  padding: 9px 10px;
}

.admin-modifier-dish:last-child {
  border-bottom: 0;
}

.admin-modifier-dish span {
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 700;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-modifier-dish strong,
.admin-modifier-dish em {
  color: var(--admin-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.admin-modifier-dish--muted,
.admin-modifier-dish--muted span {
  color: var(--admin-muted);
}

.admin-form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.admin-form-card {
  background: var(--admin-panel);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  padding: 14px;
}

.admin-form-card--main {
  grid-row: span 3;
}

.admin-form-card__head {
  border-bottom: 1px solid var(--admin-line);
  margin: -2px 0 14px;
  padding-bottom: 10px;
}

.admin-form-card__head h3 {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
}

.admin-form-two {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-form-field {
  margin-bottom: 12px;
  min-width: 0;
}

.admin-form-field--wide {
  grid-column: 1 / -1;
}

.admin-form-field .form-label {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  margin-bottom: 5px;
}

.admin-form-field .form-control,
.admin-form-field .form-select,
.admin-form-field .select2-selection {
  border-color: var(--admin-line-strong);
  border-radius: 7px;
  min-height: 38px;
}

.admin-form-field[data-admin-field="badge_ids"] .select2-selection__choice {
  align-items: center;
  display: inline-flex;
  gap: 3px;
  min-height: 28px;
}

.admin-form-field[data-admin-field="badge_ids"] .select2-selection__choice__remove {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  margin-right: 4px;
  position: static;
}

.admin-form-field[data-admin-field="badge_ids"] .select2-selection__choice__display {
  align-items: center;
  display: inline-flex;
  padding-left: 0;
}

.admin-form-field textarea.form-control {
  min-height: 140px;
}

.admin-form-field .form-hint {
  color: var(--admin-muted);
  display: block;
  font-size: 12px;
  line-height: 1.35;
  margin-top: 6px;
}

.admin-toggle-list {
  display: grid;
  gap: 10px;
}

.admin-toggle-list .admin-form-field {
  align-items: center;
  background: var(--admin-bg);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 10px 12px;
}

.admin-toggle-list .form-label {
  margin: 0;
}

.admin-toggle-list .form-check {
  margin: 0;
}

.admin-savebar {
  align-items: center;
  background: rgba(247, 247, 245, 0.94);
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  bottom: 12px;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 14px;
  padding: 10px;
  position: sticky;
  z-index: 20;
}

@media (max-width: 760px) {
  .admin-row {
    align-items: start;
    grid-template-columns: 32px 48px minmax(0, 1fr);
  }

  .admin-category-row__summary {
    align-items: start;
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .admin-badge-row__summary {
    align-items: start;
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .admin-modifier-row__summary {
    align-items: start;
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .admin-order-header {
    display: none;
  }

  .admin-order-summary-row {
    align-items: start;
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .admin-order-summary-row .admin-chip,
  .admin-order-guest,
  .admin-order-created,
  .admin-order-total,
  .admin-order-chevron {
    grid-column: 2;
    text-align: left;
  }

  .admin-order-detail-grid {
    grid-template-columns: 1fr;
  }

  .admin-price,
  .admin-row-actions,
  .admin-category-count {
    justify-content: flex-start;
    text-align: left;
  }

  .admin-row .admin-price,
  .admin-row .admin-row-actions {
    grid-column: 3;
  }

  .admin-category-row .admin-row-actions,
  .admin-category-row .admin-category-count {
    grid-column: 2;
  }

  .admin-badge-row .admin-row-actions,
  .admin-badge-row .admin-category-count {
    grid-column: 2;
  }

  .admin-modifier-row .admin-row-actions,
  .admin-modifier-row .admin-category-count {
    grid-column: 2;
  }

  .admin-modifier-detail__grid,
  .admin-modifier-dish {
    grid-template-columns: 1fr;
  }

  .admin-modifier-dish {
    align-items: start;
    gap: 4px;
  }

  .admin-category-count {
    justify-items: start;
  }

  .admin-toolbar {
    align-items: stretch;
  }

  .admin-segmented {
    overflow-x: auto;
    width: 100%;
  }

  .admin-category-form,
  .admin-badge-editor-grid,
  .admin-badge-form,
  .admin-edit-hero,
  .admin-form-grid,
  .admin-form-two {
    grid-template-columns: 1fr;
  }

  .admin-edit-preview {
    width: min(100%, 176px);
  }

  .admin-savebar {
    align-items: stretch;
    flex-direction: column;
  }
}
