.menu-editor { margin-bottom: 1.75rem; }
.menu-editor fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.menu-editor .form-actions, .menu-row-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.menu-editor textarea, .menu-editor select, .toolbar select { box-sizing: border-box; width: 100%; padding: .75rem; font: inherit; border: 1px solid #dbe3eb; border-radius: .6rem; background: var(--surface); color: var(--text); }
.menu-editor .field-grid { margin-top: 1rem; }
.menu-editor .menu-checkbox { display: flex; align-items: center; gap: .65rem; }
.menu-editor .menu-checkbox input { width: auto; }
.menu-image-preview { width: 180px; max-height: 180px; object-fit: contain; border-radius: .7rem; }
.menu-item-cell { display: flex; gap: .8rem; align-items: center; min-width: 180px; }
.menu-item-cell img { width: 64px; height: 64px; object-fit: cover; border-radius: .6rem; }
.menu-item-cell small { display: block; color: var(--muted); max-width: 320px; overflow-wrap: anywhere; }
.menu-notice { padding: 1rem; border-radius: .7rem; background: #dcf4e6; color: #185b36; }
.menu-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.menu-overview a { color: inherit; text-decoration: none; }
button:disabled { opacity: .6; cursor: not-allowed; }

.menu-filter-toolbar { align-items: flex-end; gap: .75rem; }
.menu-filter-toolbar .category-filter { display: grid; flex: 0 1 20rem; gap: .4rem; color: #405367; font-size: .76rem; font-weight: 800; }
.menu-filter-toolbar .category-filter select { min-height: 2.75rem; margin: 0; }
.menu-filter-toolbar .refresh-button { min-width: 7.2rem; }
.menu-filter-toolbar .refresh-button > span[aria-hidden] { font-size: 1.05rem; line-height: 1; }

/* Restaurant workspace rhythm and controls. */
.dashboard-workspace .page-heading {
    align-items: center;
    gap: 2rem;
    margin-bottom: 1.5rem;
}

.dashboard-workspace .page-heading > div { min-width: 0; }
.dashboard-workspace .page-heading p { line-height: 1.55; }

.dashboard-workspace .page-primary-action {
    min-width: 10rem;
    min-height: 3rem;
    align-self: flex-end;
    justify-content: center;
    gap: .55rem;
    padding-inline: 1.25rem;
    border-radius: .72rem;
    box-shadow: 0 6px 16px rgba(17, 35, 59, .12);
}

.dashboard-workspace .page-primary-action > span[aria-hidden] {
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1;
}

.dashboard-workspace .primary-button,
.dashboard-workspace .secondary-button,
.dashboard-workspace .text-button {
    min-height: 2.75rem;
    gap: .4rem;
    padding: .68rem 1.05rem;
    white-space: nowrap;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.dashboard-workspace .primary-button:hover:not(:disabled),
.dashboard-workspace .secondary-button:hover:not(:disabled),
.dashboard-workspace .text-button:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(17, 35, 59, .1);
}

.dashboard-workspace .data-panel,
.dashboard-workspace .form-panel {
    overflow: hidden;
    border-radius: .9rem;
}

.dashboard-workspace .form-panel { padding: 1.6rem; }
.dashboard-workspace .form-panel > h2 { margin: 0 0 1.25rem; }

.dashboard-workspace .field-grid {
    gap: 1.15rem;
    margin-top: 1.15rem;
}

.dashboard-workspace .field-grid label {
    display: block;
    line-height: 1.35;
}

.dashboard-workspace .field-grid input,
.dashboard-workspace .menu-editor select,
.dashboard-workspace .menu-editor textarea {
    min-height: 2.8rem;
}

.dashboard-workspace .menu-editor textarea {
    min-height: 6rem;
    resize: vertical;
}

.dashboard-workspace .form-actions {
    align-items: center;
    gap: .75rem;
    margin-top: 1.6rem;
}

.dashboard-workspace .empty-state {
    min-height: 13rem;
    box-sizing: border-box;
    align-content: center;
    padding: 3rem 1.5rem;
}

.dashboard-workspace .empty-state h2 {
    margin: 0 0 .55rem;
    color: var(--text);
    font-size: 1.25rem;
}

.dashboard-workspace .empty-state p {
    max-width: 34rem;
    margin-bottom: 1.25rem;
    line-height: 1.55;
}

.menu-overview { gap: 1.15rem; }
.menu-overview .form-panel { min-height: 7.8rem; }
.menu-overview h2 { margin: 0 0 .8rem; color: var(--text); }
.menu-overview p { margin: 0; color: var(--muted); line-height: 1.6; }

.menu-overview a {
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.menu-overview a:hover {
    border-color: color-mix(in srgb, var(--brand-cyan) 58%, transparent);
    box-shadow: 0 10px 28px rgba(17, 35, 59, .09);
    transform: translateY(-2px);
}

[data-theme=dark] .dashboard-workspace .field-grid label,
[data-theme=dark] .dashboard-workspace .form-panel > h2,
[data-theme=dark] .dashboard-workspace .toolbar label {
    color: #dce8f1;
}

[data-theme=dark] .dashboard-nav a.active {
    border-color: #44cddf;
    background: #17364d;
    color: #fff;
}

@media (max-width: 620px) {
    .dashboard-workspace .page-heading { align-items: stretch; gap: 1rem; }
    .dashboard-workspace .page-primary-action { width: 100%; align-self: stretch; }
    .dashboard-workspace .form-panel { padding: 1.2rem; }
    .dashboard-workspace .form-actions > * { flex: 1 1 auto; }
    .menu-filter-toolbar .category-filter,
    .menu-filter-toolbar .refresh-button { width: 100%; max-width: none; }
    .menu-filter-toolbar .category-filter { flex: 0 0 auto; }
    .menu-filter-toolbar .category-filter select { min-height: 3rem; }
}
.editor-scroll-target{scroll-margin-top:5.5rem}
