/* Editor controls only: keep the exported menu's typography and colors intact. */
@media screen {
  body { background: #edf1ec; }
  .panel { border-color: #d0dad1; box-shadow: 0 6px 24px #243c2910; }
  .panel-head, .preview-head { background: #f7faf6; border-bottom-color: #d6dfd5; }
  .saved, .preview-note { color: #536258; font-size: 12px; }
  .field label, .small-label { color: #354a3d; font-size: 12px; }
  .field input, .dish-fields input, .dish-fields textarea, .category-name {
    min-height: 44px; border-color: #a5b5a8; background: #fff; font-size: 14px;
  }
  .field input::placeholder, .dish-fields input::placeholder,
  .dish-fields textarea::placeholder, .category-name::placeholder { color: #66766b; opacity: 1; }
  .field { gap: 8px; }
  .button, .logo-pick {
    min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
    gap: 8px; padding: 11px 16px; border: 1px solid #294d3f;
    background: #294d3f; color: #fff; font-size: 13px; font-weight: 750;
    line-height: 1.35; text-align: center; box-shadow: 0 2px 3px #20372a14;
    transition: background-color .15s, border-color .15s, box-shadow .15s;
  }
  .button.secondary, .logo-pick {
    background: #e5eee7; color: #244735; border-color: #8ca794;
  }
  .button.light { background: #294d3f; color: #fff; border-color: #294d3f; }
  .button.accent { background: #b74320; border-color: #a33a1b; color: #fff; }
  .button:hover, .logo-pick:hover { filter: none; background: #1e3d30; border-color: #1e3d30; }
  .button.secondary:hover, .logo-pick:hover { background: #d4e3d8; color: #193b28; border-color: #53795f; }
  .button.accent:hover { background: #963516; border-color: #963516; }
  .button:active, .logo-pick:active { box-shadow: inset 0 2px 4px #152a2026; }
  .button:disabled, .button:disabled:hover {
    background: #edf0ee; color: #727e75; border-color: #c9d2cb;
    box-shadow: none; opacity: 1; cursor: not-allowed;
  }
  #clearMenu { background: #fff5f1; color: #963922; border-color: #d8a594; box-shadow: none; }
  #clearMenu:hover { background: #fbe4dc; border-color: #b2664e; }
  #undoMenu:not(:disabled) { background: #e5eee7; color: #244735; border-color: #8ca794; }
  .actions { gap: 10px; }
  .editor-body > .actions {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 16px; margin: 8px -4px 18px; background: #f0f4ef;
    border: 1px solid #cad8cc; border-radius: 14px;
  }
  .editor-body > .actions > * { width: 100%; }
  .logo-pick { border-style: solid; cursor: pointer; }
  .color-row input[type=color] { width: 56px; height: 44px; border-color: #8ca794; cursor: pointer; }
  .templates { gap: 10px; margin-bottom: 8px; }
  .palette, .template {
    position: relative; border: 2px solid #b5c4b7; border-radius: 12px;
    background: #fff; padding: 11px; color: #2c4133;
    box-shadow: 0 2px 4px #2239270b; transition: border-color .15s, background-color .15s;
  }
  .palette { font-size: 12px; font-weight: 650; }
  .palette-sample { height: 30px; margin-bottom: 8px; border: 1px solid #00000014; }
  .template strong { font-size: 12px; }
  .template span { font-size: 11px; color: #596c5e; }
  .palette:hover, .template:hover { border-color: #62856a; background: #f1f7f0; }
  .palette.active, .template.active {
    border-color: #2f694a; background: #eaf4e9; box-shadow: 0 0 0 2px #2f694a1f;
  }
  .palette.active::after, .template.active::after {
    content: '✓'; position: absolute; top: 5px; right: 5px; width: 22px; height: 22px;
    display: grid; place-items: center; border-radius: 50%; background: #285c40; color: #fff;
    font: 800 14px/1 system-ui; box-shadow: 0 0 0 2px #fff;
  }
  .category-card { border-color: #bccdbf; box-shadow: 0 2px 6px #243b2908; }
  .category-top { padding: 12px; background: #e7efe5; gap: 10px; }
  .category-name { font-weight: 750; }
  .dish-card { border-color: #d7e1d6; padding: 14px; }
  .dish-card + .dish-card { border-top: 2px solid #d7e1d6; }
  .category-actions { padding: 12px; background: #f6f9f4; }
  .category-actions .button { width: 100%; }
  .text-button {
    min-height: 40px; padding: 8px 12px; border: 1px solid #d7b1a4; border-radius: 8px;
    background: #fff4ef; color: #8e3622; font-size: 12px; flex-shrink: 0;
  }
  .text-button:hover { background: #fbe2d9; border-color: #b87660; }
  .privacy { font-size: 12px; color: #53675a; }
  .status { font-size: 13px; color: #355740; }
  .status:not(:empty) { padding: 10px 12px; background: #edf4e9; border-radius: 8px; }
  .menu-languages { gap: 8px; }
  .menu-languages a { border-color: #a6b9ab; color: #294634; font-size: 13px; min-height: 40px; display: inline-flex; align-items: center; }
  .menu-languages a:hover { background: #dfebdf; border-color: #62856a; }
  .menu-languages a[aria-current=page] { background: #294d3f; border-color: #294d3f; color: #fff; }
  .button:focus-visible, .logo-pick:focus-visible, .text-button:focus-visible,
  .palette:focus-visible, .template:focus-visible, .menu-languages a:focus-visible,
  .field input:focus-visible, .dish-fields input:focus-visible,
  .dish-fields textarea:focus-visible, .category-name:focus-visible {
    outline: 3px solid #24617a; outline-offset: 3px;
  }
  @media (max-width: 540px) {
    .editor-body > .actions { padding: 12px; gap: 8px; }
    .button, .logo-pick { padding: 11px 10px; }
    .palette, .template { padding: 9px; }
    .palettes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .category-top { flex-wrap: wrap; }
    .category-name { flex: 1 1 160px; }
    .preview-head .button { font-size: 14px; min-height: 48px; }
  }
  @media (max-width: 360px) { .editor-body > .actions { grid-template-columns: 1fr; } }
  @media (prefers-reduced-motion: reduce) { .button, .logo-pick, .palette, .template { transition: none; } }
}
