/* ============================================
   Kunden-Dashboard – Professional UI
   ============================================ */

/* display:flex/grid in components must not override the HTML hidden attribute */
.dmm-cd [hidden] {
    display: none !important;
}

:root {
    --dmm-cd-primary: #5b52f0;
    --dmm-cd-primary-hover: #4a41e8;
    --dmm-cd-primary-soft: rgba(91, 82, 240, 0.1);
    --dmm-cd-primary-ring: rgba(91, 82, 240, 0.22);
    --dmm-cd-bg: #f4f6fb;
    --dmm-cd-bg-mesh:
        radial-gradient(ellipse 80% 50% at 0% -20%, rgba(91, 82, 240, 0.09), transparent 50%),
        radial-gradient(ellipse 60% 40% at 100% 0%, rgba(56, 189, 248, 0.07), transparent 45%),
        radial-gradient(ellipse 50% 30% at 50% 100%, rgba(167, 139, 250, 0.05), transparent 50%),
        #f4f6fb;
    --dmm-cd-sidebar-bg: #ffffff;
    --dmm-cd-sidebar-gradient: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
    --dmm-cd-sidebar-text: #0f172a;
    --dmm-cd-sidebar-muted: #64748b;
    --dmm-cd-sidebar-border: rgba(15, 23, 42, 0.06);
    --dmm-cd-card-bg: #ffffff;
    --dmm-cd-border: rgba(15, 23, 42, 0.08);
    --dmm-cd-border-strong: rgba(15, 23, 42, 0.12);
    --dmm-cd-radius: 12px;
    --dmm-cd-radius-card: 20px;
    --dmm-cd-radius-xl: 24px;
    --dmm-cd-radius-input: 12px;
    --dmm-cd-radius-pill: 999px;
    --dmm-cd-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    --dmm-cd-shadow-lg: 0 24px 48px -12px rgba(15, 23, 42, 0.12);
    --dmm-cd-topbar-bg: rgba(255, 255, 255, 0.82);
    --dmm-cd-topbar-gradient: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);
    --dmm-cd-topbar-text: #0f172a;
    --dmm-cd-accent: #f97316;
    --dmm-cd-save-bar-bg: #fef9c3;
    --dmm-cd-save-bar-text: #1e293b;
    --dmm-cd-card-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 2px 4px rgba(15, 23, 42, 0.03), 0 12px 32px -8px rgba(15, 23, 42, 0.08);
    --dmm-cd-card-shadow-hover: 0 0 0 1px rgba(91, 82, 240, 0.12), 0 4px 8px rgba(15, 23, 42, 0.04), 0 20px 40px -12px rgba(91, 82, 240, 0.15);
    --dmm-cd-font-display: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --dmm-cd-font-heading: var(--dmm-cd-font-display);
    --dmm-cd-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --dmm-cd-space-1: 4px;
    --dmm-cd-space-2: 8px;
    --dmm-cd-space-3: 12px;
    --dmm-cd-space-4: 20px;
    --dmm-cd-space-5: 24px;
    --dmm-cd-space-6: 32px;
    --dmm-cd-space-8: 40px;
    --dmm-cd-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
    --dmm-cd-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
    --dmm-cd-shadow-card: 0 0 0 1px rgba(15, 23, 42, 0.05), 0 4px 16px rgba(15, 23, 42, 0.06);
    --dmm-cd-surface-canvas: var(--dmm-cd-bg);
    --dmm-cd-surface-raised: var(--dmm-cd-card-bg);
    --dmm-cd-surface-overlay: rgba(255, 255, 255, 0.88);
    --dmm-cd-surface-inset: #f1f5f9;
    --dmm-cd-status-live: #10b981;
    --dmm-cd-motion-fast: 180ms;
    --dmm-cd-motion-base: 260ms;
}

@media (max-width: 767px) {
    :root {
        --dmm-cd-space-4: 16px;
        --dmm-cd-space-5: 20px;
        --dmm-cd-space-6: 24px;
    }
    .dmm-cd-main {
        font-size: 15px;
    }
}

.dmm-cd-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.dmm-cd a,
.dmm-cd button,
.dmm-cd input,
.dmm-cd select,
.dmm-cd textarea,
.dmm-cd [role="button"] {
    -webkit-tap-highlight-color: rgba(79, 70, 229, 0.15);
}

/* Mobile-first: Base = Smartphone */
.dmm-cd {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    font-family: var(--dmm-cd-font-body);
    background: var(--dmm-cd-bg-mesh);
    color: #0f172a;
    -webkit-font-smoothing: antialiased;
}

/* Flex-Kette: Hauptbereich scrollt intern → position:sticky im Editor wirkt (sonst wächst main mit Inhalt) */
.dmm-cd-main-wrap {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    /* overflow: clip allows sticky children but still visually clips */
    overflow: clip;
    width: 100%;
}

/* Top bar — sticky, never scrolls away */
.dmm-cd-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dmm-cd-space-4);
    padding: 14px var(--dmm-cd-space-5);
    background: var(--dmm-cd-topbar-bg);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid var(--dmm-cd-border);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 8px 32px -12px rgba(15, 23, 42, 0.1);
    flex-shrink: 0;
    color: var(--dmm-cd-topbar-text);
    position: sticky;
    top: 0;
    z-index: 60;
}

@supports not (backdrop-filter: blur(1px)) {
    .dmm-cd-topbar {
        background: var(--dmm-cd-topbar-gradient);
    }
}

.dmm-cd-topbar-left {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    min-width: 0;
}

.dmm-cd-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: var(--dmm-cd-bg);
    color: #0f172a;
    cursor: pointer;
    transition: background 0.15s;
}

.dmm-cd-topbar .dmm-cd-burger {
    background: #f1f5f9;
    color: var(--dmm-cd-topbar-text);
}

.dmm-cd-burger:hover {
    background: var(--dmm-cd-border);
}

.dmm-cd-topbar .dmm-cd-burger:hover {
    background: #e2e8f0;
    color: var(--dmm-cd-topbar-text);
}

.dmm-cd-burger svg {
    width: 24px;
    height: 24px;
}

.dmm-cd-topbar-brand {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    line-height: 1.25;
}

.dmm-cd-topbar-menu-name {
    font-size: 12px;
    font-weight: 700;
    color: #475569;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dmm-cd-topbar-section {
    font-family: var(--dmm-cd-font-display);
    font-size: 17px;
    font-weight: 700;
    color: var(--dmm-cd-topbar-text);
    margin: 0;
    letter-spacing: -0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dmm-cd-topbar-actions {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-2);
    flex-shrink: 0;
}

.dmm-cd-topbar-actions .dmm-cd-btn {
    min-height: 40px;
    padding: 8px 14px;
    font-size: 14px;
}

/* ── Topbar action buttons — solid colors, always visible ── */
.dmm-cd-topbar-preview-btn,
.dmm-cd-topbar-logout-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px;
    padding: 8px 16px !important;
    min-height: 36px;
    border-radius: 8px !important;
    border: none !important;
    background: #0f172a !important;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s;
    white-space: nowrap;
    line-height: 1;
}
.dmm-cd-topbar-preview-btn:hover,
.dmm-cd-topbar-logout-btn:hover {
    background: #1e293b !important;
    color: #ffffff !important;
}
.dmm-cd-topbar-preview-btn svg,
.dmm-cd-topbar-logout-btn svg { flex-shrink: 0; }

/* ── Topbar clock ── */
.dmm-cd-topbar-clock {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
    min-width: 54px;
    text-align: center;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}
/* Hide text labels on very small screens, show only icon */
@media (max-width: 479px) {
    .dmm-cd-topbar-btn-label { display: none; }
    .dmm-cd-topbar-clock { display: none; }
}

/* ── Topbar generic btn: keep them explicitly visible (no transparent override) ── */
.dmm-cd-topbar .dmm-cd-topbar-actions .dmm-cd-btn:not(.dmm-cd-topbar-preview-btn):not(.dmm-cd-topbar-logout-btn) {
    color: var(--dmm-cd-topbar-text);
    border: 1px solid #cbd5e1;
    background: transparent;
}
.dmm-cd-topbar .dmm-cd-topbar-actions .dmm-cd-btn:not(.dmm-cd-topbar-preview-btn):not(.dmm-cd-topbar-logout-btn):hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.dmm-cd-topbar .dmm-cd-topbar-actions a {
    color: var(--dmm-cd-topbar-text);
}

.dmm-cd-topbar .dmm-cd-topbar-actions a:hover {
    color: var(--dmm-cd-topbar-text);
    opacity: 0.9;
}

/* Drawer overlay */
.dmm-cd-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
}

.dmm-cd-drawer-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

/* Sidebar - Mobile: drawer (hidden by default) */
.dmm-cd-sidebar-wrap {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 280px;
    max-width: 85vw;
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    display: flex;
    flex-direction: column;
}

.dmm-cd-drawer-backdrop.is-open + .dmm-cd-sidebar-wrap,
.dmm-cd-sidebar-wrap.is-open {
    transform: translateX(0);
}

body.dmm-cd-drawer-open {
    overflow: hidden;
}

.dmm-cd-sidebar {
    width: 100%;
    height: 100%;
    background: var(--dmm-cd-sidebar-gradient);
    color: var(--dmm-cd-sidebar-text);
    padding: var(--dmm-cd-space-4);
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    border-right: 1px solid var(--dmm-cd-sidebar-border);
    box-shadow: 4px 0 24px -8px rgba(15, 23, 42, 0.06);
    position: relative;
}

.dmm-cd-sidebar-header {
    padding: 0 0 var(--dmm-cd-space-4);
    border-bottom: 1px solid var(--dmm-cd-sidebar-border);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--dmm-cd-space-3);
    flex-shrink: 0;
}

.dmm-cd-brand {
    min-width: 0;
}

.dmm-cd-logo {
    font-family: var(--dmm-cd-font-display);
    font-size: 1.2rem;
    font-weight: 800;
    margin: 0 0 4px 0;
    color: #0f172a;
    letter-spacing: -0.04em;
    line-height: 1.15;
}

.dmm-cd-brand-name {
    background: linear-gradient(135deg, #0f172a 0%, #5b52f0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.dmm-cd-brand-tagline {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--dmm-cd-sidebar-muted);
    line-height: 1.35;
    letter-spacing: 0.01em;
}

.dmm-cd-logout {
    font-size: 13px;
    font-weight: 600;
    color: var(--dmm-cd-sidebar-muted);
    text-decoration: none;
    padding: 8px 12px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    border-radius: var(--dmm-cd-radius-pill);
    border: 1px solid var(--dmm-cd-border);
    background: #fff;
    transition: background var(--dmm-cd-motion-fast) ease, color var(--dmm-cd-motion-fast) ease, border-color var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-logout:hover {
    color: #0f172a;
    border-color: var(--dmm-cd-border-strong);
    background: var(--dmm-cd-surface-inset);
}

.dmm-cd-menu-select-wrap {
    width: 100%;
    padding: var(--dmm-cd-space-4) 0;
    flex-shrink: 0;
}

.dmm-cd-menu-select-wrap label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--dmm-cd-sidebar-muted);
    margin-bottom: 8px;
}

.dmm-cd-sidebar .dmm-cd-select {
    width: 100%;
    padding: 11px 14px;
    min-height: 44px;
    border-radius: var(--dmm-cd-radius-input);
    border: 1px solid var(--dmm-cd-border);
    background: var(--dmm-cd-surface-inset);
    color: #0f172a;
    font-size: 15px;
    font-weight: 500;
    transition: border-color var(--dmm-cd-motion-fast) ease, box-shadow var(--dmm-cd-motion-fast) ease, background var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-sidebar .dmm-cd-select:hover {
    border-color: var(--dmm-cd-border-strong);
    background: #fff;
}

.dmm-cd-sidebar .dmm-cd-select:focus {
    outline: none;
    border-color: var(--dmm-cd-primary);
    background: #fff;
    box-shadow: 0 0 0 4px var(--dmm-cd-primary-ring);
}

.dmm-cd-sidebar .dmm-cd-select option {
    background: #fff;
    color: #0f172a;
}

.dmm-cd-select {
    width: 100%;
    padding: 12px 14px;
    min-height: 44px;
    border-radius: var(--dmm-cd-radius-input);
    border: 1px solid var(--dmm-cd-border);
    background: #fff;
    color: #0f172a;
    font-size: 15px;
}

.dmm-cd-select option {
    background: #fff;
    color: #0f172a;
}

.dmm-cd-nav {
    flex: 1 1 0;
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    /* padding-bottom: Platz für den absolut positionierten Sidebar-Footer */
    padding: var(--dmm-cd-space-2) 0 110px;
    overflow-y: auto;
}

.dmm-cd-nav-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dmm-cd-nav-group + .dmm-cd-nav-group {
    margin-top: 10px;
}

.dmm-cd-nav-group-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #94a3b8;
    padding: 12px 16px 6px;
}

.dmm-cd-nav-group:first-child .dmm-cd-nav-group-label {
    padding-top: 4px;
}

.dmm-cd-sidebar-wrap.is-compact .dmm-cd-nav-group-label {
    display: none;
}

.dmm-cd-sidebar-wrap.is-compact .dmm-cd-nav-group + .dmm-cd-nav-group {
    margin-top: 2px;
}

.dmm-cd-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 2px 8px;
    padding: 10px 12px;
    min-height: 44px;
    color: #64748b;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background var(--dmm-cd-motion-fast) ease, color var(--dmm-cd-motion-fast) ease, box-shadow var(--dmm-cd-motion-fast) ease, transform var(--dmm-cd-motion-fast) ease;
    border-radius: 12px;
    border: 1px solid transparent;
}

.dmm-cd-nav-item svg {
    flex-shrink: 0;
    opacity: 0.75;
    transition: opacity var(--dmm-cd-motion-fast) ease, color var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-nav-item:hover {
    background: var(--dmm-cd-surface-inset);
    color: #0f172a;
    transform: translateX(2px);
}

.dmm-cd-nav-item:hover svg {
    opacity: 1;
}

.dmm-cd-nav-item.active {
    background: linear-gradient(135deg, rgba(91, 82, 240, 0.14) 0%, rgba(91, 82, 240, 0.06) 100%);
    color: var(--dmm-cd-primary);
    font-weight: 600;
    border-color: rgba(91, 82, 240, 0.18);
    box-shadow: 0 1px 2px rgba(91, 82, 240, 0.08);
}

.dmm-cd-nav-item.active svg {
    opacity: 1;
    color: var(--dmm-cd-primary);
}

.dmm-cd-nav-item:focus-visible {
    outline: 2px solid var(--dmm-cd-primary);
    outline-offset: 2px;
}

.dmm-cd-sidebar-bottom .dmm-cd-sidebar-compact-toggle {
    margin-top: 0;
}

.dmm-cd-sidebar-compact-toggle {
    flex-shrink: 0;
    margin: 8px 0 0;
    padding: 10px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dmm-cd-surface-inset);
    border: 1px solid var(--dmm-cd-border);
    border-radius: 12px;
    color: #64748b;
    cursor: pointer;
    transition: background var(--dmm-cd-motion-fast) ease, color var(--dmm-cd-motion-fast) ease, border-color var(--dmm-cd-motion-fast) ease;
    /* Stays below footer — no sticky/absolute needed since parent overflow:hidden */
}
.dmm-cd-sidebar-footer .dmm-cd-sidebar-compact-toggle {
    margin-top: 10px;
}
.dmm-cd-sidebar-compact-toggle:hover {
    background: #fff;
    color: var(--dmm-cd-primary);
    border-color: rgba(91, 82, 240, 0.25);
}

/* Main - Mobile: compact padding; breite Screens: lesbare Zeilenbreite */
.dmm-cd-main {
    flex: 1 1 auto;
    min-height: 0;
    padding: var(--dmm-cd-space-6) var(--dmm-cd-space-4) var(--dmm-cd-space-8);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.dmm-cd-section {
    display: none;
}

.dmm-cd-section.active {
    display: block;
}

/* Menü-Editor: etwas mehr Breite für Karten */
@supports selector(:has(*)) {
    @media (min-width: 1024px) {
        .dmm-cd-main:has(#dmm-cd-menue.active) {
            max-width: min(100%, 1480px);
        }
    }
}

.dmm-cd-main h1 {
    font-family: var(--dmm-cd-font-display);
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 var(--dmm-cd-space-3);
    letter-spacing: -0.03em;
    line-height: 1.2;
}

.dmm-cd-section-lead {
    margin: 0 0 var(--dmm-cd-space-6);
    max-width: 52ch;
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    font-weight: 400;
}

.dmm-cd-main .dmm-cd-desc {
    margin-bottom: var(--dmm-cd-space-5);
}

/* Selects/inputs in main content: light surfaces */
.dmm-cd-main .dmm-cd-select,
.dmm-cd-main .dmm-cd-select option {
    background: #fff;
    color: #0f172a;
    border-color: var(--dmm-cd-border);
}

.dmm-cd-main .dmm-cd-select:focus {
    outline: none;
    border-color: var(--dmm-cd-primary);
    box-shadow: 0 0 0 3px var(--dmm-cd-primary-soft);
}

.dmm-cd-desc {
    color: #64748b;
    font-size: 15px;
    margin: 0 0 20px 0;
    line-height: 1.65;
    max-width: 62ch;
}

.dmm-cd-section-back {
    margin: 0 0 var(--dmm-cd-space-3);
    font-size: 14px;
}

.dmm-cd-section-back-link {
    color: var(--dmm-cd-primary);
    font-weight: 500;
    text-decoration: none;
}

.dmm-cd-section-back-link:hover {
    text-decoration: underline;
}

/* Overview hero - North Star metric */
.dmm-cd-overview-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dmm-cd-space-5) var(--dmm-cd-space-5);
    padding: var(--dmm-cd-space-5) var(--dmm-cd-space-6);
    margin-bottom: var(--dmm-cd-space-6);
    border-radius: 20px;
    border: 1px solid rgba(79, 70, 229, 0.12);
    background: linear-gradient(135deg, #fff 0%, #f8fafc 55%, rgba(238, 242, 255, 0.85) 100%);
    box-shadow: var(--dmm-cd-card-shadow);
}

.dmm-cd-overview-hero-metric {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dmm-cd-overview-hero-number {
    font-family: var(--dmm-cd-font-display);
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 700;
    color: var(--dmm-cd-primary);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.dmm-cd-overview-hero-label {
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.dmm-cd-overview-hero-status {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-3);
    font-size: 14px;
    color: #475569;
    align-items: center;
}

.dmm-cd-overview-hero-published {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-weight: 600;
    font-size: 13px;
}

.dmm-cd-overview-hero-dishes {
    color: #64748b;
    font-size: 14px;
}

/* Welcome text when single menu */
.dmm-cd-overview-welcome {
    font-size: 15px;
    color: #475569;
    margin: 0 0 var(--dmm-cd-space-5);
    line-height: 1.5;
}

.dmm-cd-overview-welcome-link {
    color: var(--dmm-cd-primary);
    font-weight: 600;
    text-decoration: none;
}

.dmm-cd-overview-welcome-link:hover {
    text-decoration: underline;
}

/* Overview cards - Mobile: single column */
.dmm-cd-overview-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.dmm-cd-overview-meta {
    font-size: 13px;
    color: #64748b;
    margin: 8px 0 12px 0;
}

.dmm-cd-card {
    background: var(--dmm-cd-card-bg);
    border-radius: var(--dmm-cd-radius-card);
    padding: var(--dmm-cd-space-6);
    box-shadow: var(--dmm-cd-card-shadow);
    border: 1px solid var(--dmm-cd-border);
    transition: box-shadow var(--dmm-cd-motion-base) ease, transform var(--dmm-cd-motion-fast) ease, border-color var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-card:hover {
    box-shadow: var(--dmm-cd-card-shadow-hover);
    border-color: rgba(91, 82, 240, 0.15);
    transform: translateY(-2px);
}

.dmm-cd-card h3 {
    font-family: var(--dmm-cd-font-display);
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.dmm-cd-card-title-line {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 8px 0;
}
.dmm-cd-card-title-line .dmm-cd-card-title {
    flex: 1;
    min-width: 0;
    margin: 0;
}
.dmm-cd-hub-tab-pencil {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(99, 102, 241, 0.35);
    border-radius: 12px;
    background: rgba(99, 102, 241, 0.08);
    color: #4f46e5;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.dmm-cd-hub-tab-pencil:hover {
    background: rgba(99, 102, 241, 0.14);
    border-color: rgba(99, 102, 241, 0.5);
}
.dmm-cd-hub-tab-pencil:focus-visible {
    outline: 2px solid #6366f1;
    outline-offset: 2px;
}
.dmm-cd-hub-tab-pencil[aria-expanded="true"] {
    background: rgba(99, 102, 241, 0.2);
    border-color: #6366f1;
}
.dmm-cd-hub-tab-panel {
    margin: 0 0 12px 0;
}
.dmm-cd-hub-tab-panel[hidden] {
    display: none !important;
}
.dmm-cd-hub-tab-panel .dmm-cd-hub-tab-label-input {
    width: 100%;
    max-width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    border-radius: 10px;
    min-height: 44px;
}
.dmm-cd-hub-tab-label-input.dmm-cd-hub-tab-label-input--saving {
    opacity: 0.7;
}

.dmm-cd-card .dmm-cd-status {
    font-size: 13px;
    color: #64748b;
    margin: 0 0 16px 0;
}

.dmm-cd-status-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: var(--dmm-cd-space-2);
}

.dmm-cd-status-badge.is-publish {
    background: #dcfce7;
    color: #166534;
}

.dmm-cd-status-badge.is-draft {
    background: #fef3c7;
    color: #92400e;
}

.dmm-cd-card-progress-hint {
    font-size: 13px;
    margin: 0 0 var(--dmm-cd-space-2);
}

.dmm-cd-card-progress-link {
    color: var(--dmm-cd-primary);
    font-weight: 500;
    text-decoration: none;
}

.dmm-cd-card-progress-link:hover {
    text-decoration: underline;
}

.dmm-cd-card-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-2) var(--dmm-cd-space-4);
    margin: var(--dmm-cd-space-3) 0;
}

.dmm-cd-quick-action-link {
    font-size: 13px;
    color: var(--dmm-cd-primary);
    font-weight: 500;
    text-decoration: none;
}

.dmm-cd-quick-action-link:hover {
    text-decoration: underline;
}

.dmm-cd-card-last-modified {
    font-size: 12px;
    color: #94a3b8;
    margin: 0 0 var(--dmm-cd-space-4);
}

.dmm-cd-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-2);
    margin-top: var(--dmm-cd-space-4);
}

/* Buttons - Touch target min 44px */
.dmm-cd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 20px;
    min-height: 44px;
    font-family: var(--dmm-cd-font-display);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    border-radius: var(--dmm-cd-radius-input);
    border: none;
    cursor: pointer;
    transition: background var(--dmm-cd-motion-fast) ease, color var(--dmm-cd-motion-fast) ease, box-shadow var(--dmm-cd-motion-fast) ease, transform var(--dmm-cd-motion-fast) ease, border-color var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.dmm-cd-btn-primary {
    background: linear-gradient(135deg, #6d64f2 0%, #5b52f0 45%, #4a41e8 100%);
    color: #fff;
    box-shadow: 0 1px 2px rgba(91, 82, 240, 0.2), 0 6px 16px -4px rgba(91, 82, 240, 0.45);
}

.dmm-cd-btn-primary:hover:not(:disabled) {
    background: linear-gradient(135deg, #5b52f0 0%, #4a41e8 100%);
    box-shadow: 0 2px 4px rgba(91, 82, 240, 0.25), 0 10px 24px -6px rgba(91, 82, 240, 0.5);
    transform: translateY(-1px);
}

.dmm-cd-btn-secondary {
    background: var(--dmm-cd-surface-inset);
    color: #475569;
    border: 1px solid var(--dmm-cd-border);
}

.dmm-cd-btn-secondary:hover {
    background: #cbd5e1;
}

.dmm-cd-btn-outline {
    background: #fff;
    border: 1px solid var(--dmm-cd-border-strong);
    color: #475569;
    box-shadow: var(--dmm-cd-shadow-sm);
}

.dmm-cd-btn-outline:hover {
    background: #f1f5f9;
}

.dmm-cd-btn-danger-outline {
    background: transparent;
    border: 1px solid #fca5a5;
    color: #ef4444;
}
.dmm-cd-btn-danger-outline:hover {
    background: #fef2f2;
    border-color: #ef4444;
}

/* Size variants */
.dmm-cd-btn-sm {
    padding: 7px 14px;
    min-height: 34px;
    font-size: 13px;
    font-weight: 500;
}
.dmm-cd-btn-xs {
    padding: 5px 10px;
    min-height: 30px;
    font-size: 12px;
    font-weight: 500;
    gap: 4px;
}

/* ── Menü-Kollektion Card ── */
.dmm-cd-kollektion-card {
    margin-top: var(--dmm-cd-space-4);
    border-radius: 14px;
    border: 1.5px solid #6366f1;
    background: #f8f7ff;
    overflow: hidden;
}
.dmm-cd-kollektion-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: linear-gradient(90deg, #ede9fe 0%, #f0f9ff 100%);
    border-bottom: 1px solid rgba(99,102,241,0.15);
}
.dmm-cd-kollektion-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: #6366f1;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dmm-cd-kollektion-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.dmm-cd-kollektion-label {
    font-size: 13px;
    font-weight: 700;
    color: #3730a3;
    letter-spacing: -0.01em;
}
.dmm-cd-kollektion-count {
    font-size: 11.5px;
    color: #6366f1;
    font-weight: 500;
}
.dmm-cd-kollektion-badge {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    background: #22c55e;
    color: #fff;
    padding: 3px 8px;
    border-radius: 999px;
}
.dmm-cd-kollektion-url-block {
    padding: 12px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.dmm-cd-kollektion-url-label {
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
}
.dmm-cd-kollektion-url-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.dmm-cd-kollektion-url {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px;
    font-family: 'SF Mono', 'Fira Code', ui-monospace, monospace;
    color: #3730a3;
    background: #ede9fe;
    border-radius: 6px;
    padding: 6px 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
.dmm-cd-kollektion-hint {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    padding: 0 18px 14px;
    font-size: 11.5px;
    color: #94a3b8;
    line-height: 1.5;
}
.dmm-cd-kollektion-hint svg { flex-shrink: 0; margin-top: 2px; }

/* Dark mode overrides for kollektion card */
.dmm-cd.dark-mode .dmm-cd-kollektion-card {
    background: rgba(99,102,241,0.1);
    border-color: rgba(99,102,241,0.4);
}
.dmm-cd.dark-mode .dmm-cd-kollektion-card-head {
    background: linear-gradient(90deg, rgba(99,102,241,0.18) 0%, rgba(14,165,233,0.1) 100%);
    border-bottom-color: rgba(99,102,241,0.2);
}
.dmm-cd.dark-mode .dmm-cd-kollektion-label { color: #c7d2fe; }
.dmm-cd.dark-mode .dmm-cd-kollektion-count { color: #a5b4fc; }
.dmm-cd.dark-mode .dmm-cd-kollektion-url-label { color: #64748b; }
.dmm-cd.dark-mode .dmm-cd-kollektion-url { background: rgba(99,102,241,0.2); color: #c7d2fe; }
.dmm-cd.dark-mode .dmm-cd-kollektion-hint { color: #475569; }
.dmm-cd.dark-mode .dmm-cd-btn-danger-outline { border-color: rgba(239,68,68,0.35); color: #f87171; }
.dmm-cd.dark-mode .dmm-cd-btn-danger-outline:hover { background: rgba(239,68,68,0.12); border-color: #f87171; }

/* Settings card (Design, Bewertungen, Logo, Sprachen, Statistiken) */
.dmm-cd-settings-card {
    background: var(--dmm-cd-card-bg);
    border-radius: 20px;
    padding: var(--dmm-cd-space-8);
    box-shadow: var(--dmm-cd-card-shadow);
    border: 1px solid var(--dmm-cd-border);
    margin-top: var(--dmm-cd-space-5);
}

.dmm-cd-settings-block {
    margin-bottom: var(--dmm-cd-space-8);
}

.dmm-cd-settings-block:last-of-type {
    margin-bottom: 0;
}

.dmm-cd-settings-block-title {
    font-family: var(--dmm-cd-font-display);
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 var(--dmm-cd-space-4);
    padding-bottom: var(--dmm-cd-space-2);
    border-bottom: 1px solid #f1f5f9;
    letter-spacing: -0.02em;
}

.dmm-cd-settings-actions {
    margin-top: var(--dmm-cd-space-8);
    padding-top: var(--dmm-cd-space-5);
    border-top: 2px solid #f1f5f9;
}

.dmm-cd-settings-actions .dmm-cd-btn {
    min-height: 48px;
    padding: 14px 24px;
    font-size: 15px;
}

/* Design: Theme preview */
.dmm-cd-theme-preview-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-theme-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--dmm-cd-space-2);
    cursor: pointer;
    padding: var(--dmm-cd-space-2);
    border-radius: 8px;
    border: 2px solid var(--dmm-cd-border);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.dmm-cd-theme-preview:hover {
    border-color: var(--dmm-cd-primary);
}

.dmm-cd-theme-preview input:checked + .dmm-cd-theme-preview-box,
.dmm-cd-theme-preview:has(input:checked) .dmm-cd-theme-preview-box {
    box-shadow: 0 0 0 2px var(--dmm-cd-primary);
}

.dmm-cd-theme-preview:has(input:checked) {
    border-color: var(--dmm-cd-primary);
    background: rgba(99, 102, 241, 0.06);
}

.dmm-cd-theme-preview-box {
    width: 56px;
    height: 40px;
    border-radius: 6px;
    background: #f1f5f9;
}

.dmm-cd-theme-preview-modern .dmm-cd-theme-preview-box { background: linear-gradient(135deg, #6366f1 0%, #818cf8 100%); }
.dmm-cd-theme-preview-rustic .dmm-cd-theme-preview-box { background: linear-gradient(135deg, #8B4513 0%, #a0522d 100%); }
.dmm-cd-theme-preview-luxury .dmm-cd-theme-preview-box { background: linear-gradient(135deg, #1e293b 0%, #475569 50%, #b45309 100%); }
.dmm-cd-theme-preview-minimalist .dmm-cd-theme-preview-box { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); }
.dmm-cd-theme-preview-bistro .dmm-cd-theme-preview-box { background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); }

/* Design section: two-column layout + live preview */
.dmm-cd-design-layout {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-6);
    margin-top: var(--dmm-cd-space-4);
}
@media (min-width: 1024px) {
    .dmm-cd-design-layout {
        flex-direction: row;
        align-items: flex-start;
        gap: var(--dmm-cd-space-8);
    }
}
.dmm-cd-design-form {
    flex: 1;
    min-width: 0;
}
.dmm-cd-design-preview {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    border-radius: var(--dmm-cd-radius);
    overflow: hidden;
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-shadow-lg);
    background: var(--dmm-cd-card-bg);
}

.dmm-cd-design-preview-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 14px;
    background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
    border-bottom: 1px solid var(--dmm-cd-border);
}

.dmm-cd-design-preview-live {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #047857;
    background: #fff;
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid #a7f3d0;
}

.dmm-cd-design-preview-bar-text {
    font-size: 12px;
    color: #475569;
    line-height: 1.35;
}
@media (min-width: 1024px) {
    .dmm-cd-design-preview {
        position: sticky;
        top: var(--dmm-cd-space-4);
        width: 380px;
        min-width: 380px;
        max-height: calc(100vh - 120px);
        display: flex;
        flex-direction: column;
    }
}
.dmm-cd-preview-inner {
    background: var(--dmm-bg, #ffffff);
    color: var(--dmm-titles-color, #1a1a1a);
    min-height: 320px;
    padding-bottom: var(--dmm-cd-space-6);
}
.dmm-cd-preview-inner[data-dmm-bg-pattern="dots"] {
    background-color: var(--dmm-bg, #ffffff);
    background-image: radial-gradient(circle at 1px 1px, rgba(var(--primary-rgb, 59, 130, 246), 0.14) 1px, transparent 0);
    background-size: 22px 22px;
}
.dmm-cd-preview-inner[data-dmm-bg-pattern="grid"] {
    background-color: var(--dmm-bg, #ffffff);
    background-image:
        linear-gradient(rgba(var(--primary-rgb, 59, 130, 246), 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--primary-rgb, 59, 130, 246), 0.1) 1px, transparent 1px);
    background-size: 24px 24px;
}
.dmm-cd-preview-inner[data-dmm-bg-pattern="lines"] {
    background-color: var(--dmm-bg, #ffffff);
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 20px,
        rgba(var(--primary-rgb, 59, 130, 246), 0.12) 20px,
        rgba(var(--primary-rgb, 59, 130, 246), 0.12) 21px
    );
}
.dmm-cd-preview-header {
    padding: 0;
}
.dmm-cd-preview-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    background: var(--primary-color, #6366f1);
    padding: var(--dmm-cd-space-6);
    overflow: hidden;
}
.dmm-cd-preview-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* Wie Gast-Header: breiter Ausschnitt, object-fit cover + Fokus */
.dmm-cd-preview-hero .dmm-cd-preview-logo-wrap {
    position: relative;
    width: 100%;
    max-height: min(42vw, 140px);
    min-height: 72px;
    margin: 0;
    border-radius: 12px;
    overflow: hidden;
    cursor: crosshair;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--dmm-bg, #fff) 82%, var(--dmm-titles-color, #1a1a1a) 12%);
    outline: none;
}
.dmm-cd-preview-hero .dmm-cd-preview-logo-wrap:focus-visible {
    box-shadow: 0 0 0 2px var(--primary-color, #6366f1), 0 0 0 4px rgba(99, 102, 241, 0.25);
}
.dmm-cd-preview-hero .dmm-cd-preview-logo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 72px;
    max-height: min(42vw, 140px);
    margin: 0;
    object-fit: cover;
    object-position: var(--dmm-logo-pos, 50% 50%);
    vertical-align: middle;
}
.dmm-cd-logo-focus-hint {
    margin-top: var(--dmm-cd-space-3);
    max-width: 36rem;
}
.dmm-cd-logo-focus-reset {
    margin-top: 8px;
}
.dmm-cd-preview-hero--logo-only .dmm-cd-preview-restaurant-name {
    display: none;
}
.dmm-cd-preview-hero--name-above-logo .dmm-cd-preview-restaurant-name {
    margin-bottom: 8px;
}
.dmm-cd-preview-hero--text-only .dmm-cd-preview-logo-wrap {
    display: none !important;
}
.dmm-cd-preview-restaurant-name {
    position: relative;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.dmm-cd-preview-pills {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--dmm-color-separator, rgba(0, 0, 0, 0.06));
    background: var(--dmm-bg, #fff);
}
.dmm-cd-preview-pill {
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--dmm-inactive-button-bg, rgba(0, 0, 0, 0.05));
    color: var(--dmm-inactive-button-color, var(--dmm-titles-color, #1a1a1a));
}
.dmm-cd-preview-pill.is-active {
    background: var(--primary-color, #6366f1);
    color: #fff;
}
.dmm-cd-preview-body {
    padding: 16px;
}
.dmm-cd-preview-cat-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--dmm-titles-color, #1a1a1a);
    margin: 0 0 12px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--dmm-color-separator, rgba(0, 0, 0, 0.08));
}
.dmm-cd-preview-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--dmm-color-separator, rgba(0, 0, 0, 0.06));
    font-size: 13px;
}
.dmm-cd-preview-item-name {
    color: var(--dmm-titles-color, #1a1a1a);
}
.dmm-cd-preview-item-price {
    font-weight: 600;
    color: var(--primary-color, #6366f1);
}
/* Theme grid: übersichtliche Karten mit Erklärung */
.dmm-cd-theme-intro {
    font-size: 13px;
    line-height: 1.55;
    color: #64748b;
    margin: 0 0 var(--dmm-cd-space-4);
    max-width: 52rem;
}

.dmm-cd-theme-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 12px;
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-theme-tile {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 10px 12px;
    min-height: 0;
    border-radius: 12px;
    border: 2px solid var(--dmm-cd-border);
    background: var(--dmm-cd-card-bg);
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.12s;
}

.dmm-cd-theme-tile:hover {
    border-color: var(--dmm-cd-primary);
    transform: translateY(-1px);
}

.dmm-cd-theme-tile.is-selected,
.dmm-cd-theme-tile:has(input:checked) {
    border-color: var(--dmm-cd-primary);
    box-shadow: 0 0 0 1px var(--dmm-cd-primary), 0 8px 20px rgba(99, 102, 241, 0.12);
}

.dmm-cd-theme-tile-strip {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.dmm-cd-theme-tile-aa {
    font-size: 15px;
    font-weight: 700;
    flex: 1;
    min-width: 0;
    text-align: center;
    padding: 8px 6px;
    border-radius: 8px;
    line-height: 1.2;
}

.dmm-cd-theme-tile-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.dmm-cd-theme-tile-name {
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.25;
}

.dmm-cd-theme-tile-hint {
    font-size: 11px;
    line-height: 1.45;
    color: #64748b;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.dmm-cd-theme-preview-label {
    font-size: 12px;
    font-weight: 500;
    color: #475569;
    text-align: center;
}

/* Bewertungen: Review rows */
.dmm-cd-review-row {
    display: flex;
    align-items: flex-start;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-review-row:last-child {
    margin-bottom: 0;
}

.dmm-cd-review-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 12px;
    color: #64748b;
}

.dmm-cd-review-field {
    flex: 1;
    min-width: 0;
}

.dmm-cd-review-field label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #334155;
    margin-bottom: var(--dmm-cd-space-2);
}

.dmm-cd-review-field .dmm-cd-input {
    width: 100%;
}

.dmm-cd-review-field-full {
    flex: 1 1 100%;
    min-width: 0;
}

.dmm-cd-review-field-full textarea.dmm-cd-input {
    min-height: 80px;
    resize: vertical;
}

.dmm-cd-opening-hours-block {
    margin-top: var(--dmm-cd-space-4);
}
.dmm-cd-opening-hours-heading {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 var(--dmm-cd-space-3) 0;
}
.dmm-cd-opening-fields {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dmm-cd-space-3);
}
.dmm-cd-opening-day-label {
    min-width: 5rem;
    font-weight: 500;
}
.dmm-cd-opening-closed-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.dmm-cd-opening-times {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.dmm-cd-opening-times .dmm-cd-input {
    width: auto;
    min-width: 0;
}

/* Logo: Upload zone in settings */
.dmm-cd-logo-actions-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-3);
    align-items: center;
}

.dmm-cd-settings-card .dmm-cd-logo-preview {
    width: 100%;
    max-width: 320px;
    height: 160px;
    margin-bottom: 0;
}

/* Sprachen: Chips in settings card */
.dmm-cd-settings-card .dmm-cd-lang-toggles {
    margin-bottom: 0;
}

.dmm-cd-settings-card .dmm-cd-lang-group {
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-settings-card .dmm-cd-lang-group:last-child {
    margin-bottom: 0;
}

.dmm-cd-lang-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    min-height: 40px;
    background: #f1f5f9;
    border-radius: 999px;
    font-size: 14px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: background 0.2s, border-color 0.2s;
}

.dmm-cd-lang-chip:hover {
    background: #e2e8f0;
}

.dmm-cd-lang-chip:has(input:checked) {
    background: rgba(99, 102, 241, 0.1);
    border-color: var(--dmm-cd-primary);
}

.dmm-cd-lang-chip.is-fixed {
    background: #e0e7ff;
    color: #4338ca;
    cursor: default;
    border-color: transparent;
}

/* Statistiken */
.dmm-cd-stats-group {
    margin-bottom: var(--dmm-cd-space-6);
}

.dmm-cd-stats-group:last-of-type {
    margin-bottom: 0;
}

.dmm-cd-stats-group-title {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 var(--dmm-cd-space-3);
    padding: 0;
}

.dmm-cd-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 0;
}

.dmm-cd-stat-card {
    position: relative;
    background: var(--dmm-cd-card-bg);
    border-radius: 14px;
    padding: var(--dmm-cd-space-5) var(--dmm-cd-space-5) var(--dmm-cd-space-5) 52px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--dmm-cd-border);
}

.dmm-cd-stat-number {
    font-size: 28px;
    font-weight: 700;
    color: var(--dmm-cd-primary);
    margin-bottom: 4px;
}

.dmm-cd-stat-label {
    font-size: 13px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.dmm-cd-stat-sublabel {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 4px;
}

.dmm-cd-stat-icon {
    position: absolute;
    left: var(--dmm-cd-space-4);
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    color: var(--dmm-cd-primary);
    opacity: 0.9;
}

.dmm-cd-stat-card-hint {
    border-color: #bfdbfe;
    background: #f8fafc;
}

.dmm-cd-stats-grid-kpi {
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 900px) {
    .dmm-cd-stats-grid-kpi {
        grid-template-columns: repeat(4, 1fr);
    }
}

.dmm-cd-stats-panel {
    background: var(--dmm-cd-card-bg);
    border: 1px solid var(--dmm-cd-border);
    border-radius: 14px;
    padding: var(--dmm-cd-space-5);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    margin-bottom: var(--dmm-cd-space-6);
}

.dmm-cd-stats-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--dmm-cd-space-4);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-stats-panel-title {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.dmm-cd-stats-panel-sub {
    margin: 0;
    font-size: 13px;
    color: #64748b;
}

.dmm-cd-stats-panel-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.dmm-cd-stats-date-label {
    margin: 0;
    font-size: 12px;
}

.dmm-cd-stats-date-input {
    max-width: 160px;
}

.dmm-cd-stats-rank-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dmm-cd-space-5);
}

@media (min-width: 960px) {
    .dmm-cd-stats-rank-columns {
        grid-template-columns: 1fr 1fr;
    }
}

.dmm-cd-stats-rank-col-title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dmm-cd-stats-rank-wrap {
    max-height: 420px;
    overflow: auto;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 10px;
    background: #fafbfc;
}

.dmm-cd-stats-rank-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.dmm-cd-stats-rank-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f1f5f9;
    text-align: left;
    padding: 10px 12px;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--dmm-cd-border);
}

.dmm-cd-stats-rank-table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid #eef2f7;
    vertical-align: middle;
}

.dmm-cd-stats-rank-table tbody tr:last-child td {
    border-bottom: none;
}

.dmm-cd-stats-rank-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.65);
}

.dmm-cd-stats-rank-table tbody tr:hover {
    background: #eff6ff;
}

.dmm-cd-stats-rank-pos {
    width: 36px;
    font-weight: 700;
    color: var(--dmm-cd-primary);
}

.dmm-cd-stats-rank-name {
    font-weight: 600;
    color: #0f172a;
}

.dmm-cd-stats-num {
    text-align: right;
    white-space: nowrap;
}

.dmm-cd-stats-share {
    color: #64748b;
    font-size: 12px;
}

.dmm-cd-stats-rank-empty {
    margin: 0;
    padding: 24px 16px;
    text-align: center;
    font-size: 13px;
    color: #94a3b8;
}

.dmm-cd-stats-more {
    margin-top: var(--dmm-cd-space-4);
    border: 1px solid var(--dmm-cd-border);
    border-radius: 12px;
    padding: 0 var(--dmm-cd-space-4) var(--dmm-cd-space-4);
    background: #fafbfc;
}

.dmm-cd-stats-more-summary {
    cursor: pointer;
    font-weight: 600;
    color: #334155;
    padding: var(--dmm-cd-space-4) 0;
    list-style-position: inside;
}

.dmm-cd-stats-more-desc {
    margin-top: 0;
}

.dmm-cd-stat-card-loading .dmm-cd-stat-revenue-val,
.dmm-cd-stat-card-loading .dmm-cd-stat-kpi-val,
.dmm-cd-stat-card-loading #dmm-cd-stats-rank-day-body,
.dmm-cd-stat-card-loading #dmm-cd-stats-rank-30d-body {
    position: relative;
    overflow: hidden;
    color: transparent;
    background: #e2e8f0;
    border-radius: 6px;
    min-width: 60px;
    min-height: 1.2em;
}
.dmm-cd-stat-card-loading .dmm-cd-stat-revenue-val::after,
.dmm-cd-stat-card-loading .dmm-cd-stat-kpi-val::after,
.dmm-cd-stat-card-loading #dmm-cd-stats-rank-day-body::after,
.dmm-cd-stat-card-loading #dmm-cd-stats-rank-30d-body::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    animation: dmm-skeleton-shimmer 1.4s infinite;
}
@keyframes dmm-skeleton-shimmer {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.dmm-cd-stat-hint-link {
    display: inline-block;
    font-size: 12px;
    color: var(--dmm-cd-primary);
    font-weight: 500;
    margin-top: 6px;
    text-decoration: none;
}

.dmm-cd-stat-hint-link:hover {
    text-decoration: underline;
}

.dmm-cd-stats-tip {
    margin-top: var(--dmm-cd-space-5);
    padding: var(--dmm-cd-space-4) var(--dmm-cd-space-4) var(--dmm-cd-space-4) 48px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: var(--dmm-cd-radius);
    font-size: 14px;
    color: #1e40af;
    position: relative;
    line-height: 1.5;
}

.dmm-cd-stats-tip::before {
    content: '';
    position: absolute;
    left: var(--dmm-cd-space-4);
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231e40af' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat;
}

.dmm-cd-stats-tip + .dmm-cd-stats-tip {
    margin-top: var(--dmm-cd-space-3);
}

.dmm-cd-stats-tip-link {
    color: #1e40af;
    font-weight: 500;
    text-decoration: none;
}

.dmm-cd-stats-tip-link:hover {
    text-decoration: underline;
}

.dmm-cd-stats-tip-reviews {
    background: #fefce8;
    border-color: #fef08a;
    color: #854d0e;
}

.dmm-cd-stats-tip-reviews::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23854d0e' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") center/contain no-repeat;
}

.dmm-cd-stats-tip-reviews .dmm-cd-stats-tip-link {
    color: #854d0e;
}

/* Form */
.dmm-cd-form-group {
    margin-bottom: 20px;
}

.dmm-cd-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #334155;
    margin-bottom: 8px;
}

.dmm-cd-input {
    width: 100%;
    max-width: 100%;
    padding: 13px 16px;
    min-height: 46px;
    font-size: 15px;
    line-height: 1.5;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
    color: #0f172a;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.18s, background 0.15s;
}

.dmm-cd-input:hover {
    border-color: #94a3b8;
    background: #f1f5f9;
}

.dmm-cd-input:focus {
    outline: none;
    border-color: #6366f1;
    background: #fff;
    box-shadow: 0 0 0 3.5px rgba(99, 102, 241, 0.14), 0 1px 3px rgba(0,0,0,0.08);
}

.dmm-cd-main textarea.dmm-cd-input {
    font-size: 14px;
    line-height: 1.45;
}

.dmm-cd-color-wrap {
    display: flex;
    gap: 12px;
    align-items: center;
}

.dmm-cd-color {
    width: 48px;
    height: 44px;
    min-height: 44px;
    padding: 4px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 8px;
    cursor: pointer;
}

.dmm-cd-color-hex {
    flex: 1;
    max-width: 120px;
}

/* Editor: feste Leiste – nur ein Block, in #dmm-cd-menue (kein zweites Dock außerhalb) */
#dmm-cd-menue .dmm-cd-editor-float-dock {
    display: flex;
    position: fixed;
    z-index: 100000;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18), 0 2px 8px rgba(15, 23, 42, 0.06);
    flex-wrap: nowrap;
    justify-content: space-between;
    box-sizing: border-box;
    left: auto;
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
    max-width: min(420px, calc(100vw - 32px));
    border-radius: 16px;
}

#dmm-cd-menue .dmm-cd-editor-float-dock.is-dirty {
    background: rgba(254, 240, 138, 0.94);
    border-color: #facc15;
}

#dmm-cd-menue .dmm-cd-editor-float-dock.is-dirty .dmm-cd-status-text {
    color: #374151;
}

#dmm-cd-menue .dmm-cd-editor-float-status {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: left;
}

#dmm-cd-menue .dmm-cd-editor-float-status-inner {
    font-size: 13px;
    line-height: 1.35;
    display: block;
}

#dmm-cd-menue .dmm-cd-editor-float-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

#dmm-cd-menue .dmm-cd-editor-float-actions .dmm-cd-btn {
    white-space: nowrap;
}

/* Platz unten, damit Inhalt nicht unter der Leiste liegt */
#dmm-cd-menue.active {
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}

#dmm-customer-dashboard:has(#dmm-cd-menue.active) .dmm-cd-toast-container {
    bottom: calc(120px + env(safe-area-inset-bottom, 0px));
}

.dmm-cd-status-text {
    font-size: 13px;
    color: #64748b;
}

.dmm-cd-editor-app {
    background: var(--dmm-cd-card-bg);
    border-radius: var(--dmm-cd-radius);
    border: 1px solid var(--dmm-cd-border);
    padding: var(--dmm-cd-space-6);
    min-height: 280px;
    box-shadow: var(--dmm-cd-card-shadow);
}

/* Zwei-Spalten-Layout (Navigation | Editor, Vorschau nur über Topbar) */
.dmm-cd-editor-layout-three {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: var(--dmm-cd-space-6);
    align-items: start;
    min-height: 400px;
}

.dmm-cd-editor-preview-hidden {
    display: none;
}

.dmm-cd-editor-nav {
    position: sticky;
    top: 16px;
    background: var(--dmm-cd-card-bg);
    border: 1px solid var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius);
    padding: 0;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    box-shadow: var(--dmm-cd-card-shadow);
}

.dmm-cd-editor-nav-inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.dmm-cd-editor-nav-header {
    padding: var(--dmm-cd-space-4);
    border-bottom: 1px solid var(--dmm-cd-border);
    flex-shrink: 0;
}

.dmm-cd-editor-nav-back {
    display: inline-block;
    font-size: 13px;
    color: #64748b;
    text-decoration: none;
    margin-bottom: var(--dmm-cd-space-2);
    transition: color 0.15s;
}

.dmm-cd-editor-nav-back:hover {
    color: var(--dmm-cd-primary);
}

.dmm-cd-editor-nav-menu-name {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
    word-break: break-word;
}

.dmm-cd-editor-nav-list {
    list-style: none;
    margin: 0;
    padding: var(--dmm-cd-space-3);
    flex: 1 1 auto;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dmm-cd-editor-nav-list li {
    margin: 0;
    padding: 0;
}

.dmm-cd-editor-nav-item {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-2);
    width: 100%;
    padding: 12px 14px;
    min-height: 44px;
    border: none;
    border-radius: 8px;
    background: #f9fafb;
    text-align: left;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.dmm-cd-editor-nav-item:hover {
    background: #f3f4f6;
    color: #111827;
}

.dmm-cd-editor-nav-item.is-active {
    background: rgba(99, 102, 241, 0.08);
    color: var(--dmm-cd-primary);
    font-weight: 600;
}

.dmm-cd-editor-nav-item:focus-visible {
    outline: 2px solid var(--dmm-cd-primary);
    outline-offset: 2px;
}

.dmm-cd-editor-nav-grip {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    opacity: 0.35;
    cursor: grab;
    pointer-events: all;
    touch-action: none;
    transition: opacity 0.15s;
}
.dmm-cd-editor-nav-grip:hover {
    opacity: 0.75;
}
#dmm-cd-editor-nav-list li {
    cursor: default;
}
#dmm-cd-editor-nav-list li.dmm-cd-sort-ghost {
    opacity: 0.4;
    background: var(--dmm-cd-primary-light, #eef2ff);
    border-radius: 8px;
}

.dmm-cd-editor-nav-item span {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dmm-cd-editor-nav-footer {
    padding: var(--dmm-cd-space-3);
    border-top: 1px solid var(--dmm-cd-border);
    flex-shrink: 0;
}

.dmm-cd-editor-nav-add {
    width: 100%;
}

.dmm-cd-editor-nav-title {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin: 0 0 8px 0;
    padding: 0 var(--dmm-cd-space-3);
}

.dmm-cd-editor-nav-link {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-2);
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 8px;
    background: none;
    text-align: left;
    font-size: 14px;
    color: #334155;
    cursor: pointer;
    transition: background 0.15s;
}

.dmm-cd-editor-nav-link:hover {
    background: #f1f5f9;
}

.dmm-cd-editor-nav-link.is-active {
    background: rgba(99, 102, 241, 0.1);
    color: var(--dmm-cd-primary);
    font-weight: 500;
}

.dmm-cd-editor-main {
    min-width: 0;
    overflow-x: hidden;
}

.dmm-cd-editor-preview {
    position: sticky;
    top: 16px;
    background: #f8fafc;
    border: 1px solid var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius);
    padding: var(--dmm-cd-space-4);
    box-shadow: var(--dmm-cd-shadow-sm);
}

.dmm-cd-editor-preview-url-wrap {
    display: flex;
    gap: var(--dmm-cd-space-2);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-editor-preview-url {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    padding: 8px 10px;
}

.dmm-cd-editor-preview-copy {
    flex-shrink: 0;
    padding: 8px 12px;
}

.dmm-cd-editor-add-cat-between:focus-visible {
    outline: 2px solid var(--dmm-cd-primary);
    outline-offset: 2px;
}

.dmm-cd-editor-preview-link {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 13px;
    color: var(--dmm-cd-primary);
}

.dmm-cd-editor-preview-iframe {
    width: 100%;
    height: 380px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 8px;
    background: #fff;
}

.dmm-cd-editor-preview-refresh {
    margin-top: var(--dmm-cd-space-4);
    width: 100%;
}

.dmm-cd-editor-search-wrap {
    margin-bottom: var(--dmm-cd-space-4);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.dmm-cd-editor-search-wrap .dmm-cd-editor-inner-search {
    flex: 1 1 220px;
    min-width: 0;
    width: auto;
    max-width: none;
}

.dmm-cd-editor-sale-mode.is-active {
    background: rgba(220, 38, 38, 0.08);
    border-color: #dc2626;
    color: #b91c1c;
}

.dmm-cd-cat-desc-wrap {
    padding: 0 16px 12px;
}

.dmm-cd-cat-desc-wrap .dmm-cd-cat-desc {
    width: 100%;
    min-height: 60px;
    resize: vertical;
    font-size: 13px;
}

.dmm-cd-search-hidden {
    display: none !important;
}

.dmm-cd-editor-loading-msg {
    color: #64748b;
    padding: var(--dmm-cd-space-5);
    margin: 0;
}

/* Ab 1024px: Editor-Preview bleibt aus; Layout 2-Spalten bleibt bis 768px */

.dmm-cd-editor-lang-row {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    flex-wrap: wrap;
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-editor-lang-row label {
    font-weight: 600;
    margin: 0;
}

.dmm-cd-editor-lang-row .dmm-cd-select {
    max-width: 200px;
}

.dmm-cd-editor-restaurant-section {
    padding: 14px;
    border: 1px solid rgba(99, 102, 241, 0.18);
    border-radius: 16px;
    background: rgba(99, 102, 241, 0.06);
}
.dmm-cd-editor-app .dmm-cd-editor-restaurant {
    width: min(100%, 520px);
    max-width: 520px;
    margin-bottom: 0;
    padding: 15px 18px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 12px;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #0f172a;
    letter-spacing: -0.01em;
    transition: border-color 0.15s, box-shadow 0.18s;
}
.dmm-cd-editor-app .dmm-cd-editor-restaurant:hover {
    border-color: #94a3b8;
}
.dmm-cd-editor-app .dmm-cd-editor-restaurant:focus {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12), 0 1px 4px rgba(0,0,0,0.06);
}

.dmm-cd-editor-restaurant-hint {
    margin: 10px 0 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: #64748b;
}

.dmm-cd-editor-empty-hint {
    color: #64748b;
    margin: var(--dmm-cd-space-5) 0;
    font-size: 15px;
    line-height: 1.6;
    padding: var(--dmm-cd-space-5);
}

.dmm-cd-editor-app.is-loading {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    min-height: 280px;
    gap: 16px;
}

.dmm-cd-editor-skeleton {
    width: 100%;
    height: 28px;
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: dmm-cd-skeleton 1.2s ease-in-out infinite;
    border-radius: 8px;
}

.dmm-cd-editor-skeleton + .dmm-cd-editor-skeleton {
    margin-top: 0;
}

@keyframes dmm-cd-skeleton {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Editor grid */
.dmm-cd-editor-section {
    margin-bottom: 24px;
}

.dmm-cd-editor-section:last-child {
    margin-bottom: 0;
}

/* Category separator (between blocks) */
.dmm-cd-editor-cat-sep {
    margin: var(--dmm-cd-space-6) 0;
    padding: var(--dmm-cd-space-4) 0;
    border-top: 1px solid var(--dmm-cd-border);
}

.dmm-cd-editor-cat-sep .dmm-cd-editor-add-cat-between {
    width: 100%;
}

/* Drag & Drop: Kategorien / Gerichte (SortableJS) */
.dmm-cd-sortable-cats {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dmm-cd-cat-sort-unit {
    position: relative;
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-cat-sort-unit .dmm-cd-editor-cat {
    margin-bottom: 0;
}

.dmm-cd-cat-sort-unit.dmm-cd-sort-chosen .dmm-cd-editor-cat {
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.dmm-cd-sort-ghost .dmm-cd-editor-cat {
    opacity: 0.45;
}

.dmm-cd-sort-drag .dmm-cd-editor-cat {
    opacity: 0.95;
}

.dmm-cd-drag-handle-cat,
.dmm-cd-drag-handle-item {
    cursor: grab;
    touch-action: none;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    border-radius: 6px;
    -webkit-user-select: none;
    user-select: none;
}

.dmm-cd-drag-handle-cat:active,
.dmm-cd-drag-handle-item:active {
    cursor: grabbing;
}

.dmm-cd-drag-handle-cat:hover,
.dmm-cd-drag-handle-item:hover {
    background: #f1f5f9;
    color: #64748b;
}

.dmm-cd-drag-handle-cat svg,
.dmm-cd-drag-handle-item svg {
    width: 18px;
    height: 18px;
}

.dmm-cd-sort-chosen-item.dmm-cd-editor-item-card {
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.dmm-cd-sort-ghost-item {
    opacity: 0.45;
}

/* Accordion categories: shadow over heavy border */
.dmm-cd-editor-cat {
    background: #fff;
    border-radius: var(--dmm-cd-radius);
    margin-bottom: var(--dmm-cd-space-4);
    border: 1px solid var(--dmm-cd-border);
    overflow: hidden;
    box-shadow: var(--dmm-cd-card-shadow);
}

.dmm-cd-editor-cat:hover {
    box-shadow: var(--dmm-cd-card-shadow-hover);
}

.dmm-cd-editor-cat-card {
    margin-bottom: 0;
}

.dmm-cd-editor-cat-header {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    padding: var(--dmm-cd-space-4) var(--dmm-cd-space-5);
    min-height: 52px;
    cursor: pointer;
    user-select: none;
}

.dmm-cd-editor-cat-header:hover {
    background: #f8fafc;
}

.dmm-cd-editor-cat-grip,
.dmm-cd-editor-cat-upload {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: #94a3b8;
}

.dmm-cd-editor-cat-grip svg,
.dmm-cd-editor-cat-upload svg {
    width: 100%;
    height: 100%;
}

.dmm-cd-accordion-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform 0.2s;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
}

.dmm-cd-editor-cat.is-open .dmm-cd-accordion-icon {
    transform: rotate(180deg);
}

.dmm-cd-editor-cat-name {
    flex: 1;
    min-width: 0;
    padding: 10px 14px;
    font-size: 17px;
    font-weight: 600;
    color: #111827;
    border: 1px solid var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius-input);
    background: #fff;
    cursor: text;
}

.dmm-cd-cat-badge {
    font-size: 12px;
    color: #64748b;
    background: #e2e8f0;
    padding: 4px 10px;
    border-radius: 12px;
    flex-shrink: 0;
}

.dmm-cd-editor-cat-body {
    display: none;
    padding: var(--dmm-cd-space-5);
    border-top: 1px solid #e2e8f0;
}

.dmm-cd-editor-cat.is-open .dmm-cd-editor-cat-body {
    display: block;
    padding-top: var(--dmm-cd-space-5);
}

.dmm-cd-editor-cat-body .dmm-cd-add-item {
    margin-top: var(--dmm-cd-space-4);
}

/* Editor: Karten pro Gericht (keine Tabelle, kein Überlappen) */
.dmm-cd-editor-items {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-4);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-editor-item-card {
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 16px;
    padding: var(--dmm-cd-space-5);
    font-size: 14px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.03);
    transition: box-shadow 0.18s ease;
}
.dmm-cd-editor-item-card:hover {
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.09), 0 1px 3px rgba(15, 23, 42, 0.04);
}

.dmm-cd-editor-item-row1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-3);
}

.dmm-cd-editor-item-row1 .dmm-cd-visibility-dot {
    flex-shrink: 0;
}

.dmm-cd-editor-item-row1 .dmm-cd-editor-item-name {
    flex: 1 1 180px;
    min-width: 0;
}

.dmm-cd-editor-item-row1 .dmm-cd-editor-item-price {
    width: 90px;
    flex-shrink: 0;
}

/* Delete as subtle red text link */
.dmm-cd-del-item,
.dmm-cd-del-cat {
    background: transparent !important;
    border: none !important;
    color: #dc2626 !important;
    font-size: 13px;
    font-weight: 500;
    padding: 6px 10px !important;
    min-height: 0;
    text-decoration: none;
    transition: color 0.15s, text-decoration 0.15s;
}

.dmm-cd-del-item:hover,
.dmm-cd-del-cat:hover {
    color: #b91c1c !important;
    text-decoration: underline;
}

.dmm-cd-editor-item-row1 .dmm-cd-del-item {
    flex-shrink: 0;
}

.dmm-cd-item-sold-out-toggle.is-active {
    background: rgba(15, 23, 42, 0.08);
    border-color: rgba(15, 23, 42, 0.25);
    color: #334155;
    font-weight: 600;
}

.dmm-cd-editor-item-row-sale {
    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 var(--dmm-cd-space-3);
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(220, 38, 38, 0.05);
    border: 1px dashed rgba(220, 38, 38, 0.25);
}

.dmm-cd-editor-item-row-sale.is-visible,
.dmm-cd-editor-app--sale-mode .dmm-cd-editor-item-row-sale {
    display: flex;
}

.dmm-cd-editor-item-row-sale .dmm-cd-editor-item-sale-price {
    width: 120px;
    max-width: 100%;
}

.dmm-cd-editor-sale-hint {
    flex: 1 1 180px;
    margin: 0;
    font-size: 0.82rem;
    color: var(--dmm-cd-muted, #64748b);
}

.dmm-cd-editor-item.is-sold-out {
    opacity: 0.88;
}

.dmm-cd-editor-item-row-dish-photo {
    margin-bottom: var(--dmm-cd-space-3);
}

.dmm-cd-dish-photo-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.dmm-cd-dish-photo-preview {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    padding: 0;
    border: 1px dashed var(--dmm-cd-border);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dmm-cd-dish-photo-preview.has-image {
    border-style: solid;
}

.dmm-cd-dish-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dmm-cd-dish-photo-ph {
    font-size: 11px;
    color: #9ca3af;
    text-align: center;
    padding: 6px;
    line-height: 1.2;
}

.dmm-cd-dish-photo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.dmm-cd-editor-item-row2,
.dmm-cd-editor-item-row3,
.dmm-cd-editor-item-row4 {
    margin-bottom: var(--dmm-cd-space-3);
}

.dmm-cd-editor-item-row4 {
    margin-bottom: 0;
}

/* Pro-style labels: small, uppercase, letter-spacing */
.dmm-cd-editor-item-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 6px;
}

.dmm-cd-editor-item-card .dmm-cd-input {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    font-size: 14px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 6px;
    box-sizing: border-box;
}

.dmm-cd-editor-item-desc {
    min-height: 120px;
    resize: vertical;
    font-size: 14px;
    line-height: 1.45;
}

.dmm-cd-visibility-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    margin-right: 6px;
    vertical-align: middle;
}

.dmm-cd-visibility-text {
    font-size: 13px;
    color: #475569;
}

.dmm-cd-editor-item-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.dmm-cd-editor-item-tag-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    cursor: pointer;
    font-size: 13px;
    color: #334155;
    font-weight: 500;
}

.dmm-cd-editor-item-tag-label span {
    text-transform: none;
    letter-spacing: 0;
}

.dmm-cd-allergen-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    align-items: center;
}

/* Compact pill badges: inactive gray, active subtle */
.dmm-cd-allergen-btn {
    flex-shrink: 0;
    min-width: 28px;
    min-height: 28px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    border-radius: 999px;
    background: #f3f4f6;
    color: #9ca3af;
    border: 1px solid #e5e7eb;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.dmm-cd-allergen-btn:hover {
    background: #e5e7eb;
    color: #6b7280;
    border-color: #d1d5db;
}

/* Ab 768px: Editor einspaltig – Nav oben, Main full-width (Task 7) */
@media (max-width: 768px) {
    .dmm-cd-editor-layout-three {
        grid-template-columns: 1fr;
    }
    .dmm-cd-editor-nav {
        position: static;
        max-height: none;
    }
    .dmm-cd-editor-main {
        width: 100%;
        min-width: 0;
    }
}

/* Gelbe Leiste und Top-Leiste auf Mobil: Touch-Ziele ≥44px, Lesbarkeit (Task 7) */
@media (max-width: 768px) {
    .dmm-cd-topbar {
        padding: var(--dmm-cd-space-4) var(--dmm-cd-space-4);
        min-height: 44px;
    }
    .dmm-cd-topbar-menu-name {
        font-size: 11px;
    }
    .dmm-cd-topbar-section {
        font-size: 15px;
    }
    .dmm-cd-topbar-actions .dmm-cd-btn {
        min-height: 44px;
        padding: 10px 14px;
        font-size: 14px;
    }
    /* Menü-Editor: eine durchgehende untere Leiste (Telefon) */
    #dmm-cd-menue .dmm-cd-editor-float-dock {
        left: 0;
        right: 0;
        bottom: 0;
        max-width: none;
        width: 100%;
        border-radius: 14px 14px 0 0;
        padding: 12px 14px;
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
        gap: 12px;
        box-shadow: 0 -8px 32px rgba(15, 23, 42, 0.14);
        border-left: none;
        border-right: none;
        border-bottom: none;
    }
    #dmm-cd-menue .dmm-cd-editor-float-status-inner {
        font-size: 13px;
        font-weight: 500;
    }
    #dmm-cd-menue .dmm-cd-editor-float-actions .dmm-cd-btn {
        min-height: 44px;
        padding: 10px 18px;
        font-size: 15px;
    }
    #dmm-cd-menue.active {
        padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    }
    #dmm-customer-dashboard:has(#dmm-cd-menue.active) .dmm-cd-toast-container {
        bottom: calc(100px + env(safe-area-inset-bottom, 0px));
    }
}

/* Mobil: Karten kompakter, Touch-Ziele groß */
@media (max-width: 767px) {
    .dmm-cd-editor-item-card {
        padding: var(--dmm-cd-space-3);
    }
    .dmm-cd-del-item,
    .dmm-cd-del-cat {
        min-height: 44px;
        padding: 10px 12px !important;
    }
    .dmm-cd-editor-item-row1 {
        flex-direction: column;
        align-items: stretch;
    }
    .dmm-cd-editor-item-row1 .dmm-cd-editor-item-price {
        width: 100%;
    }
    .dmm-cd-editor-item-tag-label {
        min-height: 40px;
        align-items: center;
    }
    .dmm-cd-allergen-btn {
        min-height: 36px;
        min-width: 36px;
        padding: 6px 8px;
        font-size: 12px;
    }
}

.dmm-cd-cat-desc-wrap {
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-cat-desc-wrap .dmm-cd-cat-desc {
    width: 100%;
    min-height: 60px;
    resize: vertical;
    font-size: 13px;
}

/* Editor item rows (Yumzi-style: icon + placeholder + name/price row) */
.dmm-cd-editor-item {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
    padding: var(--dmm-cd-space-4) 0;
    border-bottom: 1px solid #e2e8f0;
}

.dmm-cd-editor-item-row {
    display: flex;
    gap: var(--dmm-cd-space-4);
    align-items: flex-start;
    padding: var(--dmm-cd-space-4) 0;
}

.dmm-cd-editor-item:last-child,
.dmm-cd-editor-item-row:last-child {
    border-bottom: none;
}

.dmm-cd-editor-item-left {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}

.dmm-cd-editor-item-icon {
    width: 24px;
    height: 24px;
    color: #94a3b8;
}

.dmm-cd-editor-item-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-2);
}

.dmm-cd-editor-item-name-price {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--dmm-cd-space-3);
    align-items: center;
}

.dmm-cd-editor-item-name-price .dmm-cd-editor-item-name {
    min-width: 0;
}

.dmm-cd-editor-item-name-price .dmm-cd-editor-item-price {
    max-width: 100px;
}

.dmm-cd-editor-item input,
.dmm-cd-editor-item textarea {
    padding: 10px 12px;
    min-height: 40px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 6px;
    font-size: 14px;
    width: 100%;
    box-sizing: border-box;
}

.dmm-cd-editor-item textarea {
    min-height: 60px;
    resize: vertical;
}

.dmm-cd-editor-item-name {
    min-width: 0;
}

.dmm-cd-editor-item-price {
    min-width: 0;
}

.dmm-cd-editor-item-desc {
    grid-column: 1 / -1;
    min-height: 120px;
    font-size: 14px;
    line-height: 1.45;
}

.dmm-cd-allergen-btns {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    align-items: center;
}

.dmm-cd-editor-item-card .dmm-cd-allergen-btn,
.dmm-cd-editor-item .dmm-cd-allergen-btn {
    min-width: 28px;
    min-height: 28px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    border-radius: 999px;
    background: #f3f4f6;
    color: #9ca3af;
    border: 1px solid #e5e7eb;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

/* Ausgewählter Zustand: klar sichtbar, überschreibt .dmm-cd-btn-outline */
.dmm-cd-allergen-btns .dmm-cd-allergen-btn.dmm-cd-allergen-btn-selected {
    background: rgba(99, 102, 241, 0.12) !important;
    border-color: rgba(99, 102, 241, 0.4) !important;
    color: var(--dmm-cd-primary) !important;
}

.dmm-cd-allergen-btns .dmm-cd-allergen-btn.dmm-cd-allergen-btn-selected:hover {
    background: rgba(99, 102, 241, 0.18) !important;
    border-color: var(--dmm-cd-primary) !important;
    color: var(--dmm-cd-primary-hover) !important;
}

.dmm-cd-editor-item .dmm-cd-del-item {
    min-height: 0;
}

.dmm-cd-editor-item-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: center;
}
.dmm-cd-editor-item-tag-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #334155;
    cursor: pointer;
}
.dmm-cd-editor-item-tag-label input {
    margin: 0;
}

/* Logo */
.dmm-cd-logo-preview {
    width: 200px;
    height: 120px;
    border: 2px dashed var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--dmm-cd-space-4);
    background: #f8fafc;
    transition: border-color 0.2s, background 0.2s;
}

.dmm-cd-logo-preview.is-dragover {
    border-color: var(--dmm-cd-primary);
    background: rgba(99, 102, 241, 0.06);
}

.dmm-cd-logo-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.dmm-cd-logo-placeholder {
    color: #94a3b8;
    font-size: 14px;
}

.dmm-cd-logo-actions {
    display: flex;
    gap: 12px;
}

/* Branding block (Design section) */
.dmm-cd-branding-block .dmm-cd-cover-wrap {
    margin-bottom: var(--dmm-cd-space-6);
}
.dmm-cd-cover-preview {
    width: 100%;
    max-width: 320px;
    height: 120px;
    border: 2px dashed var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--dmm-cd-space-3);
    background: #f1f5f9;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.dmm-cd-cover-preview.is-dragover {
    border-color: var(--dmm-cd-primary);
    background: rgba(99, 102, 241, 0.06);
}
.dmm-cd-cover-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.dmm-cd-cover-placeholder {
    color: #94a3b8;
    font-size: 14px;
    text-align: center;
    padding: 0 12px;
}
.dmm-cd-cover-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.dmm-cd-branding-name-option {
    margin-bottom: var(--dmm-cd-space-4);
}
.dmm-cd-checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #0f172a;
}
.dmm-cd-checkbox-row .dmm-cd-checkbox {
    margin-top: 3px;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    accent-color: var(--dmm-cd-primary, #3b82f6);
}
.dmm-cd-checkbox-row:has(.dmm-cd-checkbox:disabled) {
    opacity: 0.65;
    cursor: not-allowed;
}
.dmm-cd-checkbox-row-text {
    line-height: 1.45;
}
.dmm-cd-branding-name-hint {
    margin: 8px 0 0 28px;
    font-size: 13px;
    line-height: 1.5;
}
.dmm-cd-branding-logo-wrap {
    margin-top: var(--dmm-cd-space-4);
}
.dmm-cd-branding-logo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-3);
    align-items: center;
    margin-top: var(--dmm-cd-space-2);
}
.dmm-cd-branding-logo-preview {
    width: 120px;
    height: 72px;
    border: 2px dashed var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--dmm-cd-space-3);
    background: #f8fafc;
}
.dmm-cd-branding-logo-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.dmm-cd-link-btn {
    text-decoration: none;
}

.dmm-cd-bg-pattern-row .dmm-cd-select {
    max-width: 100%;
    min-height: 40px;
}

/* Custom colors block */
.dmm-cd-custom-colors-block .dmm-cd-color-row {
    margin-bottom: var(--dmm-cd-space-4);
}
.dmm-cd-custom-colors-block .dmm-cd-color-row:last-child {
    margin-bottom: 0;
}
.dmm-cd-color-inputs {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    margin-top: 4px;
}
.dmm-cd-color-picker {
    width: 44px;
    height: 36px;
    padding: 2px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 8px;
    cursor: pointer;
    background: #fff;
}
.dmm-cd-hex-input {
    width: 100px;
    font-family: ui-monospace, monospace;
}

/* Language toggles */
.dmm-cd-lang-toggles {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

.dmm-cd-lang-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.dmm-cd-lang-group-label {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: 100%;
    margin-bottom: 4px;
}

/* ========== Formularkarten (Registrierung, Anmeldung, Success/Onboarding) ========== */
.dmm-form-card {
    max-width: 440px;
    margin: 32px auto;
    background: var(--dmm-cd-card-bg);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 0 1px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    border: 1px solid var(--dmm-cd-border);
}

.dmm-success-form-wrap.dmm-form-card {
    max-width: 540px;
    margin: 40px auto;
}

.dmm-form-card-inner {
    padding: 32px 28px;
}

.dmm-form-card-title {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.dmm-form-card-lead {
    margin: 0 0 24px 0;
    font-size: 15px;
    line-height: 1.5;
    color: #475569;
}

.dmm-form-card-subtitle {
    margin: 0 0 16px 0;
    font-size: 15px;
    font-weight: 600;
    color: #334155;
}

.dmm-form-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.dmm-form-card-actions .dmm-cd-btn {
    min-height: 48px;
    padding: 14px 24px;
    font-size: 15px;
    border-radius: 10px;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dmm-form-card-actions .dmm-cd-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25);
}

.dmm-form-card-actions .dmm-cd-btn-secondary:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.dmm-anmelden-dashboard.dmm-form-card {
    display: inline-flex;
    max-width: none;
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    vertical-align: middle;
}

.dmm-anmelden-dashboard .dmm-form-card-inner {
    padding: 0;
}

.dmm-anmelden-dashboard .dmm-form-card-actions {
    flex-wrap: nowrap;
    gap: 8px;
}

.dmm-anmelden-dashboard .dmm-form-card-actions .dmm-cd-btn {
    min-height: 34px;
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .dmm-anmelden-dashboard .dmm-form-card-actions {
        gap: 6px;
    }

    .dmm-anmelden-dashboard .dmm-form-card-actions .dmm-cd-btn {
        min-height: 30px;
        padding: 7px 10px;
        font-size: 12px;
    }
}

.dmm-form-card-divider {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 500;
}

/* ========== Kaufseite Vollversion ========== */
.dmm-vollversion-intro {
    text-align: center;
    margin: 0 auto 2.5rem;
    max-width: 520px;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #475569;
}

.dmm-vollversion-kaufseite .dmm-vollversion-intro {
    margin-top: 1.5rem;
}

.dmm-vollversion-kaufseite .entry-content .dmm-form-card,
.dmm-vollversion-kaufseite .dmm-form-card {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 3rem;
}

.dmm-vollversion-kaufseite .dmm-form-card-actions .dmm-cd-btn-primary {
    font-size: 16px;
    padding: 16px 28px;
    min-height: 52px;
    font-weight: 600;
}

/* Registrierung: Block unter Anmelden-Button */
.dmm-register-form-block {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--dmm-cd-border);
    text-align: left;
}

.dmm-register-form {
    margin: 0;
    max-width: none;
}

.dmm-register-form .dmm-register-errors {
    margin-bottom: 20px;
    padding: 14px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    color: #b91c1c;
    font-size: 14px;
}

.dmm-register-form .dmm-register-errors p {
    margin: 0;
    color: inherit;
}

.dmm-register-field {
    margin: 0 0 20px 0;
}

.dmm-register-field label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 8px;
}

.dmm-register-input {
    width: 100%;
    padding: 14px 16px;
    min-height: 48px;
    font-size: 16px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 10px;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.dmm-register-input::placeholder {
    color: #94a3b8;
}

.dmm-register-input:focus {
    outline: none;
    border-color: var(--dmm-cd-primary);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

.dmm-register-hint {
    margin: 6px 0 0 0;
    font-size: 13px;
    color: #64748b;
}

.dmm-register-submit {
    margin: 24px 0 0 0;
}

.dmm-register-submit .dmm-cd-btn {
    width: 100%;
    min-height: 50px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 10px;
}

/* Success / Onboarding Card */
.dmm-success-form-wrap .dmm-form-card-inner {
    padding: 36px 32px;
}

.dmm-success-form-intro {
    margin: 0 0 28px 0;
    color: #475569;
    font-size: 15px;
    line-height: 1.5;
}

.dmm-success-field {
    margin: 0 0 22px 0;
}

.dmm-success-field label,
.dmm-success-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 8px;
}

.dmm-success-field .dmm-register-input {
    width: 100%;
    padding: 14px 16px;
    min-height: 48px;
    font-size: 15px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 10px;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.dmm-success-field .dmm-register-input:focus {
    outline: none;
    border-color: var(--dmm-cd-primary);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

.dmm-success-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 8px;
}

.dmm-success-check {
    font-weight: normal;
    font-size: 14px;
    cursor: pointer;
}

.dmm-success-submit {
    margin: 28px 0 0 0;
}

.dmm-success-submit .dmm-cd-btn {
    width: 100%;
    min-height: 50px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 10px;
}

.dmm-success-form-wrap .required {
    color: #dc2626;
}

.dmm-success-notice {
    margin: 0 0 20px 0;
    padding: 16px 18px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.dmm-success-notice-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
}

.dmm-success-notice-warning {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

.dmm-success-form-no-action .dmm-success-submit button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.dmm-onboarding-login-hint {
    margin: 0 0 16px 0;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.5;
    color: #475569;
    background: #f8fafc;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 10px;
}

.dmm-onboarding-login-hint a {
    color: var(--dmm-cd-primary);
    font-weight: 600;
    text-decoration: underline;
}

.dmm-onboarding-mode-fieldset {
    margin: 0 0 20px 0;
    padding: 16px 18px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 10px;
    background: #fafafa;
}

.dmm-onboarding-mode-legend {
    padding: 0 8px;
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
}

.dmm-onboarding-mode-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 10px 0 0 0;
    font-size: 14px;
    line-height: 1.45;
    color: #334155;
    cursor: pointer;
}

.dmm-onboarding-mode-option input {
    margin-top: 3px;
    flex-shrink: 0;
}

.dmm-onboarding-upload-block[hidden] {
    display: none !important;
}

.dmm-onboarding-wrap .dmm-success-field textarea.dmm-register-input {
    min-height: 100px;
    resize: vertical;
    padding: 14px 16px;
}

.dmm-onboarding-file-input {
    display: block;
    margin-top: 8px;
    padding: 12px 16px;
    font-size: 14px;
    border: 1px dashed var(--dmm-cd-border);
    border-radius: 10px;
    background: #f8fafc;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.dmm-onboarding-file-input:hover {
    border-color: var(--dmm-cd-primary);
    background: #f1f5f9;
}

.dmm-onboarding-file-list {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    color: #64748b;
}

.dmm-onboarding-message {
    margin: 20px 0 0 0;
    padding: 16px 18px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.dmm-onboarding-loading {
    background: #f1f5f9;
    border: 1px solid var(--dmm-cd-border);
    color: #475569;
}

.dmm-onboarding-success {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
}

.dmm-onboarding-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.dmm-onboarding-form button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Empty / Login required */
.dmm-cd-login-required,
.dmm-cd-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: var(--dmm-cd-space-6);
}

.dmm-cd-empty-card {
    max-width: 420px;
    width: 100%;
    padding: var(--dmm-cd-space-8);
    text-align: center;
    background: var(--dmm-cd-card-bg);
    border-radius: var(--dmm-cd-radius);
    box-shadow: var(--dmm-cd-shadow-md);
    border: 1px solid var(--dmm-cd-border);
}

.dmm-cd-empty-card--wide {
    max-width: 520px;
}

.dmm-cd-empty-manual {
    margin-top: var(--dmm-cd-space-6);
    padding-top: var(--dmm-cd-space-6);
    border-top: 1px solid var(--dmm-cd-border);
    text-align: left;
}

.dmm-cd-empty-manual-lead {
    margin: 0 0 var(--dmm-cd-space-4);
    font-size: 14px;
    line-height: 1.55;
    color: #475569;
}

.dmm-cd-empty-manual-field {
    margin: 0 0 var(--dmm-cd-space-4);
}

.dmm-cd-empty-manual-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: var(--dmm-cd-space-2);
    color: #334155;
}

.dmm-cd-empty-manual-input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 8px;
    font-size: 15px;
    background: #fff;
}

.dmm-cd-empty-manual-logo {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 14px;
}

.dmm-cd-empty-manual-actions {
    margin: var(--dmm-cd-space-4) 0 0;
    text-align: center;
}

.dmm-cd-manual-create-error {
    margin: 0 0 var(--dmm-cd-space-3);
    font-size: 14px;
    color: #b91c1c;
    line-height: 1.4;
}

.dmm-cd-empty-onboarding {
    margin-top: var(--dmm-cd-space-5);
}

.dmm-cd-empty-card p {
    margin: 0 0 var(--dmm-cd-space-5);
    color: #64748b;
    line-height: 1.6;
}

.dmm-cd-empty-card .dmm-cd-btn {
    margin: 0;
}

/* Toast */
.dmm-cd-toast-container {
    position: fixed;
    bottom: var(--dmm-cd-space-6);
    right: var(--dmm-cd-space-6);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-2);
    max-width: 360px;
    pointer-events: none;
}

.dmm-cd-toast {
    padding: var(--dmm-cd-space-3) var(--dmm-cd-space-4);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    box-shadow: var(--dmm-cd-shadow-md);
    border: 1px solid transparent;
    animation: dmm-cd-toast-in 0.25s ease;
    pointer-events: auto;
}

.dmm-cd-toast.is-success {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #166534;
}

.dmm-cd-toast.is-error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

@keyframes dmm-cd-toast-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Desktop - min-width: 769px */
@media (min-width: 769px) {
    .dmm-cd {
        flex-direction: row;
    }

    .dmm-cd-drawer-backdrop {
        display: none;
    }

    .dmm-cd-sidebar-wrap {
        /* Sticky column: always 100vh tall, footer never scrolls away */
        position: sticky;
        top: 0;
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
        transform: none;
        width: 260px;
        min-width: 260px;
        max-width: none;
        flex-shrink: 0;
    }

    .dmm-cd-burger {
        display: none;
    }

    .dmm-cd-sidebar {
        width: 260px;
        min-width: 260px;
        flex-direction: column;
        padding: 24px 0;
    }

    .dmm-cd-sidebar-header {
        padding: 0 20px 20px;
        border-bottom: 1px solid var(--dmm-cd-sidebar-border);
    }

    .dmm-cd-menu-select-wrap {
        width: auto;
        padding: 20px;
    }

    .dmm-cd-nav {
        flex: 1 1 0;
        min-height: 0;
        width: auto;
        flex-direction: column;
        /* padding-bottom: Platz für den absolut positionierten Sidebar-Footer */
        padding: 12px 0 110px;
        overflow-y: auto;
    }

    .dmm-cd-nav-item {
        margin: 2px 12px;
        padding: 10px 14px;
        border-radius: 12px;
    }

    .dmm-cd-nav-item.active {
        border-left: none;
        margin-left: 12px;
        padding-left: 14px;
    }

    .dmm-cd-sidebar-wrap.is-compact {
        width: 72px;
        min-width: 72px;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-sidebar {
        width: 72px;
        min-width: 72px;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-sidebar-header {
        padding-left: 12px;
        padding-right: 12px;
        justify-content: center;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-sidebar-header .dmm-cd-logo {
        font-size: 0;
        overflow: hidden;
        width: 1px;
        height: 1px;
        margin: 0;
        padding: 0;
        opacity: 0;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-logout {
        font-size: 0;
        padding: 10px;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-logout::after {
        content: '\2192';
        font-size: 18px;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-menu-select-wrap {
        display: none;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-nav-item {
        justify-content: center;
        padding: 12px;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-nav-item .dmm-cd-nav-item-text {
        display: none;
    }

    .dmm-cd-sidebar-wrap.is-compact .dmm-cd-sidebar-compact-toggle svg {
        transform: rotate(180deg);
    }

    .dmm-cd-main {
        padding: 32px 40px;
    }

    .dmm-cd-overview-cards {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 20px;
    }

    .dmm-cd-stats-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    /* Editor-Item-Karten: immer eine Spalte (Beschreibung → Allergene → Tags untereinander) */
    .dmm-cd-editor-item-card.dmm-cd-editor-item {
        grid-template-columns: 1fr;
    }

    .dmm-cd-editor-item input,
    .dmm-cd-editor-item textarea {
        padding: 8px 12px;
        font-size: 14px;
        min-height: auto;
        width: auto;
    }

    .dmm-cd-editor-item textarea {
        min-height: 60px;
    }

    .dmm-cd-editor-item-desc {
        grid-column: 1 / -1;
        min-height: 120px;
    }

    .dmm-cd-editor-item-price {
        min-width: 80px;
    }

    .dmm-cd-editor-app {
        padding: 24px;
        min-height: 300px;
    }

    .dmm-cd-input {
        max-width: 480px;
    }

    .dmm-cd-review-row {
        align-items: center;
    }

    .dmm-cd-review-icon {
        margin-top: 0;
    }

    .dmm-cd-settings-card .dmm-cd-stats-grid {
        margin-top: var(--dmm-cd-space-4);
    }
}

/* Kleine Viewports: Form-Cards mit weniger Abstand */
@media (max-width: 480px) {
    .dmm-form-card {
        margin: 20px 12px;
    }
    .dmm-form-card-inner {
        padding: 20px 16px;
    }
    .dmm-success-form-wrap.dmm-form-card {
        margin: 24px 12px;
    }
    .dmm-success-form-wrap .dmm-form-card-inner {
        padding: 20px 16px;
    }
}

/* Safe Area (Notch / Home-Indicator) */
.dmm-cd-toast-container {
    bottom: max(var(--dmm-cd-space-6), env(safe-area-inset-bottom, 0));
    right: max(var(--dmm-cd-space-6), env(safe-area-inset-right, 0));
}

.dmm-cd-sidebar {
    padding-left: max(var(--dmm-cd-space-4), env(safe-area-inset-left, 0));
}

.dmm-cd-topbar {
    padding-top: max(var(--dmm-cd-space-3), env(safe-area-inset-top, 0));
}

/* Vollbild ohne Theme-Header/Footer */
body.dmm-customer-page {
    margin: 0;
    padding: 0;
    background: var(--dmm-cd-bg-mesh, #f4f6fb);
}

body.dmm-customer-page .dmm-customer-page-content {
    min-height: 100vh;
}

/* Live-Bestellungen (Tablet / Theke) */
.dmm-cd-section-intro {
    color: #475569;
    font-size: 1rem;
    line-height: 1.65;
    max-width: 52rem;
    margin-bottom: var(--dmm-cd-space-5);
}
.dmm-cd-panel,
.dmm-cd-pairing-ai-card {
    margin-bottom: 24px;
    padding: 22px 24px;
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
    box-shadow: var(--dmm-cd-card-shadow);
}
.dmm-cd-panel-title,
.dmm-cd-pairing-ai-title {
    font-family: var(--dmm-cd-font-display);
    margin: 0 0 8px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.dmm-cd-panel-intro,
.dmm-cd-pairing-ai-intro {
    margin-top: 0;
    margin-bottom: 14px;
}
.dmm-cd-snapshots-load-hint {
    margin: 0 0 12px;
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.45;
}
.dmm-cd-extra-menus-card {
    margin-top: 8px;
}
.dmm-cd-extra-menus-field {
    margin-bottom: 12px;
}
.dmm-cd-extra-menus-field .dmm-cd-input {
    max-width: 28rem;
}
.dmm-cd-extra-menus-field .dmm-cd-field-hint {
    display: block;
    margin-top: 6px;
    font-size: 0.85rem;
    color: #64748b;
    line-height: 1.4;
    max-width: 28rem;
}

.dmm-cd-hub-tab-panel .dmm-cd-hub-tab-field-label {
    display: block;
    margin: 0 0 6px;
    font-size: 0.8rem;
    font-weight: 600;
}
.dmm-cd-hub-tab-panel .dmm-cd-hub-tab-help {
    margin: 8px 0 0;
    font-size: 0.8rem;
    line-height: 1.45;
    color: #64748b;
    max-width: 28rem;
}
.dmm-cd-extra-menus-actions {
    margin: 0 0 8px;
}
.dmm-cd-extra-menus-limit {
    margin: 0;
    font-size: 0.95rem;
    color: #64748b;
}
.dmm-cd-menu-snapshots-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.dmm-cd-menu-snapshots-empty {
    margin: 0;
    font-size: 0.9rem;
    color: #64748b;
}
.dmm-cd-snapshot-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
}
.dmm-cd-snapshot-meta {
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.45;
}
.dmm-cd-snapshot-meta strong {
    color: #0f172a;
    font-weight: 600;
}
.dmm-cd-pickup-delay-field {
    margin-top: 1rem;
}
.dmm-cd-pickup-delay-field .dmm-cd-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #0f172a;
}
.dmm-cd-input-narrow {
    max-width: 7rem;
}
.dmm-cd-pickup-delay-hint {
    margin-top: 8px;
    margin-bottom: 0;
}
.dmm-cd-delivery-origin-radius-hint {
    margin-top: 0.35rem;
    color: #b45309;
    font-weight: 500;
}
.dmm-cd-orders-stats {
    margin-bottom: var(--dmm-cd-space-3);
}
.dmm-cd-orders-conn-bar {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 var(--dmm-cd-space-4);
    padding: 12px 14px;
    border-radius: var(--dmm-cd-radius-lg, 12px);
    font-size: 0.92rem;
    line-height: 1.35;
    border: 1px solid transparent;
    min-height: 3rem;
}
.dmm-cd-orders-conn-bar.is-live {
    background: linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
    border-color: #6ee7b7;
    color: #065f46;
}
.dmm-cd-orders-conn-bar.is-offline {
    background: linear-gradient(180deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #fca5a5;
    color: #991b1b;
}
.dmm-cd-orders-conn-bar.is-paused {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #475569;
    font-style: italic;
}
.dmm-cd-orders-conn-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-top: 4px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35);
    flex-shrink: 0;
    animation: dmm-cd-orders-conn-pulse 2.2s ease-in-out infinite;
}
.dmm-cd-orders-conn-bar.is-offline .dmm-cd-orders-conn-dot {
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.35);
    animation: none;
}
@keyframes dmm-cd-orders-conn-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.55; transform: scale(0.92); }
}
.dmm-cd-orders-conn-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.dmm-cd-orders-conn-main {
    font-weight: 800;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
}
.dmm-cd-orders-conn-sub {
    font-size: 0.82rem;
    font-weight: 600;
    opacity: 0.92;
}
.dmm-cd-store-pause-bar {
    margin: 0 0 var(--dmm-cd-space-4);
    padding: var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius-lg, 12px);
    background: #fffbeb;
    border: 1px solid #fcd34d;
}
.dmm-cd-store-pause-title {
    margin: 0 0 6px;
    font-weight: 800;
    font-size: 1rem;
    color: #92400e;
}
.dmm-cd-store-pause-lead {
    margin: 0 0 var(--dmm-cd-space-3);
    font-size: 0.88rem;
    line-height: 1.45;
    color: #a16207;
}
.dmm-cd-store-pause-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.dmm-cd-store-pause-status {
    margin: var(--dmm-cd-space-3) 0 0;
    font-size: 0.88rem;
    font-weight: 600;
}
.dmm-cd-store-pause-status.is-ok {
    color: #166534;
}
.dmm-cd-store-pause-status.is-warn {
    color: #9a3412;
}
.dmm-cd-orders-stats-inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-4);
    align-items: baseline;
}
.dmm-cd-orders-stat {
    font-size: 0.9rem;
    color: #475569;
}
.dmm-cd-orders-stat strong {
    color: #0f172a;
    font-size: 1.15rem;
}
.dmm-cd-orders-list {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-4);
}
.dmm-cd-orders-list.is-order-patching .dmm-cd-order-act,
.dmm-cd-orders-list.is-order-patching .dmm-cd-order-dispatch {
    pointer-events: none;
    opacity: 0.55;
    cursor: wait;
}
.dmm-cd-orders-empty {
    color: #94a3b8;
    font-size: 0.95rem;
}
.dmm-cd-orders-today-hint {
    margin: 0 0 var(--dmm-cd-space-3);
    font-size: 0.82rem;
    line-height: 1.45;
    color: #64748b;
}
.dmm-cd-orders-export {
    margin: 0 0 var(--dmm-cd-space-4);
    padding: var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius-lg, 12px);
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.dmm-cd-orders-export-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}
.dmm-cd-export-sep {
    color: #94a3b8;
}
.dmm-cd-order-large-alert {
    margin: 0 0 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff7ed;
    border: 1px solid #fdba74;
    color: #9a3412;
    font-size: 0.88rem;
    font-weight: 600;
}
.dmm-cd-order-card.is-large-order {
    border-color: #fb923c;
    box-shadow: 0 0 0 1px rgba(251, 146, 60, 0.35);
}
.dmm-cd-commerce-services {
    margin-top: var(--dmm-cd-space-4);
    padding-top: var(--dmm-cd-space-3);
    border-top: 1px solid #e2e8f0;
}
.dmm-cd-orders-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--dmm-cd-space-4);
    margin-bottom: var(--dmm-cd-space-4);
    padding: var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius);
    background: var(--dmm-cd-card-bg);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
}
.dmm-cd-orders-toolbar-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: min(100%, 200px);
}
.dmm-cd-orders-filter-select {
    max-width: 280px;
}
.dmm-cd-orders-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dmm-cd-space-5);
    align-items: start;
}
@media (min-width: 1100px) {
    .dmm-cd-orders-layout {
        grid-template-columns: minmax(0, 1fr) 252px;
    }
}
.dmm-cd-orders-main {
    min-width: 0;
}
.dmm-cd-orders-aside {
    margin: 0;
    padding: var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius-lg, 12px);
    background: linear-gradient(165deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    box-shadow: var(--dmm-cd-card-shadow);
}
.dmm-cd-orders-aside-inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.dmm-cd-orders-aside-title {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
}
.dmm-cd-orders-aside-big {
    margin: 0;
    font-size: 2rem;
    line-height: 1.1;
    color: #0f172a;
}
.dmm-cd-orders-aside-big strong {
    font-weight: 800;
}
.dmm-cd-orders-aside-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.95rem;
    color: #334155;
}
.dmm-cd-orders-aside-list li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid #e2e8f0;
}
.dmm-cd-orders-aside-list strong {
    font-variant-numeric: tabular-nums;
    color: #0f172a;
}
.dmm-cd-orders-aside-hint {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: #64748b;
}
.dmm-cd-orders-filter-empty {
    margin: 0;
    padding: var(--dmm-cd-space-5);
    text-align: center;
    color: #64748b;
    font-size: 0.95rem;
    background: var(--dmm-cd-card-bg);
    border-radius: var(--dmm-cd-radius);
    border: 1px dashed var(--dmm-cd-border);
}
.dmm-cd-orders-group {
    margin-bottom: var(--dmm-cd-space-5);
}
.dmm-cd-orders-group:last-child {
    margin-bottom: 0;
}
.dmm-cd-orders-group-title {
    margin: 0 0 var(--dmm-cd-space-3);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
}
.dmm-cd-orders-group--pickup .dmm-cd-orders-group-title {
    color: #c2410c;
}
.dmm-cd-orders-group--table .dmm-cd-orders-group-title {
    color: #1d4ed8;
}
.dmm-cd-orders-group-inner {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-4);
}
.dmm-cd-order-card {
    background: var(--dmm-cd-card-bg);
    border-radius: var(--dmm-cd-radius);
    padding: var(--dmm-cd-space-5);
    box-shadow: var(--dmm-cd-card-shadow);
    border: 1px solid var(--dmm-cd-border);
}
.dmm-cd-order-card.is-new-pulse {
    animation: dmm-cd-order-new-glow 2.4s ease-in-out infinite;
}
@keyframes dmm-cd-order-new-glow {
    0%, 100% { box-shadow: var(--dmm-cd-card-shadow), 0 0 0 0 rgba(234, 88, 12, 0.35); }
    50% { box-shadow: var(--dmm-cd-card-shadow), 0 0 0 10px rgba(234, 88, 12, 0.08); }
}
.dmm-cd-order-kitchen-head {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-3);
}
.dmm-cd-order-kitchen-head-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--dmm-cd-space-3);
}
.dmm-cd-order-kitchen-ref {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    flex: 1 1 180px;
}
.dmm-cd-order-kitchen-status-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    text-align: right;
    flex: 0 1 auto;
}
.dmm-cd-order-status-lg {
    font-size: clamp(1rem, 2.8vw, 1.35rem);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.15;
}
.dmm-cd-order-status-lg.is-received { color: #c2410c; }
.dmm-cd-order-status-lg.is-accepted { color: #2563eb; }
.dmm-cd-order-status-lg.is-in_kitchen { color: #7c3aed; }
.dmm-cd-order-status-lg.is-ready { color: #059669; }
.dmm-cd-order-status-lg.is-completed { color: #64748b; }
.dmm-cd-order-status-lg.is-cancelled { color: #b91c1c; }
.dmm-cd-order-age {
    font-size: clamp(0.95rem, 2.5vw, 1.2rem);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #0f172a;
}
.dmm-cd-order-lines-preview {
    list-style: none;
    margin: 0 0 var(--dmm-cd-space-2);
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.dmm-cd-order-lines-preview-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    font-size: clamp(0.95rem, 2.4vw, 1.15rem);
    font-weight: 700;
    color: #0f172a;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.dmm-cd-order-lines-preview-name {
    min-width: 0;
    flex: 1;
}
.dmm-cd-order-lines-preview-qty {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    color: #475569;
}
.dmm-cd-order-kitchen-timers {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: stretch;
}
.dmm-cd-order-more {
    border: 0;
    margin: 0 0 var(--dmm-cd-space-3);
    padding: 0;
}
.dmm-cd-order-more-summary {
    list-style: none;
    cursor: pointer;
    font-weight: 700;
    font-size: 0.88rem;
    color: #475569;
    padding: 8px 0;
    border-top: 1px dashed var(--dmm-cd-border);
}
.dmm-cd-order-more-summary::-webkit-details-marker {
    display: none;
}
.dmm-cd-order-more-body {
    padding-top: var(--dmm-cd-space-2);
}
.dmm-cd-order-btn-confirm-kitchen {
    min-height: 52px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: 1.05rem;
    font-weight: 800;
}
.dmm-cd-order-tap-feedback {
    transform: scale(0.97);
    filter: brightness(0.97);
    transition: transform 0.12s ease, filter 0.12s ease;
}
@media (min-width: 768px) {
    .dmm-cd-order-actions {
        gap: 12px;
    }
    .dmm-cd-order-btn-confirm-kitchen {
        min-height: 58px;
        font-size: 1.1rem;
    }
}
.dmm-cd-order-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-2);
}
.dmm-cd-order-ref {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.6rem;
    min-width: 0;
}
.dmm-cd-order-id {
    font-weight: 700;
    color: #0f172a;
}
.dmm-cd-order-id-internal {
    font-size: 0.75rem;
    font-weight: 500;
    color: #64748b;
}
.dmm-cd-legal-hint {
    margin: 0 0 var(--dmm-cd-space-4);
    padding: var(--dmm-cd-space-3) var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius-lg, 12px);
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.88rem;
    line-height: 1.45;
    color: #475569;
}
.dmm-cd-legal-hint summary {
    cursor: pointer;
    font-weight: 600;
    color: #0f172a;
}
.dmm-cd-legal-hint-body p {
    margin: 0.5rem 0 0;
}
.dmm-cd-order-kind {
    font-size: 0.75rem;
    padding: 2px 8px;
    border-radius: 6px;
    background: #e0e7ff;
    color: #3730a3;
    font-weight: 600;
}
.dmm-cd-order-status {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #64748b;
}
.dmm-cd-order-status.is-received { color: #c2410c; }
.dmm-cd-order-status.is-accepted { color: #2563eb; }
.dmm-cd-order-status.is-in_kitchen { color: #7c3aed; }
.dmm-cd-order-status.is-ready { color: #059669; }
.dmm-cd-order-status.is-completed { color: #64748b; }
.dmm-cd-order-status.is-cancelled { color: #b91c1c; }
.dmm-cd-order-placed {
    margin: 0 0 var(--dmm-cd-space-2);
    font-size: 0.8rem;
    color: #64748b;
}
.dmm-cd-order-meta {
    margin: 0;
    font-size: 0.9rem;
    color: #475569;
}
.dmm-cd-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-3);
    margin-top: var(--dmm-cd-space-4);
    position: relative;
    z-index: 2;
}

.dmm-cd-order-card.is-bill-request {
    border-color: #fcd34d;
    box-shadow: 0 0 0 1px rgba(252, 211, 77, 0.35);
}
.dmm-cd-order-card.is-fulfillment-pickup {
    border-left: 4px solid #ea580c;
    padding-left: calc(var(--dmm-cd-space-5) - 3px);
}
.dmm-cd-order-card.is-fulfillment-table {
    border-left: 4px solid #2563eb;
    padding-left: calc(var(--dmm-cd-space-5) - 3px);
}
.dmm-cd-order-card.is-fulfillment-delivery {
    border-left: 4px solid #15803d;
    padding-left: calc(var(--dmm-cd-space-5) - 3px);
}

.dmm-cd-order-fold {
    border: 0;
    margin: 0 0 var(--dmm-cd-space-3);
    padding: 0;
}
.dmm-cd-order-fold-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    padding: 4px 0 10px;
    border-bottom: 1px solid var(--dmm-cd-border);
    margin-bottom: var(--dmm-cd-space-3);
}
.dmm-cd-order-fold-summary::-webkit-details-marker {
    display: none;
}
.dmm-cd-order-fold-summary-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    flex: 1 1 200px;
    min-width: 0;
}
.dmm-cd-order-timer-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    min-width: 0;
    flex-shrink: 0;
    margin-left: auto;
    text-align: right;
}
.dmm-cd-order-timer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.35rem 0.5rem;
    max-width: 100%;
}
.dmm-cd-order-timer-row .dmm-cd-order-timer-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.dmm-cd-order-timer-eta-hint {
    font-size: 0.72rem;
    color: #94a3b8;
    line-height: 1.3;
    max-width: 14rem;
}
.dmm-cd-order-timer.dmm-cd-order-timer--secondary {
    font-size: 0.85rem;
    opacity: 0.92;
}
.dmm-cd-order-timer-wrap {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    font-size: 0.9rem;
}
.dmm-cd-order-timer-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
}
.dmm-cd-order-timer {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    padding: 6px 12px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}
.dmm-cd-order-timer.is-urgent {
    background: #fff7ed;
    color: #9a3412;
    border-color: #fdba74;
}
.dmm-cd-order-timer.is-overdue {
    background: #fef2f2;
    color: #991b1b;
    border-color: #fecaca;
}
.dmm-cd-order-timer.is-neutral {
    background: #f1f5f9;
    color: #475569;
    border-color: #e2e8f0;
    font-weight: 600;
}
.dmm-cd-order-fold-body {
    padding-top: 2px;
}
.dmm-cd-order-meta-lead {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: var(--dmm-cd-space-3);
}
.dmm-cd-order-guest-notes {
    margin: 0 0 var(--dmm-cd-space-4);
    padding: 12px 14px;
    border-radius: 12px;
    background: #fffbeb;
    border: 1px solid #fde68a;
}
.dmm-cd-order-guest-notes-label {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #92400e;
    margin-bottom: 6px;
}
.dmm-cd-order-guest-notes-text {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.45;
    color: #78350f;
    font-weight: 500;
}
.dmm-cd-order-contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px 14px;
    margin: 0 0 var(--dmm-cd-space-4);
    font-size: 1rem;
    line-height: 1.45;
    color: #0f172a;
}
.dmm-cd-order-contact-item.dmm-cd-order-contact-span2 {
    grid-column: 1 / -1;
}
.dmm-cd-order-contact-k {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin-right: 6px;
}
.dmm-cd-order-dispatch-done {
    margin: 0 0 var(--dmm-cd-space-3);
    padding: 10px 12px;
    border-radius: 10px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
    font-size: 0.92rem;
    font-weight: 600;
}

.dmm-cd-order-bill-banner {
    margin: 0 0 var(--dmm-cd-space-3);
    padding: 10px 14px;
    border-radius: 8px;
    background: #fef3c7;
    border: 1px solid #fcd34d;
    color: #92400e;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.45;
}

.dmm-cd-order-lines-title {
    margin: var(--dmm-cd-space-3) 0 8px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
}

.dmm-cd-order-lines {
    margin: 0 0 var(--dmm-cd-space-4);
    padding-left: 0;
    list-style: none;
    color: #0f172a;
    font-size: 1.05rem;
    line-height: 1.5;
}
.dmm-cd-order-line-item {
    margin: 0 0 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.dmm-cd-order-line-main {
    display: block;
    font-weight: 600;
}

.dmm-cd-order-line-qty {
    font-weight: 600;
    color: #475569;
}
.dmm-cd-order-line-note {
    margin-top: 8px;
    font-size: 0.95rem;
    color: #334155;
    background: #fff;
    border-radius: 10px;
    padding: 8px 10px;
    line-height: 1.4;
    border: 1px solid #e2e8f0;
}
.dmm-cd-order-line-note--guest {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1e3a8a;
}

.dmm-cd-mods {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dmm-cd-mod-row {
    display: grid;
    grid-template-columns: 1fr 140px auto;
    gap: 8px;
    align-items: center;
}

.dmm-cd-mod-row .dmm-cd-input {
    min-width: 0;
}
.dmm-cd-mods-hint {
    margin: 6px 0 10px;
}

.dmm-cd-mod-bundles-card {
    margin: 0 0 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}
.dmm-cd-mod-bundles-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
}
.dmm-cd-mod-bundles-summary::-webkit-details-marker {
    display: none;
}
.dmm-cd-mod-bundles-summary-title {
    font-weight: 800;
    color: #0f172a;
}
.dmm-cd-mod-bundles-summary-count {
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 12px;
    font-weight: 800;
}
.dmm-cd-mod-bundles-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 0 16px 12px;
    margin-bottom: 0;
}
.dmm-cd-mod-bundles-intro {
    margin: 4px 0 0;
}
.dmm-cd-mod-bundles-actions,
.dmm-cd-mod-bundle-apply-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.dmm-cd-mod-bundles-empty {
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 13px;
}
.dmm-cd-mod-bundles-list {
    display: grid;
    gap: 12px;
    padding: 0 16px 16px;
}
.dmm-cd-mod-bundle {
    display: grid;
    gap: 10px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(203, 213, 225, 0.9);
    background: #ffffff;
}
.dmm-cd-mod-bundle-top,
.dmm-cd-mod-bundle-item-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: center;
}
.dmm-cd-mod-bundle-item-row {
    grid-template-columns: 1fr 140px auto;
}
.dmm-cd-mod-bundle-items {
    display: grid;
    gap: 8px;
}
.dmm-cd-mod-bundle-extra-add {
    justify-self: start;
}
.dmm-cd-mod-bundle-cat {
    min-width: 220px;
}
.dmm-cd-mod-bundle-template {
    min-width: 190px;
}
.dmm-cd-mod-bundle-picker {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 10px;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.9);
}
.dmm-cd-mod-dish-bundle {
    min-width: 220px;
}

.dmm-cd-mod-presets {
    margin: 0 0 12px;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.9);
}
.dmm-cd-mod-presets-label {
    display: block;
    font-size: 12.5px;
    color: #334155;
    margin-bottom: 6px;
    font-weight: 800;
}
.dmm-cd-mod-presets-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.dmm-cd-mod-presets-chips .dmm-cd-btn {
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12.5px;
    white-space: nowrap;
    background: #ffffff;
    border-color: #cbd5e1;
}
.dmm-cd-mod-add {
    align-self: flex-start;
    font-weight: 800;
}

.dmm-cd-upsell-hint {
    margin-top: 6px;
    color: #475569;
    font-size: 12.5px;
    line-height: 1.35;
}
.dmm-cd-order-cancel.dmm-cd-btn-outline {
    border-color: #fecaca;
    color: #b91c1c;
}
.dmm-cd-order-cancel.dmm-cd-btn-outline:hover {
    background: #fef2f2;
}

/* ============================================
   Card Radius Upgrade – App-Feel (20px)
   ============================================ */
.dmm-cd-card {
    border-radius: 20px;
    transition: box-shadow 0.2s ease, transform 0.18s ease;
}
.dmm-cd-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,0,0.09), 0 1px 4px rgba(0,0,0,0.04);
}
.dmm-cd-order-card {
    border-radius: 20px;
}
.dmm-cd-settings-card {
    border-radius: 20px;
}

/* ============================================
   Micro-Interactions – Buttons
   ============================================ */
.dmm-cd-btn {
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease,
                transform 0.1s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}
.dmm-cd-btn:active:not(:disabled) {
    transform: scale(0.96);
}
.dmm-cd-btn-primary:hover:not(:disabled) {
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.32);
    transform: translateY(-1px);
}
.dmm-cd-btn-secondary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.dmm-cd-btn-outline:hover:not(:disabled) {
    transform: translateY(-1px);
}

/* ============================================
   Section Header (h1 + Gear-Btn nebeneinander)
   ============================================ */
.dmm-cd-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: var(--dmm-cd-space-4);
}
.dmm-cd-section-header h1 {
    margin-bottom: 0;
}

/* Bestell-Einstellungen Button (ehemals Gear-Icon) */
.dmm-cd-settings-gear-btn,
.dmm-cd-orders-settings-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    height: auto;
    border: 1px solid var(--dmm-cd-primary);
    border-radius: 10px;
    background: var(--dmm-cd-primary);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: var(--dmm-cd-font-body);
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s, transform 0.1s;
    white-space: nowrap;
}
.dmm-cd-settings-gear-btn:hover,
.dmm-cd-orders-settings-btn:hover {
    background: var(--dmm-cd-primary-hover);
    border-color: var(--dmm-cd-primary-hover);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}
.dmm-cd-settings-gear-btn:active,
.dmm-cd-orders-settings-btn:active {
    transform: scale(0.97);
}
.dmm-cd-settings-gear-btn svg,
.dmm-cd-orders-settings-btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* ============================================
   Settings Slide-Over Panel
   ============================================ */
.dmm-cd-settings-panel-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.42);
    z-index: 100002;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}
body.admin-bar .dmm-cd-settings-panel-backdrop {
    top: 46px;
}
@media screen and (min-width: 783px) {
    body.admin-bar .dmm-cd-settings-panel-backdrop {
        top: 32px;
    }
}
.dmm-cd-settings-panel-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}
.dmm-cd-settings-panel {
    position: fixed;
    top: max(0px, env(safe-area-inset-top, 0px));
    right: 0;
    bottom: 0;
    width: 500px;
    max-width: 96vw;
    z-index: 100003;
    background: #fff;
    box-shadow: -8px 0 40px rgba(0,0,0,0.14);
    transform: translateX(110%);
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: calc(100vh - max(0px, env(safe-area-inset-top, 0px)));
    max-height: 100vh;
}
body.admin-bar .dmm-cd-settings-panel {
    top: 46px;
    height: calc(100vh - 46px);
}
@media screen and (min-width: 783px) {
    body.admin-bar .dmm-cd-settings-panel {
        top: 32px;
        height: calc(100vh - 32px);
    }
}
.dmm-cd-settings-panel.is-open {
    transform: translateX(0);
}
.dmm-cd-settings-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 16px;
    border-bottom: 1px solid var(--dmm-cd-border);
    flex-shrink: 0;
}
.dmm-cd-settings-panel-title {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    letter-spacing: -0.02em;
}
.dmm-cd-settings-panel-close {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: #0f172a;
    border-radius: 10px;
    cursor: pointer;
    color: #f8fafc;
    transition: background 0.15s, transform 0.1s;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
}
.dmm-cd-settings-panel-close:hover { background: #334155; }
.dmm-cd-settings-panel-close:active { transform: scale(0.9); }
.dmm-cd-settings-panel-close svg { width: 18px; height: 18px; }
.dmm-cd-settings-panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    -webkit-overflow-scrolling: touch;
}
.dmm-cd-settings-panel-body .dmm-cd-pairing-ai-card {
    margin-bottom: 16px;
    border-radius: 16px;
}
.dmm-cd-settings-panel-body .dmm-cd-pairing-ai-card:last-child {
    margin-bottom: 0;
}

/* ============================================
   Simplified ordering settings (panel)
   ============================================ */
.dmm-cd-upsell-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.dmm-cd-upsell-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(226,232,240,0.9);
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.dmm-cd-upsell-row .dmm-cd-checkbox-row { margin: 0; }
.dmm-cd-upsell-row .dmm-cd-label { margin-top: 2px; }

.dmm-cd-advanced-details {
    margin-top: 14px;
    border: 1px solid rgba(148,163,184,0.45);
    border-radius: 16px;
    padding: 12px;
    background: #f8fafc;
}
.dmm-cd-advanced-summary {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    font-weight: 700;
    color: #0f172a;
}
.dmm-cd-advanced-summary-hint {
    font-weight: 500;
    font-size: 12px;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dmm-cd-advanced-body {
    margin-top: 12px;
    display: grid;
    gap: 12px;
}
.dmm-cd-settings-subsection {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(226, 232, 240, 0.85);
    border-radius: 14px;
    background: #ffffff;
}
.dmm-cd-settings-subtitle {
    margin: 0 0 2px;
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}
.dmm-cd-advanced-intro,
.dmm-cd-advanced-field-hint {
    margin: 0;
}
.dmm-cd-advanced-field-hint {
    color: #64748b;
    font-size: 12.5px;
}
.dmm-cd-delivery-origin-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dmm-cd-delivery-fee-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 16px;
}

.dmm-cd-delivery-zone-block {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(148, 163, 184, 0.25);
}

.dmm-cd-delivery-zone-title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.dmm-cd-delivery-zone-map {
    width: 100%;
    height: 220px;
    border-radius: 12px;
    margin: 10px 0 12px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #f1f5f9;
    overflow: hidden;
}

.dmm-cd-delivery-radius-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
}

.dmm-cd-delivery-radius-slider {
    width: 100%;
    accent-color: #6366f1;
}

@media (max-width: 900px) {
    .dmm-cd-delivery-fee-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .dmm-cd-delivery-origin-grid {
        grid-template-columns: 1fr;
    }
}

.dmm-cd.dark-mode .dmm-cd-upsell-row {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.35);
}
.dmm-cd.dark-mode .dmm-cd-mod-bundles-card,
.dmm-cd.dark-mode .dmm-cd-mod-bundle {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.35);
}
.dmm-cd.dark-mode .dmm-cd-mod-bundles-summary-title {
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-mod-bundles-summary-count {
    background: rgba(99, 102, 241, 0.18);
    color: #c7d2fe;
}
.dmm-cd.dark-mode .dmm-cd-mod-bundle-picker {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.35);
}
.dmm-cd.dark-mode .dmm-cd-mod-bundles-empty {
    background: rgba(15,23,42,0.45);
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-advanced-details {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.25);
}
.dmm-cd.dark-mode .dmm-cd-advanced-summary { color: #e2e8f0; }
.dmm-cd.dark-mode .dmm-cd-advanced-summary-hint { color: rgba(148,163,184,0.75); }
.dmm-cd.dark-mode .dmm-cd-settings-subsection {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.35);
}
.dmm-cd.dark-mode .dmm-cd-settings-subtitle {
    color: #e2e8f0;
}

/* ============================================
   Mobile Bottom Navigation (App-Shell)
   ============================================ */
.dmm-cd-mobile-bottom-nav {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9990;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 1px solid var(--dmm-cd-border);
    padding-bottom: max(0px, env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -8px 32px -8px rgba(15, 23, 42, 0.12);
}
.dmm-cd-mobile-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex: 1;
    padding: 10px 4px;
    min-height: 56px;
    color: #64748b;
    text-decoration: none;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.03em;
    cursor: pointer;
    border: none;
    background: none;
    transition: color 0.15s;
    -webkit-tap-highlight-color: transparent;
    font-family: var(--dmm-cd-font-body);
}
.dmm-cd-mobile-nav-item svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}
.dmm-cd-mobile-nav-item.is-active {
    color: var(--dmm-cd-primary);
    font-weight: 600;
}
.dmm-cd-mobile-nav-item:active {
    transform: scale(0.9);
    transition: transform 0.08s;
}
/* Aktiver Dot-Indikator */
.dmm-cd-mobile-nav-item.is-active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--dmm-cd-primary);
}
.dmm-cd-mobile-nav-item {
    position: relative;
}

/* Nur auf Mobile sichtbar */
@media (min-width: 769px) {
    .dmm-cd-mobile-bottom-nav {
        display: none;
    }
}

/* Mobile: Hauptinhalt nicht unter Bottom-Nav */
@media (max-width: 768px) {
    .dmm-cd-main {
        padding-bottom: calc(72px + max(8px, env(safe-area-inset-bottom, 0px)));
    }
    /* Editor-Float-Dock beachtet auch Bottom-Nav */
    #dmm-cd-menue.active {
        padding-bottom: calc(144px + env(safe-area-inset-bottom, 0px));
    }
}

/* ============================================
   Field Help Texts
   ============================================ */
.dmm-cd-field-help {
    font-size: 0.8rem;
    color: #64748b;
    margin: 4px 0 0 0;
    line-height: 1.45;
}

/* ============================================
   Dark-Mode Toggle Button
   ============================================ */
/* Base toggle — sits in sidebar footer, overrides below if needed elsewhere */
.dmm-cd-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    flex-shrink: 0;
    border: none;
    background: none;
    color: inherit;
}
.dmm-cd-theme-toggle svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.dmm-cd-theme-toggle .dmm-icon-moon { display: none; }
.dmm-cd.dark-mode .dmm-cd-theme-toggle .dmm-icon-sun  { display: none; }
.dmm-cd.dark-mode .dmm-cd-theme-toggle .dmm-icon-moon { display: block; }

/* ============================================
   KI-Bild-Generator Button & Overlay
   ============================================ */
.dmm-cd-ki-image-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    padding: 6px 10px;
    color: #6366f1;
    border-color: #c7d2fe;
    background: #eef2ff;
}
.dmm-cd-ki-image-btn:hover {
    background: #e0e7ff;
    border-color: #a5b4fc;
    color: #4f46e5;
}

.dmm-cd-ki-image-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(15, 23, 42, 0.7);
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(4px);
}

.dmm-cd-ki-image-overlay:not([hidden]) {
    display: flex;
}
.dmm-cd-ki-image-modal {
    background: #fff;
    border-radius: 20px;
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    display: flex;
    flex-direction: column;
}
.dmm-cd-ki-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #f1f5f9;
    flex-shrink: 0;
}
.dmm-cd-ki-modal-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6366f1;
}
.dmm-cd-ki-modal-title-row h2 {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}
.dmm-cd-ki-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s;
}
.dmm-cd-ki-modal-close:hover { background: #e2e8f0; color: #0f172a; }
.dmm-cd-ki-modal-body {
    padding: 20px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.dmm-cd-ki-prompt-area {
    font-size: 13px;
    resize: vertical;
    min-height: 72px;
}
.dmm-cd-ki-modal-edit-row .dmm-cd-input {
    margin-top: 6px;
}
.dmm-cd-ki-improve-btn {
    border-color: #c7d2fe;
    color: #4f46e5;
    background: #eef2ff;
}
.dmm-cd-ki-improve-btn:hover:not(:disabled) {
    background: #e0e7ff;
    border-color: #a5b4fc;
}
.dmm-cd-ki-modal-preview {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    position: relative;
    min-height: 40px;
}
/* Initial skeleton before first generation */
.dmm-cd-ki-modal-preview.is-loading {
    min-height: 220px;
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: dmm-cd-skeleton 1.2s ease-in-out infinite;
}
.dmm-cd-ki-modal-preview.is-loading .dmm-cd-ki-preview-img {
    opacity: 0;
}
/* Re-generation: blur existing image + show spinner on top */
.dmm-cd-ki-modal-preview.is-generating-img .dmm-cd-ki-preview-img {
    filter: blur(6px) brightness(0.72);
    transform: scale(1.03);
    transition: filter 0.25s ease, transform 0.25s ease;
}
/* Spinner overlay */
.dmm-cd-ki-preview-loader {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.22);
    border-radius: 12px;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.dmm-cd-ki-spinner {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.25);
    border-top-color: #6366f1;
    animation: dmm-ki-spin 0.72s linear infinite;
}
@keyframes dmm-ki-spin {
    to { transform: rotate(360deg); }
}
/* Image fade-in on load */
.dmm-cd-ki-preview-img {
    width: 100%;
    height: auto;
    display: block;
    transition: filter 0.3s ease, transform 0.3s ease, opacity 0.35s ease;
}
.dmm-cd-ki-preview-img.ki-img-loading {
    opacity: 0;
}
.dmm-cd-ki-preview-img.ki-img-loaded {
    opacity: 1;
}
/* Shake animation (error / block-close feedback) */
@keyframes dmm-ki-shake {
    0%,100% { transform: translateX(0); }
    15%      { transform: translateX(-6px); }
    40%      { transform: translateX(6px); }
    60%      { transform: translateX(-4px); }
    80%      { transform: translateX(4px); }
}
.dmm-cd-ki-image-modal.ki-shake {
    animation: dmm-ki-shake 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}
.dmm-cd-ki-image-overlay.is-generating .dmm-cd-ki-generate-btn {
    opacity: 0.75;
    cursor: wait;
}
.dmm-cd-ki-status-text {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}
.dmm-cd-ki-modal-foot {
    padding: 16px 24px 20px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    flex-shrink: 0;
    align-items: center;
}
/* "Neu" regenerate button — small, compact */
.dmm-cd-ki-regen-btn {
    padding: 8px 12px;
    font-size: 12px;
    gap: 5px;
    opacity: 0.75;
}
.dmm-cd-ki-regen-btn:hover:not(:disabled) { opacity: 1; }

/* Accept button — success green */
.dmm-cd-btn-success {
    background: #059669;
    border-color: #059669;
    color: #fff;
}
.dmm-cd-btn-success:hover:not(:disabled) {
    background: #047857;
    border-color: #047857;
}
.dmm-cd-ki-feedback-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.dmm-cd-ki-revision-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.dmm-cd-ki-feedback-input {
    font-size: 13px;
    min-height: 56px;
    resize: vertical;
}
.dmm-cd-ki-iterate-btn {
    align-self: flex-start;
}

/* ============================================
   Hub Toggle in Overview Cards
   ============================================ */
/* now replaced by dmm-cd-card-top-row */
.dmm-cd-extra-card-header,
.dmm-cd-card-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.dmm-cd-hub-toggle-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    user-select: none;
    font-size: 0.78rem;
    color: #64748b;
}

.dmm-cd-hub-toggle-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.dmm-cd-hub-toggle-track {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 19px;
    border-radius: 100px;
    background: #cbd5e1;
    transition: background 0.2s;
    flex-shrink: 0;
}
.dmm-cd-hub-toggle-track::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.dmm-cd-hub-toggle-input:checked + .dmm-cd-hub-toggle-track {
    background: #6366f1;
}
.dmm-cd-hub-toggle-input:checked + .dmm-cd-hub-toggle-track::after {
    transform: translateX(15px);
}

/* ============================================
   Status-Banner
   ============================================ */
.dmm-cd-status-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 9px 20px;
    font-size: 0.875rem;
    flex-shrink: 0;
    order: -1; /* sits above topbar in flex column */
}
.dmm-cd-status-banner.is-live {
    background: #dcfce7;
    border-bottom: 1px solid #bbf7d0;
    color: #14532d;
}
.dmm-cd-status-banner.is-offline {
    background: #fef3c7;
    border-bottom: 1px solid #fde68a;
    color: #78350f;
}
.dmm-cd-status-banner.is-disabled {
    background: #fee2e2;
    border-bottom: 1px solid #fecaca;
    color: #7f1d1d;
}
.dmm-cd-status-banner-left {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}
.dmm-cd-status-banner-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.dmm-cd-status-banner.is-live .dmm-cd-status-banner-dot {
    background: #16a34a;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.25);
    animation: dmm-pulse-green 1.8s ease-in-out infinite;
}
.dmm-cd-status-banner.is-offline .dmm-cd-status-banner-dot {
    background: #d97706;
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.25);
}
.dmm-cd-status-banner.is-disabled .dmm-cd-status-banner-dot {
    background: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2);
}
@keyframes dmm-pulse-green {
    0%, 100% { box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.25); }
    50%       { box-shadow: 0 0 0 6px rgba(22, 163, 74, 0.08); }
}
.dmm-cd-status-banner-sep {
    margin: 0 7px;
    opacity: 0.4;
}
.dmm-cd-status-banner-btn {
    padding: 5px 14px;
    font-size: 0.8rem;
    border-radius: 8px;
    border: 1px solid currentColor;
    background: transparent;
    color: inherit;
    cursor: pointer;
    opacity: 0.85;
    font-weight: 600;
    transition: opacity 0.15s, background 0.15s;
}
.dmm-cd-status-banner-btn:hover { opacity: 1; background: rgba(0,0,0,0.06); }
.dmm-cd-status-banner.is-live .dmm-cd-status-banner-btn {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
    opacity: 1;
}
.dmm-cd-status-banner.is-live .dmm-cd-status-banner-btn:hover { background: #15803d; border-color: #15803d; }
.dmm-cd-status-banner.is-disabled .dmm-cd-status-banner-btn {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
    opacity: 1;
}
.dmm-cd-status-banner.is-disabled .dmm-cd-status-banner-btn:hover { background: #b91c1c; border-color: #b91c1c; }

/* ── Sidebar footer: Dark Mode toggle + compact toggle — always at the very bottom ── */
/*
 * Absolut positioniert unten im Sidebar-Container (position: relative).
 * Dadurch scrollt der Footer NIE mit dem Nav-Inhalt mit – unabhängig von
 * Flex-Algorithmus, overflow und Content-Höhe.
 */
.dmm-cd-sidebar-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    /* Horizontal padding bündig mit den Nav-Items; Top-Padding für optischen Abstand */
    padding: 8px var(--dmm-cd-space-4) 0;
    /* Gleicher Hintergrund wie die Sidebar – kein Gradient, keine dunklere Farbe */
    background: var(--dmm-cd-sidebar-gradient);
}

.dmm-cd-sidebar-footer {
    padding: 0 0 max(10px, env(safe-area-inset-bottom, 10px));
    border-top: 1px solid var(--dmm-cd-sidebar-border);
}
.dmm-cd-sidebar-footer .dmm-cd-theme-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border-radius: 12px;
    border: 1px solid var(--dmm-cd-border);
    background: var(--dmm-cd-surface-inset);
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background var(--dmm-cd-motion-fast) ease, color var(--dmm-cd-motion-fast) ease, border-color var(--dmm-cd-motion-fast) ease;
    height: auto;
    width: auto;
}
.dmm-cd-sidebar-footer .dmm-cd-theme-toggle:hover {
    background: #fff;
    color: var(--dmm-cd-primary);
    border-color: rgba(91, 82, 240, 0.25);
    transform: none;
}
.dmm-cd-sidebar-footer .dmm-cd-theme-toggle svg { width: 16px; height: 16px; flex-shrink: 0; }
.dmm-cd-sidebar-footer-label { font-size: 13px; }

/* Compact sidebar: hide label */
.dmm-cd-sidebar-wrap.is-compact .dmm-cd-sidebar-footer-label { display: none; }
.dmm-cd-sidebar-wrap.is-compact .dmm-cd-sidebar-footer .dmm-cd-theme-toggle { justify-content: center; padding: 9px; }
.dmm-cd-sidebar-wrap.is-compact .dmm-cd-sidebar-footer .dmm-cd-sidebar-compact-toggle { padding: 9px; }

/* ── Overview card actions ── */
.dmm-cd-card-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    margin-top: auto;
    padding-top: 12px;
    overflow-x: auto;
    scrollbar-width: none;
}
.dmm-cd-card-actions::-webkit-scrollbar { display: none; }
.dmm-cd-preview-link-btn,
.dmm-cd-copy-link,
.dmm-cd-duplicate-card-btn,
.dmm-cd-delete-extra-btn,
.dmm-cd-btn-icon {
    width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 8px;
}

/* ── Karten-Typ-Farben ── */
.dmm-cd-card--main {
    border-left: 3px solid #6366f1;
}
.dmm-cd-card--extra {
    border-left: 3px solid #8b5cf6;
    background: linear-gradient(to bottom, #faf5ff 0%, var(--dmm-cd-card-bg) 60px);
}

/* ── Karten Meta-Zeile ── */
.dmm-cd-card-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 8px;
}
.dmm-cd-card-meta-chip {
    display: inline-flex;
    align-items: center;
    font-size: 11.5px;
    font-weight: 500;
    background: #f1f5f9;
    color: #475569;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}
.dmm-cd-card-meta-chip--muted {
    background: transparent;
    color: #94a3b8;
    font-weight: 400;
    font-size: 11px;
}

/* ── Karte: Eltern-Hinweis für Zusatzkarten ── */
.dmm-cd-card-parent-hint {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #7c3aed;
    margin: -4px 0 8px;
    font-weight: 500;
}
.dmm-cd-card-parent-hint svg { flex-shrink: 0; }

.dmm-cd-card-tab-hint {
    font-size: 12px;
    color: #64748b;
    margin: 4px 0 8px;
    line-height: 1.4;
}
.dmm-cd-card-tab-hint--same .dmm-cd-card-tab-hint-note {
    color: #94a3b8;
    font-weight: 400;
}

/* ── Hauptkarte Anker-Hinweis ── */
.dmm-cd-main-badge-hint {
    font-size: 11px;
    color: #94a3b8;
    font-weight: 400;
    margin-left: 2px;
}

/* ── Neue Hauptkarte: Akzent-Button ── */
.dmm-cd-btn-main-accent {
    background: #6366f1;
    color: #fff;
    border: none;
    font-weight: 700;
}
.dmm-cd-btn-main-accent:hover { background: #4f46e5; }

/* ── Management Bar ── */
.dmm-cd-menu-mgmt-bar {
    margin-top: var(--dmm-cd-space-4);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.dmm-cd-menu-mgmt-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Dark mode */
.dmm-cd.dark-mode .dmm-cd-card--extra {
    background: linear-gradient(to bottom, rgba(139,92,246,0.07) 0%, var(--dmm-cd-card-bg) 60px);
}
.dmm-cd.dark-mode .dmm-cd-card-meta-chip { background: rgba(255,255,255,0.06); color: #94a3b8; }
.dmm-cd.dark-mode .dmm-cd-card-parent-hint { color: #a78bfa; }
.dmm-cd.dark-mode .dmm-cd-card-tab-hint { color: #94a3b8; }
.dmm-cd.dark-mode .dmm-cd-card-tab-hint--same .dmm-cd-card-tab-hint-note { color: #64748b; }
.dmm-cd.dark-mode .dmm-cd-main-badge-hint { color: #475569; }

.dmm-cd-qr-workspace {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.dmm-cd-qr-panel {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dmm-cd-qr-panel--preview {
    grid-column: 1 / -1;
}

.dmm-cd-qr-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.dmm-cd-qr-panel-head h3 {
    margin: 0 0 6px;
}

.dmm-cd-qr-panel-head p,
.dmm-cd-qr-empty,
.dmm-cd-qr-preview-hint {
    margin: 0;
    color: var(--dmm-cd-muted);
}

.dmm-cd-qr-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--dmm-cd-text);
    font-size: 12px;
    font-weight: 700;
}

.dmm-cd-qr-standard {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
}

.dmm-cd-qr-code {
    width: 140px;
    height: 140px;
    object-fit: contain;
    border-radius: 18px;
    border: 1px solid var(--dmm-cd-border);
    background: #fff;
    padding: 10px;
}

.dmm-cd-qr-code--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--dmm-cd-muted);
    font-size: 13px;
}

.dmm-cd-qr-inline-actions,
.dmm-cd-qr-table-actions,
.dmm-cd-qr-preview-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dmm-cd-qr-add-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
}

.dmm-cd-qr-table-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dmm-cd-qr-table-row {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 16px;
    background: rgba(255,255,255,0.75);
}

.dmm-cd-qr-table-main {
    flex: 1 1 auto;
    min-width: 0;
}

.dmm-cd-qr-table-input {
    margin-bottom: 6px;
}

.dmm-cd-qr-table-meta {
    display: block;
    color: var(--dmm-cd-muted);
    font-size: 12px;
}

.dmm-cd-qr-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dmm-cd-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.dmm-cd-qr-preview-toolbar {
    align-items: flex-end;
    justify-content: space-between;
}

.dmm-cd-qr-preview-wrap {
    display: flex;
    justify-content: center;
}

.dmm-cd-qr-preview-card {
    width: min(100%, 420px);
    min-height: 420px;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(180deg, #fff 0%, #faf7f2 100%);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 22px 45px -24px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.dmm-cd-qr-preview-card.is-table-tent {
    min-height: 470px;
}

.dmm-cd-qr-preview-brand {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.dmm-cd-qr-preview-logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    background: #fff;
}

.dmm-cd-qr-preview-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: center;
}

.dmm-cd-qr-preview-brand-copy strong {
    font-size: 22px;
    line-height: 1.1;
}

.dmm-cd-qr-preview-brand-copy span,
.dmm-cd-qr-preview-footer {
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--dmm-cd-muted);
}

.dmm-cd-qr-preview-text {
    text-align: center;
}

.dmm-cd-qr-preview-text h3 {
    margin: 0 0 6px;
    font-size: 30px;
    line-height: 1.1;
}

.dmm-cd-qr-preview-text p {
    margin: 0;
    color: var(--dmm-cd-muted);
}

.dmm-cd-qr-preview-code {
    width: 220px;
    height: 220px;
    object-fit: contain;
    border: 2px solid #111827;
    background: #fff;
    padding: 10px;
}

.dmm-cd-qr-preview-code--placeholder {
    color: var(--dmm-cd-muted);
    font-size: 14px;
}

.dmm-cd-qr-preview-cta {
    font-size: 24px;
    font-weight: 800;
    text-align: center;
}

@media (max-width: 980px) {
    .dmm-cd-qr-workspace,
    .dmm-cd-qr-form-grid,
    .dmm-cd-qr-standard {
        grid-template-columns: 1fr;
    }

    .dmm-cd-qr-table-row,
    .dmm-cd-qr-preview-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ============================================
   Extra-Menu Badge in Übersichtskarten
   ============================================ */
.dmm-cd-extra-badge,
.dmm-cd-main-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0.03em;
    flex-shrink: 0;
}
.dmm-cd-extra-badge {
    background: #ede9fe;
    color: #5b21b6;
}
.dmm-cd-main-badge {
    background: #fef3c7;
    color: #92400e;
}

/* ── Menü-Verwaltung Bar ── */
.dmm-cd-menu-mgmt-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    flex-wrap: wrap;
}
.dmm-cd-menu-mgmt-hint {
    font-size: 12px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.4;
}

/* ============================================
   Orders – Rich Empty State
   ============================================ */
.dmm-cd-orders-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 48px 24px;
    text-align: center;
}
.dmm-cd-orders-empty-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #ede9fe 0%, #e0f2fe 100%);
    color: #6366f1;
    flex-shrink: 0;
}
.dmm-cd-orders-empty-icon svg {
    width: 40px;
    height: 40px;
}
.dmm-cd-orders-empty-title {
    font-family: var(--dmm-cd-font-display);
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    letter-spacing: -0.02em;
}
.dmm-cd-orders-empty-text {
    font-size: 0.9rem;
    color: #64748b;
    margin: 0;
    max-width: 28ch;
    line-height: 1.55;
}

/* ============================================
   Snapshots – Accordion
   ============================================ */
.dmm-cd-snapshots-accordion {
    cursor: pointer;
}
.dmm-cd-snapshots-accordion > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
    user-select: none;
    gap: 12px;
}
.dmm-cd-snapshots-accordion > summary::-webkit-details-marker { display: none; }
.dmm-cd-snapshots-summary-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}
.dmm-cd-snapshots-summary-chevron {
    flex-shrink: 0;
    color: #94a3b8;
    transition: transform 0.2s ease;
}
.dmm-cd-snapshots-accordion[open] .dmm-cd-snapshots-summary-chevron {
    transform: rotate(180deg);
}
.dmm-cd-snapshots-accordion > summary .dmm-cd-pairing-ai-title {
    margin-bottom: 0;
}
.dmm-cd-snapshots-body {
    padding-top: 12px;
}

/* ============================================
   Dark Mode
   ============================================ */
.dmm-cd.dark-mode {
    --dmm-cd-bg: #0f172a;
    --dmm-cd-bg-mesh: #0f172a;
    --dmm-cd-card-bg: #1e293b;
    --dmm-cd-border: rgba(255, 255, 255, 0.08);
    --dmm-cd-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    --dmm-cd-card-shadow-hover: 0 8px 32px rgba(0, 0, 0, 0.5);
    --dmm-cd-save-bar-bg: #1e293b;
    --dmm-cd-save-bar-text: #e2e8f0;
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-main {
    background: #0f172a;
}
.dmm-cd.dark-mode .dmm-cd-main h1,
.dmm-cd.dark-mode .dmm-cd-main h2,
.dmm-cd.dark-mode .dmm-cd-main h3,
.dmm-cd.dark-mode .dmm-cd-main h4 {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-section-lead,
.dmm-cd.dark-mode .dmm-cd-section-intro,
.dmm-cd.dark-mode .dmm-cd-snapshots-load-hint {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-card {
    border-color: rgba(255, 255, 255, 0.07);
}
.dmm-cd.dark-mode .dmm-cd-card h3 {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-hub-tab-pencil {
    border-color: rgba(129, 140, 248, 0.45);
    background: rgba(99, 102, 241, 0.15);
    color: #a5b4fc;
}
.dmm-cd.dark-mode .dmm-cd-hub-tab-pencil:hover {
    background: rgba(99, 102, 241, 0.22);
}
.dmm-cd.dark-mode .dmm-cd-hub-tab-panel .dmm-cd-hub-tab-help {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-pairing-ai-card {
    background: linear-gradient(180deg, #1e293b 0%, #172033 100%);
    border-color: rgba(255, 255, 255, 0.07);
}
.dmm-cd.dark-mode .dmm-cd-pairing-ai-title {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-overview-hero {
    background: linear-gradient(135deg, #1e293b 0%, #172033 55%, rgba(67, 56, 202, 0.25) 100%);
    border-color: rgba(79, 70, 229, 0.25);
}
.dmm-cd.dark-mode .dmm-cd-overview-welcome,
.dmm-cd.dark-mode .dmm-cd-overview-meta,
.dmm-cd.dark-mode .dmm-cd-card-last-modified {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-status-badge.is-publish {
    background: rgba(22, 163, 74, 0.2);
    color: #86efac;
}
.dmm-cd.dark-mode .dmm-cd-status-badge.is-draft {
    background: rgba(217, 119, 6, 0.2);
    color: #fcd34d;
}
.dmm-cd.dark-mode .dmm-cd-settings-card {
    border-color: rgba(255, 255, 255, 0.08);
}
.dmm-cd.dark-mode .dmm-cd-label {
    color: #cbd5e1;
}
/* ─── Dark Mode: Form fields ──────────────────── */
.dmm-cd.dark-mode .dmm-cd-input,
.dmm-cd.dark-mode .dmm-cd-select,
.dmm-cd.dark-mode .dmm-cd-textarea,
.dmm-cd.dark-mode textarea.dmm-cd-input {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.25);
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-input:hover,
.dmm-cd.dark-mode .dmm-cd-select:hover,
.dmm-cd.dark-mode .dmm-cd-textarea:hover {
    border-color: rgba(148, 163, 184, 0.45);
    background: #1e293b;
}
.dmm-cd.dark-mode .dmm-cd-input:focus,
.dmm-cd.dark-mode .dmm-cd-select:focus,
.dmm-cd.dark-mode .dmm-cd-textarea:focus {
    background: #0f172a;
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-input::placeholder,
.dmm-cd.dark-mode .dmm-cd-textarea::placeholder {
    color: #64748b;
}
.dmm-cd.dark-mode .dmm-cd-select option {
    background: #1e293b;
    color: #e2e8f0;
}
/* Editor-specific inputs in dark mode */
.dmm-cd.dark-mode .dmm-cd-editor-restaurant {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.3);
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-editor-restaurant-section {
    border-color: rgba(99, 102, 241, 0.28);
    background: rgba(99, 102, 241, 0.12);
}
.dmm-cd.dark-mode .dmm-cd-editor-restaurant-hint {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-editor-restaurant:focus {
    background: #0f172a;
    border-color: #6366f1;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.18);
}
/* Settings panel in dark mode */
.dmm-cd.dark-mode .dmm-cd-settings-panel {
    background: #1e293b;
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-settings-panel-head {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}
.dmm-cd.dark-mode .dmm-cd-settings-panel-title {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-settings-panel-close {
    background: #f8fafc;
    color: #0f172a;
    border-color: transparent;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
.dmm-cd.dark-mode .dmm-cd-settings-panel-close:hover {
    background: #e2e8f0;
    color: #0f172a;
}
.dmm-cd.dark-mode .dmm-cd-settings-panel-body {
    color: #cbd5e1;
}
/* Topbar buttons in dark mode */
.dmm-cd.dark-mode .dmm-cd-topbar {
    background: rgba(15, 23, 42, 0.94);
    border-bottom-color: rgba(148, 163, 184, 0.18);
    color: #f8fafc;
}
.dmm-cd.dark-mode .dmm-cd-topbar-menu-name {
    color: rgba(226, 232, 240, 0.72);
}
.dmm-cd.dark-mode .dmm-cd-topbar-section {
    color: #f8fafc;
}
.dmm-cd.dark-mode .dmm-cd-topbar-clock {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
    color: #f8fafc;
}
.dmm-cd.dark-mode .dmm-cd-topbar .dmm-cd-burger {
    background: rgba(255, 255, 255, 0.08);
    color: #f8fafc;
}
.dmm-cd.dark-mode .dmm-cd-topbar-preview-btn,
.dmm-cd.dark-mode .dmm-cd-topbar-logout-btn {
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.8);
}
.dmm-cd.dark-mode .dmm-cd-topbar-preview-btn:hover,
.dmm-cd.dark-mode .dmm-cd-topbar-logout-btn:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}
.dmm-cd.dark-mode .dmm-cd-orders-empty-title {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-orders-empty-icon {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.2) 0%, rgba(14, 165, 233, 0.15) 100%);
}
.dmm-cd.dark-mode .dmm-cd-orders-aside {
    background: linear-gradient(165deg, #1e293b 0%, #172033 100%);
    border-color: rgba(255, 255, 255, 0.08);
}
.dmm-cd.dark-mode .dmm-cd-orders-aside-title {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-orders-aside-big {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-orders-aside-list {
    color: #cbd5e1;
}
.dmm-cd.dark-mode .dmm-cd-orders-aside-list li {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(255, 255, 255, 0.08);
}
.dmm-cd.dark-mode .dmm-cd-orders-aside-list strong {
    color: #f8fafc;
}
.dmm-cd.dark-mode .dmm-cd-orders-aside-hint {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-order-fold-summary {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}
.dmm-cd.dark-mode .dmm-cd-order-timer-label {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-order-timer-row .dmm-cd-order-timer-label {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-order-timer-eta-hint {
    color: #64748b;
}
.dmm-cd.dark-mode .dmm-cd-order-line-item {
    background: rgba(15, 23, 42, 0.35);
    border-color: rgba(255, 255, 255, 0.08);
}
.dmm-cd.dark-mode .dmm-cd-order-line-note {
    background: rgba(15, 23, 42, 0.5);
    border-color: rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
}
.dmm-cd.dark-mode .dmm-cd-order-line-note--guest {
    background: rgba(30, 58, 138, 0.35);
    border-color: rgba(96, 165, 250, 0.35);
    color: #bfdbfe;
}
.dmm-cd.dark-mode .dmm-cd-order-line-main {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-order-guest-notes {
    background: rgba(120, 53, 15, 0.25);
    border-color: rgba(251, 191, 36, 0.35);
}
.dmm-cd.dark-mode .dmm-cd-order-guest-notes-label {
    color: #fcd34d;
}
.dmm-cd.dark-mode .dmm-cd-order-guest-notes-text {
    color: #fef3c7;
}
.dmm-cd.dark-mode .dmm-cd-order-contact-grid {
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-order-contact-k {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-order-dispatch-done {
    background: rgba(6, 95, 70, 0.25);
    border-color: rgba(52, 211, 153, 0.35);
    color: #86efac;
}
.dmm-cd.dark-mode .dmm-cd-status-banner.is-live {
    background: rgba(22, 163, 74, 0.15);
    border-bottom-color: rgba(22, 163, 74, 0.25);
    color: #86efac;
}
.dmm-cd.dark-mode .dmm-cd-status-banner.is-offline {
    background: rgba(217, 119, 6, 0.15);
    border-bottom-color: rgba(217, 119, 6, 0.25);
    color: #fcd34d;
}
.dmm-cd.dark-mode .dmm-cd-status-banner.is-disabled {
    background: rgba(220, 38, 38, 0.15);
    border-bottom-color: rgba(220, 38, 38, 0.3);
    color: #fca5a5;
}
.dmm-cd.dark-mode .dmm-cd-settings-gear-btn {
    background: #6366f1;
    border-color: #6366f1;
    color: #fff;
}
.dmm-cd.dark-mode .dmm-cd-settings-gear-btn:hover {
    background: #4f46e5;
    border-color: #4f46e5;
}
.dmm-cd.dark-mode .dmm-cd-orders-settings-btn {
    background: #6366f1;
    border-color: #6366f1;
    color: #fff;
}
.dmm-cd.dark-mode .dmm-cd-orders-settings-btn:hover {
    background: #4f46e5;
    border-color: #4f46e5;
}

/* ============================================
   Hub-Link im Dashboard
   ============================================ */
/* ── Karten-Verbund Card (replaces old hub-link-card) ── */
.dmm-cd-verbund-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px 20px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border: 1px solid rgba(99, 102, 241, 0.35);
    margin-top: var(--dmm-cd-space-4);
    position: relative;
    overflow: hidden;
}
.dmm-cd-verbund-card::before {
    content: '';
    position: absolute;
    top: -30px;
    right: -30px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(99,102,241,0.25) 0%, transparent 70%);
    pointer-events: none;
}
.dmm-cd-verbund-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.dmm-cd-verbund-card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(99, 102, 241, 0.25);
    color: #a5b4fc;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dmm-cd-verbund-card-icon svg { width: 20px; height: 20px; }
.dmm-cd-verbund-card-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #e2e8f0;
    letter-spacing: -0.01em;
}
.dmm-cd-verbund-card-subtitle {
    font-size: 0.78rem;
    color: rgba(148, 163, 184, 0.85);
    margin-top: 2px;
}
.dmm-cd-verbund-url-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    padding: 8px 12px;
}
.dmm-cd-verbund-url {
    flex: 1 1 auto;
    font-size: 0.8rem;
    color: #a5b4fc;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    font-family: 'SF Mono', 'Fira Code', monospace;
}
.dmm-cd-verbund-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
.dmm-cd-verbund-hint {
    font-size: 11.5px;
    color: rgba(148, 163, 184, 0.6);
    line-height: 1.5;
}

/* Keep old class for potential compat */
.dmm-cd-hub-link-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 14px 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ede9fe 0%, #e0f2fe 100%);
    border: 1px solid rgba(99, 102, 241, 0.18);
    margin-top: var(--dmm-cd-space-4);
}
.dmm-cd-hub-link-card-left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.dmm-cd-hub-link-card-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #6366f1;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dmm-cd-hub-link-card-icon svg {
    width: 18px;
    height: 18px;
}
.dmm-cd-hub-link-card-text {
    min-width: 0;
}
.dmm-cd-hub-link-card-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1e1b4b;
    margin-bottom: 2px;
}
.dmm-cd-hub-link-card-url {
    font-size: 0.78rem;
    color: #4338ca;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 28rem;
    display: block;
}
.dmm-cd-hub-link-card-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.dmm-cd.dark-mode .dmm-cd-hub-link-card {
    background: linear-gradient(135deg, rgba(99,102,241,0.2) 0%, rgba(14,165,233,0.12) 100%);
    border-color: rgba(99, 102, 241, 0.3);
}
.dmm-cd.dark-mode .dmm-cd-hub-link-card-title { color: #e0e7ff; }
.dmm-cd.dark-mode .dmm-cd-hub-link-card-url   { color: #a5b4fc; }

/* Header-Shortcode: kompakte Buttons, auch wenn spätere Theme-Regeln greifen. */
.dmm-anmelden-dashboard-header.dmm-form-card {
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    vertical-align: middle !important;
}
.dmm-anmelden-dashboard-header .dmm-form-card-inner {
    padding: 0 !important;
}
.dmm-anmelden-dashboard-header .dmm-form-card-actions {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    align-items: center !important;
}
.dmm-anmelden-dashboard-header .dmm-cd-btn.dmm-anmelden-dashboard-btn {
    width: auto !important;
    min-height: 30px !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
@media (max-width: 640px) {
    .dmm-anmelden-dashboard-header .dmm-form-card-actions {
        gap: 4px !important;
    }
    .dmm-anmelden-dashboard-header .dmm-cd-btn.dmm-anmelden-dashboard-btn {
        min-height: 26px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
    }
}

.dmm-cd-commerce-flow-card,
#dmm-cd-pairing-ai-card.dmm-cd-settings-card {
    margin-top: 16px;
    padding: 18px;
}
.dmm-cd-commerce-step-card {
    margin-top: 16px;
    padding: 0;
    overflow: hidden;
}
.dmm-cd-commerce-step-summary {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    font-size: 15px;
    font-weight: 850;
    color: #0f172a;
}
.dmm-cd-commerce-step-summary::-webkit-details-marker {
    display: none;
}
.dmm-cd-commerce-step-summary::after {
    content: "▾";
    flex: 0 0 auto;
    color: #64748b;
    font-size: 12px;
    transition: transform 0.18s ease;
}
.dmm-cd-commerce-step-card:not([open]) .dmm-cd-commerce-step-summary::after {
    transform: rotate(-90deg);
}
.dmm-cd-commerce-step-body,
.dmm-cd-commerce-step-card > .dmm-cd-advanced-body {
    padding: 0 18px 18px;
}
.dmm-cd-recommendation-pool-list {
    display: grid;
    gap: 12px;
    margin-top: 8px;
}
.dmm-cd-recommendation-pool-group {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 14px;
    background: #f8fafc;
}
.dmm-cd-recommendation-pool-group.is-active {
    border-color: rgba(34, 197, 94, 0.35);
    background: #f0fdf4;
}
.dmm-cd-recommendation-pool-group-head {
    font-size: 12px;
    font-weight: 850;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.dmm-cd-recommendation-pool-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 10px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #ffffff;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
}
.dmm-cd-recommendation-pool-item:hover {
    border-color: #6366f1;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.dmm-cd-recommendation-pool-item.is-active {
    border-color: rgba(34, 197, 94, 0.45);
}
.dmm-cd-recommendation-pool-main {
    min-width: 0;
    font-size: 13px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dmm-cd-recommendation-pool-meta {
    min-width: 0;
    font-size: 12px;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dmm-cd-recommendation-pool-state {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
    padding: 5px 8px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: 11px;
    font-weight: 850;
}
.dmm-cd-recommendation-pool-item.is-active .dmm-cd-recommendation-pool-state {
    background: #dcfce7;
    color: #166534;
}
.dmm-cd-recommendation-pool-empty {
    margin: 0;
    color: #64748b;
    font-size: 12px;
}
.dmm-cd-commerce-flow-card .dmm-cd-advanced-summary {
    padding-bottom: 10px;
    border-bottom: 1px solid #f1f5f9;
}
.dmm-cd-dish-extras-details {
    width: 100%;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: #f8fafc;
    overflow: hidden;
}
.dmm-cd-dish-extras-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    cursor: pointer;
    list-style: none;
    font-weight: 800;
    color: #0f172a;
}
.dmm-cd-dish-extras-summary::-webkit-details-marker,
.dmm-cd-mod-bundle-top::-webkit-details-marker {
    display: none;
}
.dmm-cd-dish-extras-summary-hint {
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}
.dmm-cd-dish-extras-body {
    padding: 12px;
    display: grid;
    gap: 10px;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
}
.dmm-cd-mod-bundle-top {
    cursor: pointer;
    list-style: none;
}
.dmm-cd.dark-mode .dmm-cd-commerce-flow-card .dmm-cd-advanced-summary {
    border-bottom-color: rgba(148, 163, 184, 0.2);
}
.dmm-cd.dark-mode .dmm-cd-commerce-step-summary {
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-commerce-step-summary::after {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-recommendation-pool-group {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.35);
}
.dmm-cd.dark-mode .dmm-cd-recommendation-pool-group.is-active {
    border-color: rgba(34,197,94,0.35);
    background: rgba(22,101,52,0.16);
}
.dmm-cd.dark-mode .dmm-cd-recommendation-pool-group-head,
.dmm-cd.dark-mode .dmm-cd-recommendation-pool-item {
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-recommendation-pool-item {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.55);
}
.dmm-cd.dark-mode .dmm-cd-recommendation-pool-meta,
.dmm-cd.dark-mode .dmm-cd-recommendation-pool-empty {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-dish-extras-details {
    border-color: rgba(148,163,184,0.25);
    background: rgba(15,23,42,0.35);
}
.dmm-cd.dark-mode .dmm-cd-dish-extras-summary {
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-dish-extras-summary-hint {
    color: #94a3b8;
}
.dmm-cd.dark-mode .dmm-cd-dish-extras-body {
    border-top-color: rgba(148,163,184,0.2);
}

/* ============================================
   Dashboard UX: Page headers, Quick actions, Mobile sheet
   ============================================ */
.dmm-cd-page-header {
    margin-bottom: var(--dmm-cd-space-6);
    padding: var(--dmm-cd-space-5) var(--dmm-cd-space-6);
    border: 1px solid var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius-card);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.88) 100%);
    box-shadow: var(--dmm-cd-shadow-card);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.dmm-cd-page-header--compact {
    margin-bottom: var(--dmm-cd-space-4);
}
.dmm-cd-page-header h1 {
    margin-bottom: var(--dmm-cd-space-2);
}
.dmm-cd-page-header .dmm-cd-section-lead {
    margin-bottom: 0;
}
.dmm-cd-page-header--actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--dmm-cd-space-4);
}
.dmm-cd-page-header--actions .dmm-cd-page-header-text {
    flex: 1 1 280px;
    min-width: 0;
}
.dmm-cd-page-header--actions .dmm-cd-settings-gear-btn {
    flex-shrink: 0;
    align-self: flex-start;
}

.dmm-cd-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-6);
}
@media (min-width: 600px) {
    .dmm-cd-quick-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 900px) {
    .dmm-cd-quick-actions {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (min-width: 1100px) {
    .dmm-cd-quick-actions {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}
.dmm-cd-quick-action {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    min-height: 96px;
    border-radius: var(--dmm-cd-radius-card);
    background: linear-gradient(160deg, #fff 0%, #f8fafc 100%);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
    color: #0f172a;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
    letter-spacing: -0.01em;
    transition: border-color var(--dmm-cd-motion-fast) ease, box-shadow var(--dmm-cd-motion-fast) ease, transform var(--dmm-cd-motion-fast) ease;
}
.dmm-cd-quick-action:hover {
    border-color: rgba(91, 82, 240, 0.28);
    box-shadow: var(--dmm-cd-card-shadow-hover);
    transform: translateY(-2px);
}
.dmm-cd-quick-action.is-active {
    border-color: rgba(91, 82, 240, 0.35);
    background: linear-gradient(160deg, rgba(91, 82, 240, 0.1) 0%, rgba(91, 82, 240, 0.04) 100%);
}
.dmm-cd-quick-action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(91, 82, 240, 0.16) 0%, rgba(91, 82, 240, 0.06) 100%);
    color: var(--dmm-cd-primary);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.dmm-cd-quick-action-icon svg {
    width: 20px;
    height: 20px;
}

.dmm-cd-settings-group-title {
    font-family: var(--dmm-cd-font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 var(--dmm-cd-space-4);
    letter-spacing: -0.02em;
}
.dmm-cd-settings-card + .dmm-cd-settings-card {
    margin-top: var(--dmm-cd-space-4);
}

/* Mobile „Mehr“-Sheet */
.dmm-cd-mobile-more-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100010;
    background: rgba(15, 23, 42, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}
.dmm-cd-mobile-more-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}
.dmm-cd-mobile-more-sheet {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100011;
    max-height: min(78vh, 520px);
    padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    background: var(--dmm-cd-card-bg);
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.18);
    transform: translateY(110%);
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.dmm-cd-mobile-more-sheet.is-open {
    transform: translateY(0);
}
.dmm-cd-mobile-more-handle {
    width: 40px;
    height: 4px;
    border-radius: 999px;
    background: #cbd5e1;
    margin: 4px auto 0;
}
.dmm-cd-mobile-more-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.dmm-cd-mobile-more-head h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}
.dmm-cd-mobile-more-close {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 10px;
    background: #f1f5f9;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.dmm-cd-mobile-more-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.dmm-cd-mobile-more-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid var(--dmm-cd-border);
    background: #f8fafc;
    color: #0f172a;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    font-family: var(--dmm-cd-font-body);
}
.dmm-cd-mobile-more-link.is-active {
    border-color: var(--dmm-cd-primary);
    background: var(--dmm-cd-primary-soft);
    color: var(--dmm-cd-primary-hover);
}
.dmm-cd-mobile-more-link--nav {
    grid-column: 1 / -1;
    background: var(--dmm-cd-sidebar-bg);
    color: #e2e8f0;
    border-color: transparent;
}
@media (min-width: 769px) {
    .dmm-cd-mobile-more-backdrop,
    .dmm-cd-mobile-more-sheet {
        display: none !important;
    }
}

body.dmm-cd-mobile-more-open {
    overflow: hidden;
}

/* Mobile: Bottom-Nav mit 5 Items + Sheet über Nav */
@media (max-width: 768px) {
    .dmm-cd-mobile-bottom-nav .dmm-cd-mobile-nav-item {
        padding: 8px 2px;
        font-size: 9px;
    }
    .dmm-cd-mobile-bottom-nav .dmm-cd-mobile-nav-item svg {
        width: 20px;
        height: 20px;
    }
    .dmm-cd-main {
        padding-bottom: calc(80px + max(8px, env(safe-area-inset-bottom, 0px)));
    }
    #dmm-cd-menue.active {
        padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
    }
    .dmm-cd-settings-panel {
        width: 100%;
        max-width: 100%;
    }
    .dmm-cd-settings-panel-body {
        padding: 16px;
    }
    .dmm-cd-status-banner {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .dmm-cd-status-banner-btn {
        width: 100%;
        justify-content: center;
    }
}

.dmm-cd.dark-mode .dmm-cd-quick-action {
    background: var(--dmm-cd-card-bg);
    color: #e2e8f0;
}
.dmm-cd.dark-mode .dmm-cd-settings-group-title,
.dmm-cd.dark-mode .dmm-cd-mobile-more-head h2 {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-mobile-more-sheet {
    background: var(--dmm-cd-card-bg);
}
.dmm-cd.dark-mode .dmm-cd-mobile-more-link {
    background: rgba(15, 23, 42, 0.5);
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.25);
}
.dmm-cd.dark-mode .dmm-cd-page-header {
    border-bottom-color: rgba(148, 163, 184, 0.2);
}

/* Phase 2: settings tabs, workspace cards */
.dmm-cd-settings-panel-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--dmm-cd-border);
}
.dmm-cd-settings-panel-tab {
    flex: 1 1 calc(50% - 6px);
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.dmm-cd-settings-panel-tab.is-active {
    background: #0f172a;
    border-color: #0f172a;
    color: #f8fafc;
}
.dmm-cd-settings-panel-pane[hidden] {
    display: none !important;
}
.dmm-cd-settings-pane-card {
    border: 1px solid var(--dmm-cd-border);
    border-radius: 16px;
    padding: 16px;
    background: #fff;
}
.dmm-cd-delivery-origin-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 10px;
}
.dmm-cd-delivery-origin-row .dmm-cd-input {
    flex: 1 1 220px;
    min-width: 0;
}
.dmm-cd-workspace-grid {
    display: grid;
    gap: var(--dmm-cd-space-4);
    margin-bottom: var(--dmm-cd-space-4);
}
.dmm-cd-workspace-grid--orders-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dmm-cd-workspace-grid--design {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: start;
}
.dmm-cd-design-layout.dmm-cd-workspace-grid {
    display: grid;
    margin-top: var(--dmm-cd-space-4);
}
.dmm-cd-workspace-card {
    border: 1px solid var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius-card);
    background: linear-gradient(165deg, #ffffff 0%, #fafbfc 100%);
    padding: var(--dmm-cd-space-5);
    box-shadow: var(--dmm-cd-card-shadow);
    transition: box-shadow var(--dmm-cd-motion-fast) ease, border-color var(--dmm-cd-motion-fast) ease;
}
.dmm-cd-workspace-card-title {
    margin: 0 0 var(--dmm-cd-space-3);
    font-family: var(--dmm-cd-font-display);
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.dmm-cd-workspace-card--live {
    padding-top: var(--dmm-cd-space-3);
}
.dmm-cd-workspace-card .dmm-cd-store-pause-bar {
    margin: 0;
    background: transparent;
    border: none;
    padding: 0;
}
.dmm-cd-workspace-card .dmm-cd-store-pause-lead {
    color: #64748b;
}
.dmm-cd-workspace-card .dmm-cd-orders-export {
    margin: 0;
}
.dmm-cd-workspace-card.dmm-cd-design-preview {
    position: sticky;
    top: calc(var(--dmm-cd-topbar-h, 56px) + 12px);
}
@media (max-width: 900px) {
    .dmm-cd-workspace-grid--orders-tools,
    .dmm-cd-workspace-grid--design {
        grid-template-columns: 1fr;
    }
    .dmm-cd-topbar-menu-wrap {
        display: none;
    }
    .dmm-cd-workspace-card.dmm-cd-design-preview {
        position: static;
    }
}
.dmm-cd.dark-mode .dmm-cd-settings-panel-tab {
    background: rgba(15, 23, 42, 0.5);
    border-color: rgba(148, 163, 184, 0.25);
    color: #cbd5e1;
}
.dmm-cd.dark-mode .dmm-cd-settings-workspace .dmm-cd-settings-panel-body {
    background: var(--dmm-cd-card-bg);
    border-color: rgba(148, 163, 184, 0.2);
}

.dmm-cd.dark-mode .dmm-cd-section-intro {
    color: #94a3b8;
}

.dmm-cd.dark-mode .dmm-cd-settings-panel-tab.is-active {
    background: #6366f1;
    border-color: #6366f1;
    color: #fff;
}
.dmm-cd.dark-mode .dmm-cd-settings-pane-card,
.dmm-cd.dark-mode .dmm-cd-workspace-card {
    background: var(--dmm-cd-card-bg);
    border-color: rgba(148, 163, 184, 0.2);
}
.dmm-cd.dark-mode .dmm-cd-workspace-card-title {
    color: #f1f5f9;
}
.dmm-cd.dark-mode .dmm-cd-workspace-card .dmm-cd-store-pause-lead {
    color: #94a3b8;
}

/* ─── Hybrid App: Ops dashboard components ─────── */

.dmm-cd-signal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dmm-cd-space-3);
}

@media (min-width: 720px) {
    .dmm-cd-signal-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.dmm-cd-signal-card {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-2);
    padding: var(--dmm-cd-space-5);
    border-radius: var(--dmm-cd-radius-card);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.92) 100%);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
    transition: box-shadow var(--dmm-cd-motion-fast) ease,
        transform var(--dmm-cd-motion-fast) ease,
        border-color var(--dmm-cd-motion-fast) ease;
    position: relative;
    overflow: hidden;
}

.dmm-cd-signal-card::before {
    content: '';
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--dmm-cd-primary), transparent);
    opacity: 0;
    transition: opacity var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-signal-card:hover {
    box-shadow: var(--dmm-cd-card-shadow-hover);
    transform: translateY(-3px);
    border-color: rgba(91, 82, 240, 0.2);
}

.dmm-cd-signal-card:hover::before {
    opacity: 0.85;
}

.dmm-cd-signal-card-label {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    letter-spacing: -0.01em;
}

.dmm-cd-signal-card-value {
    font-family: var(--dmm-cd-font-display);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #0f172a;
}

.dmm-cd-signal-card-meta {
    font-size: 12px;
    color: #94a3b8;
}

.dmm-cd-signal-card.is-accent .dmm-cd-signal-card-value {
    color: var(--dmm-cd-accent);
}

.dmm-cd-signal-card.is-live {
    border-color: rgba(22, 163, 74, 0.25);
}

.dmm-cd-signal-card.is-live .dmm-cd-signal-card-value {
    color: var(--dmm-cd-status-live);
}

.dmm-cd-ops-feed {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-2);
    padding: var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius-card);
    background: var(--dmm-cd-surface-raised);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
    max-height: 420px;
    overflow-y: auto;
}

.dmm-cd-ops-feed-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-2);
    padding-bottom: var(--dmm-cd-space-3);
    border-bottom: 1px solid var(--dmm-cd-border);
}

.dmm-cd-ops-feed-title {
    margin: 0;
    font-family: var(--dmm-cd-font-display);
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.dmm-cd-ops-feed-item {
    display: flex;
    align-items: flex-start;
    gap: var(--dmm-cd-space-3);
    padding: var(--dmm-cd-space-3);
    border-radius: var(--dmm-cd-radius);
    background: var(--dmm-cd-surface-inset);
    font-size: 13px;
    color: #334155;
}

.dmm-cd-ops-feed-item-time {
    flex-shrink: 0;
    font-family: var(--dmm-cd-font-mono);
    font-size: 11px;
    color: #94a3b8;
}

/* ─── Order board ───────────────────────────────── */

.dmm-cd-order-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--dmm-cd-space-4);
    align-items: start;
    min-height: 480px;
}

.dmm-cd-orders-board-host {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-3);
}

.dmm-cd-order-board-col {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-radius: var(--dmm-cd-radius-card);
    background: var(--dmm-cd-surface-raised);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
    overflow: hidden;
}

.dmm-cd-order-board-col-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dmm-cd-space-2);
    padding: var(--dmm-cd-space-3) var(--dmm-cd-space-4);
    border-bottom: 1px solid var(--dmm-cd-border);
    background: var(--dmm-cd-surface-inset);
}

.dmm-cd-order-board-col-head h3 {
    margin: 0;
    font-family: var(--dmm-cd-font-display);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #475569;
}

.dmm-cd-order-board-col-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--dmm-cd-primary-soft);
    color: var(--dmm-cd-primary);
    font-family: var(--dmm-cd-font-mono);
    font-size: 11px;
    font-weight: 700;
}

.dmm-cd-order-board-col[data-status="new"] .dmm-cd-order-board-col-head {
    border-top: 3px solid var(--dmm-cd-accent);
}

.dmm-cd-order-board-col[data-status="preparing"] .dmm-cd-order-board-col-head {
    border-top: 3px solid var(--dmm-cd-primary);
}

.dmm-cd-order-board-col[data-status="ready"] .dmm-cd-order-board-col-head {
    border-top: 3px solid var(--dmm-cd-status-live);
}

.dmm-cd-order-board-body {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-2);
    padding: var(--dmm-cd-space-3);
    flex: 1 1 auto;
    min-height: 200px;
    overflow-y: auto;
}

.dmm-cd-order-board-tabs {
    display: none;
    gap: var(--dmm-cd-space-2);
    margin-bottom: var(--dmm-cd-space-3);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.dmm-cd-order-board-tabs::-webkit-scrollbar {
    display: none;
}

.dmm-cd-order-board-tab {
    flex: 1 0 auto;
    min-height: 44px;
    padding: 0 var(--dmm-cd-space-4);
    border: 1px solid var(--dmm-cd-border);
    border-radius: 999px;
    background: var(--dmm-cd-surface-raised);
    color: #64748b;
    font-family: var(--dmm-cd-font-display);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--dmm-cd-motion-fast) ease,
        color var(--dmm-cd-motion-fast) ease,
        border-color var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-order-board-tab.is-active {
    background: var(--dmm-cd-primary);
    border-color: var(--dmm-cd-primary);
    color: #fff;
}

.dmm-cd-order-board-tab[data-status="new"].is-active {
    background: var(--dmm-cd-accent);
    border-color: var(--dmm-cd-accent);
}

/* ─── Shop settings (full page) ───────────────── */

/* ─── Unified settings workspace (Shop, Kontakt, Sprachen, …) ─── */

.dmm-cd-settings-workspace {
    display: block;
    max-width: 960px;
    margin: 0 auto var(--dmm-cd-space-6);
}

.dmm-cd-settings-workspace--wide {
    max-width: none;
}

.dmm-cd-settings-workspace--wide .dmm-cd-design-layout {
    margin-top: 0;
}

.dmm-cd-settings-workspace .dmm-cd-settings-panel-body {
    padding: var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius-card);
    background: var(--dmm-cd-card-bg);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
}

.dmm-cd-settings-workspace--simple {
    padding: var(--dmm-cd-space-4);
    border-radius: var(--dmm-cd-radius-card);
    background: var(--dmm-cd-card-bg);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
}

.dmm-cd-settings-workspace--simple > .dmm-cd-settings-pane-card {
    margin-bottom: 0;
    padding: 0;
    border: none;
    box-shadow: none;
    background: transparent;
}

.dmm-cd-settings-workspace .dmm-cd-settings-pane-card {
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-settings-workspace .dmm-cd-settings-pane-card:last-child {
    margin-bottom: 0;
}

.dmm-cd-settings-actions--workspace {
    margin-top: var(--dmm-cd-space-4);
    padding-top: var(--dmm-cd-space-4);
    border-top: 1px solid var(--dmm-cd-border);
}

.dmm-cd-section-intro {
    margin: 0 0 var(--dmm-cd-space-4);
    font-size: 0.92rem;
    line-height: 1.55;
    color: #64748b;
}

.dmm-cd-overview-signals,
.dmm-cd-orders-signals {
    margin-bottom: var(--dmm-cd-space-5);
}

.dmm-cd-overview-ops-row {
    margin-bottom: var(--dmm-cd-space-6);
}

.dmm-cd-overview-feed-card .dmm-cd-ops-feed {
    margin-bottom: var(--dmm-cd-space-4);
    min-height: 4rem;
}

.dmm-cd-signal-card-link {
    display: inline-flex;
    margin-top: var(--dmm-cd-space-2);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--dmm-cd-primary);
    text-decoration: none;
}

.dmm-cd-signal-card-link:hover {
    text-decoration: underline;
}

.dmm-cd-signal-card-link--primary {
    font-size: 0.9rem;
}

.dmm-cd-signal-card-value--sm {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.dmm-cd-shop-settings {
    display: block;
    max-width: 960px;
}

.dmm-cd-shop-settings-nav {
    position: sticky;
    top: calc(var(--dmm-cd-topbar-h, 56px) + var(--dmm-cd-space-3));
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--dmm-cd-space-3);
    border-radius: var(--dmm-cd-radius-card);
    background: var(--dmm-cd-surface-raised);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
}

.dmm-cd-shop-settings-nav-link {
    display: flex;
    align-items: center;
    gap: var(--dmm-cd-space-2);
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--dmm-cd-motion-fast) ease,
        color var(--dmm-cd-motion-fast) ease;
}

.dmm-cd-shop-settings-nav-link:hover {
    background: var(--dmm-cd-surface-inset);
    color: #0f172a;
}

.dmm-cd-shop-settings-nav-link.is-active {
    background: var(--dmm-cd-primary-soft);
    color: var(--dmm-cd-primary);
    font-weight: 600;
}

.dmm-cd-shop-settings-content {
    min-width: 0;
}

.dmm-cd-editor-dirty-bar {
    position: sticky;
    top: 0;
    z-index: 55;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dmm-cd-space-3);
    flex-wrap: wrap;
    margin: calc(var(--dmm-cd-space-3) * -1) calc(var(--dmm-cd-space-4) * -1) var(--dmm-cd-space-4);
    padding: var(--dmm-cd-space-3) var(--dmm-cd-space-4);
    background: var(--dmm-cd-save-bar-bg);
    color: var(--dmm-cd-save-bar-text);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    font-size: 13px;
    font-weight: 600;
}

.dmm-cd-editor-dirty-bar[hidden] {
    display: none;
}

.dmm-cd-editor-dirty-bar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dmm-cd-space-2);
}

.dmm-cd-snapshots-timeline {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-3);
    padding-left: var(--dmm-cd-space-2);
    border-left: 2px solid var(--dmm-cd-border);
}

.dmm-cd-snapshot-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--dmm-cd-space-3);
    align-items: start;
    padding-left: var(--dmm-cd-space-4);
}

.dmm-cd-snapshot-timeline-dot {
    position: absolute;
    left: calc(var(--dmm-cd-space-4) * -1 - 5px);
    top: 0.55rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--dmm-cd-primary);
    box-shadow: 0 0 0 3px var(--dmm-cd-surface-raised);
}

.dmm-cd-stats-spark {
    width: 120px;
}

.dmm-cd-stats-spark-bar {
    display: block;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--dmm-cd-primary-soft), var(--dmm-cd-primary));
}

.dmm-cd-ops-feed-empty {
    margin: 0;
    padding: var(--dmm-cd-space-4);
    color: #64748b;
    font-size: 14px;
}

.dmm-cd.dark-mode .dmm-cd-signal-card,
.dmm-cd.dark-mode .dmm-cd-ops-feed,
.dmm-cd.dark-mode .dmm-cd-order-board-col,
.dmm-cd.dark-mode .dmm-cd-shop-settings-nav {
    background: var(--dmm-cd-surface-raised);
    border-color: rgba(148, 163, 184, 0.18);
}

.dmm-cd.dark-mode .dmm-cd-signal-card-value,
.dmm-cd.dark-mode .dmm-cd-ops-feed-title {
    color: #f1f5f9;
}

.dmm-cd.dark-mode .dmm-cd-signal-card-label,
.dmm-cd.dark-mode .dmm-cd-order-board-col-head h3 {
    color: #94a3b8;
}

.dmm-cd.dark-mode .dmm-cd-ops-feed-item {
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
}

.dmm-cd.dark-mode .dmm-cd-order-board-col-head {
    background: rgba(255, 255, 255, 0.03);
}

.dmm-cd.dark-mode .dmm-cd-order-board-tab {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(148, 163, 184, 0.2);
    color: #94a3b8;
}

.dmm-cd.dark-mode .dmm-cd-shop-settings-nav-link {
    color: #94a3b8;
}

.dmm-cd.dark-mode .dmm-cd-shop-settings-nav-link:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #f1f5f9;
}

.dmm-cd.dark-mode .dmm-cd-shop-settings-nav-link.is-active {
    background: rgba(99, 102, 241, 0.18);
    color: #c7d2fe;
}

.dmm-cd.dark-mode .dmm-cd-editor-dirty-bar {
    background: #422006;
    color: #fde68a;
    border-bottom-color: rgba(251, 191, 36, 0.2);
}

@media (max-width: 1100px) {
    .dmm-cd-signal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dmm-cd-shop-settings-layout {
        grid-template-columns: 200px minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .dmm-cd-order-board {
        grid-template-columns: 1fr;
    }

    .dmm-cd-order-board-tabs {
        display: flex;
    }

    .dmm-cd-order-board-col:not(.is-active) {
        display: none;
    }

    .dmm-cd-order-board-col.is-active {
        display: flex;
    }

    .dmm-cd-shop-settings-layout {
        grid-template-columns: 1fr;
    }

    .dmm-cd-shop-settings-nav {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        overflow-x: auto;
    }

    .dmm-cd-shop-settings-nav-link {
        flex: 1 0 auto;
        white-space: nowrap;
    }
}

@media (max-width: 767px) {
    .dmm-cd-signal-grid {
        grid-template-columns: 1fr;
    }

    .dmm-cd-editor-dirty-bar {
        margin-left: calc(var(--dmm-cd-space-3) * -1);
        margin-right: calc(var(--dmm-cd-space-3) * -1);
    }
}

/* ═══════════════════════════════════════════════════════════
   Dashboard Pro – detaillierte Bereichs-UX
   ═══════════════════════════════════════════════════════════ */

.dmm-cd-dashboard-block {
    display: flex;
    flex-direction: column;
    gap: var(--dmm-cd-space-6);
    max-width: 1200px;
}

.dmm-cd-page-header-cta {
    flex-shrink: 0;
    align-self: flex-start;
}

.dmm-cd-overview-split {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: var(--dmm-cd-space-4);
    align-items: stretch;
}

@media (max-width: 960px) {
    .dmm-cd-overview-split {
        grid-template-columns: 1fr;
    }
}

.dmm-cd-workspace-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-workspace-card-head .dmm-cd-workspace-card-title {
    margin-bottom: 0;
}

.dmm-cd-workspace-card-foot {
    margin-top: var(--dmm-cd-space-4);
    padding-top: var(--dmm-cd-space-3);
    border-top: 1px solid var(--dmm-cd-border);
}

.dmm-cd-live-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #166534;
    background: rgba(22, 163, 74, 0.12);
    border: 1px solid rgba(22, 163, 74, 0.25);
    flex-shrink: 0;
}

.dmm-cd-live-pill::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25);
    animation: dmm-cd-live-pulse 1.8s ease-in-out infinite;
}

@keyframes dmm-cd-live-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.65; transform: scale(0.92); }
}

.dmm-cd-ops-feed--in-card {
    max-height: 280px;
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
    background: transparent;
}

/* Setup-Checkliste */
.dmm-cd-health-card {
    display: flex;
    flex-direction: column;
}

.dmm-cd-health-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--dmm-cd-space-4);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-health-sub {
    margin: 4px 0 0;
    font-size: 0.88rem;
    color: #64748b;
}

.dmm-cd-health-ring {
    --dmm-health-pct: 0;
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: conic-gradient(var(--dmm-cd-primary) calc(var(--dmm-health-pct) * 1%), #e2e8f0 0);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dmm-cd-health-ring::after {
    content: '';
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: #fff;
}

.dmm-cd-health-ring-value {
    position: relative;
    z-index: 1;
    font-size: 12px;
    font-weight: 800;
    color: var(--dmm-cd-primary);
}

.dmm-cd-health-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dmm-cd-health-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--dmm-cd-border);
    background: #f8fafc;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.dmm-cd-health-item.is-done {
    background: rgba(22, 163, 74, 0.06);
    border-color: rgba(22, 163, 74, 0.22);
}

.dmm-cd-health-check {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #cbd5e1;
    background: #fff;
    flex-shrink: 0;
}

.dmm-cd-health-item.is-done .dmm-cd-health-check {
    border-color: #22c55e;
    background: #22c55e;
    box-shadow: inset 0 0 0 3px #fff;
}

.dmm-cd-health-item-body {
    min-width: 0;
}

.dmm-cd-health-item-label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #0f172a;
}

.dmm-cd-health-item-hint {
    display: block;
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 2px;
}

.dmm-cd-health-item-action {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--dmm-cd-primary);
    text-decoration: none;
    white-space: nowrap;
    padding: 6px 10px;
    border-radius: 8px;
    background: var(--dmm-cd-primary-soft);
}

.dmm-cd-health-item-action:hover {
    background: rgba(79, 70, 229, 0.2);
}

.dmm-cd-overview-menus-card .dmm-cd-overview-cards {
    margin-top: var(--dmm-cd-space-3);
}

/* Shop: Sidebar + Content */
.dmm-cd-shop-settings-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: var(--dmm-cd-space-4);
    align-items: start;
}

@media (max-width: 900px) {
    .dmm-cd-shop-settings-layout {
        grid-template-columns: 1fr;
    }
    .dmm-cd-shop-settings-nav {
        display: none;
    }
    .dmm-cd-settings-panel-tabs--mobile {
        display: flex;
    }
}

@media (min-width: 901px) {
    .dmm-cd-settings-panel-tabs--mobile {
        display: none;
    }
}

.dmm-cd-shop-settings-content .dmm-cd-settings-panel-body {
    margin: 0;
}

.dmm-cd-settings-panel-pane.is-active .dmm-cd-settings-pane-card,
.dmm-cd-settings-panel-pane.is-active .dmm-cd-commerce-card,
.dmm-cd-settings-panel-pane.is-active .dmm-cd-pairing-ai-card {
    animation: dmm-cd-pane-in 0.22s ease;
}

@keyframes dmm-cd-pane-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Bewertungen: Plattform-Karten */
.dmm-cd-review-platforms-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dmm-cd-space-4);
}

@media (max-width: 640px) {
    .dmm-cd-review-platforms-grid {
        grid-template-columns: 1fr;
    }
}

.dmm-cd-review-platform-card {
    padding: var(--dmm-cd-space-4);
    border-radius: 14px;
    border: 1px solid var(--dmm-cd-border);
    background: #f8fafc;
}

.dmm-cd-review-platform-card--wide {
    grid-column: 1 / -1;
}

.dmm-cd-review-platform-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--dmm-cd-space-3);
}

.dmm-cd-review-platform-badge {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    color: #fff;
}

.dmm-cd-review-platform-badge.is-google { background: #4285f4; }
.dmm-cd-review-platform-badge.is-tripadvisor { background: #34e0a1; color: #0f172a; }
.dmm-cd-review-platform-badge.is-yelp { background: #d32323; }
.dmm-cd-review-platform-badge.is-facebook { background: #1877f2; }
.dmm-cd-review-platform-badge.is-other { background: #64748b; }

.dmm-cd-review-platform-name {
    font-weight: 700;
    font-size: 0.95rem;
    color: #0f172a;
}

/* Sprachen */
.dmm-cd-lang-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dmm-cd-space-3);
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-lang-toolbar .dmm-cd-input {
    flex: 1 1 200px;
    min-width: 0;
}

.dmm-cd-lang-count {
    font-size: 0.82rem;
    font-weight: 600;
    color: #64748b;
    padding: 6px 12px;
    border-radius: 999px;
    background: #f1f5f9;
}

.dmm-cd-lang-chip.is-filter-hidden {
    display: none !important;
}

/* Bestellungen Live */
.dmm-cd-orders-live-card {
    padding-top: var(--dmm-cd-space-4);
}

.dmm-cd-orders-live-head {
    margin-bottom: var(--dmm-cd-space-3);
}

.dmm-cd-orders-toolbar--sticky {
    position: sticky;
    top: calc(var(--dmm-cd-topbar-h, 56px) + 8px);
    z-index: 20;
    padding: var(--dmm-cd-space-3);
    margin: 0 0 var(--dmm-cd-space-4);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-shadow-sm);
}

.dmm-cd-signal-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dmm-cd-primary-soft);
    color: var(--dmm-cd-primary);
    margin-bottom: 4px;
}

.dmm-cd-signal-card-icon svg {
    width: 18px;
    height: 18px;
}

.dmm-cd-signal-card.is-accent .dmm-cd-signal-card-icon {
    background: rgba(234, 88, 12, 0.12);
    color: var(--dmm-cd-accent);
}

.dmm-cd.dark-mode .dmm-cd-health-item {
    background: rgba(15, 23, 42, 0.5);
    border-color: rgba(148, 163, 184, 0.2);
}

.dmm-cd.dark-mode .dmm-cd-health-ring::after {
    background: var(--dmm-cd-card-bg);
}

.dmm-cd.dark-mode .dmm-cd-review-platform-card {
    background: rgba(15, 23, 42, 0.45);
}

.dmm-cd.dark-mode .dmm-cd-orders-toolbar--sticky {
    background: rgba(15, 23, 42, 0.92);
}

/* ═══════════════════════════════════════════════════════════
   Modern App UI – default shell polish
   ═══════════════════════════════════════════════════════════ */

.dmm-cd .dmm-cd-main h1,
.dmm-cd .dmm-cd-page-header h1 {
    font-size: clamp(1.65rem, 2.8vw, 2.1rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.15;
}

.dmm-cd .dmm-cd-page-header .dmm-cd-section-lead {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.55;
}

.dmm-cd .dmm-cd-status-banner {
    padding: 10px 24px;
    font-size: 0.84rem;
    letter-spacing: -0.01em;
    backdrop-filter: blur(8px);
}

.dmm-cd .dmm-cd-status-banner.is-live {
    background: linear-gradient(90deg, rgba(220, 252, 231, 0.95) 0%, rgba(236, 253, 245, 0.9) 100%);
}

.dmm-cd .dmm-cd-status-banner.is-offline {
    background: linear-gradient(90deg, rgba(254, 243, 199, 0.95) 0%, rgba(255, 251, 235, 0.9) 100%);
}

.dmm-cd .dmm-cd-input {
    border-radius: var(--dmm-cd-radius-input);
    border-color: var(--dmm-cd-border);
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
}

.dmm-cd .dmm-cd-input:focus {
    border-color: var(--dmm-cd-primary);
    box-shadow: 0 0 0 4px var(--dmm-cd-primary-ring), inset 0 1px 2px rgba(15, 23, 42, 0.02);
}

.dmm-cd .dmm-cd-settings-panel-tab {
    border-radius: var(--dmm-cd-radius-pill);
    padding: 8px 16px;
    font-family: var(--dmm-cd-font-display);
    font-weight: 600;
    font-size: 13px;
    border: 1px solid transparent;
    background: transparent;
    color: #64748b;
}

.dmm-cd .dmm-cd-settings-panel-tab.is-active {
    background: var(--dmm-cd-primary);
    border-color: var(--dmm-cd-primary);
    color: #fff;
    box-shadow: 0 4px 12px -4px rgba(91, 82, 240, 0.5);
}

.dmm-cd .dmm-cd-settings-panel-tabs {
    gap: 8px;
    padding: 4px;
    margin-bottom: var(--dmm-cd-space-5);
    border-radius: var(--dmm-cd-radius-pill);
    background: var(--dmm-cd-surface-inset);
    border: 1px solid var(--dmm-cd-border);
    flex-wrap: wrap;
}

.dmm-cd .dmm-cd-health-item {
    border-radius: 14px;
    border: 1px solid var(--dmm-cd-border);
    background: #fff;
    transition: border-color var(--dmm-cd-motion-fast) ease, box-shadow var(--dmm-cd-motion-fast) ease;
}

.dmm-cd .dmm-cd-health-item.is-done {
    border-color: rgba(16, 185, 129, 0.3);
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.9) 0%, #fff 100%);
}

.dmm-cd .dmm-cd-review-platform-card {
    border-radius: var(--dmm-cd-radius-card);
    border: 1px solid var(--dmm-cd-border);
    background: #fff;
    box-shadow: var(--dmm-cd-shadow-sm);
    transition: box-shadow var(--dmm-cd-motion-fast) ease, transform var(--dmm-cd-motion-fast) ease;
}

.dmm-cd .dmm-cd-review-platform-card:hover {
    box-shadow: var(--dmm-cd-card-shadow);
    transform: translateY(-2px);
}

.dmm-cd .dmm-cd-shop-settings-nav {
    border-radius: var(--dmm-cd-radius-card);
    background: #fff;
    box-shadow: var(--dmm-cd-card-shadow);
}

.dmm-cd .dmm-cd-shop-settings-nav-link.is-active {
    background: linear-gradient(135deg, rgba(91, 82, 240, 0.14) 0%, rgba(91, 82, 240, 0.06) 100%);
    font-weight: 600;
}

.dmm-cd .dmm-cd-stat-card {
    border-radius: var(--dmm-cd-radius-card);
    border: 1px solid var(--dmm-cd-border);
    box-shadow: var(--dmm-cd-card-shadow);
    transition: transform var(--dmm-cd-motion-fast) ease, box-shadow var(--dmm-cd-motion-fast) ease;
}

.dmm-cd .dmm-cd-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--dmm-cd-card-shadow-hover);
}

/* Dark mode: sidebar zurück auf dunkel, Inhalt bleibt lesbar */
.dmm-cd.dark-mode {
    --dmm-cd-bg: #0b1120;
    --dmm-cd-bg-mesh:
        radial-gradient(ellipse 70% 50% at 0% -10%, rgba(91, 82, 240, 0.15), transparent 50%),
        radial-gradient(ellipse 50% 40% at 100% 0%, rgba(56, 189, 248, 0.08), transparent 45%),
        #0b1120;
    --dmm-cd-card-bg: #111827;
    --dmm-cd-border: rgba(148, 163, 184, 0.15);
    --dmm-cd-sidebar-bg: #0f172a;
    --dmm-cd-sidebar-gradient: linear-gradient(180deg, #111827 0%, #0b1120 100%);
    --dmm-cd-sidebar-text: #e2e8f0;
    --dmm-cd-sidebar-muted: #94a3b8;
    --dmm-cd-sidebar-border: rgba(255, 255, 255, 0.06);
    --dmm-cd-surface-inset: rgba(15, 23, 42, 0.6);
    --dmm-cd-card-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04), 0 8px 24px rgba(0, 0, 0, 0.35);
}

.dmm-cd.dark-mode .dmm-cd-sidebar {
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.04);
}

.dmm-cd.dark-mode .dmm-cd-logo,
.dmm-cd.dark-mode .dmm-cd-brand-name {
    color: #f8fafc;
    background: linear-gradient(135deg, #f8fafc 0%, #a5b4fc 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.dmm-cd.dark-mode .dmm-cd-sidebar .dmm-cd-select {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: #f1f5f9;
}

.dmm-cd.dark-mode .dmm-cd-nav-item {
    color: #94a3b8;
}

.dmm-cd.dark-mode .dmm-cd-nav-item:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #f1f5f9;
}

.dmm-cd.dark-mode .dmm-cd-nav-item.active {
    color: #c7d2fe;
}

.dmm-cd.dark-mode .dmm-cd-logout,
.dmm-cd.dark-mode .dmm-cd-sidebar-footer .dmm-cd-theme-toggle {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
    color: #94a3b8;
}

.dmm-cd.dark-mode .dmm-cd-page-header {
    background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(15, 23, 42, 0.9) 100%);
}

.dmm-cd.dark-mode .dmm-cd-signal-card,
.dmm-cd.dark-mode .dmm-cd-workspace-card,
.dmm-cd.dark-mode .dmm-cd-quick-action {
    background: linear-gradient(165deg, rgba(17, 24, 39, 0.98) 0%, rgba(15, 23, 42, 0.92) 100%);
}

.dmm-cd.dark-mode .dmm-cd-mobile-bottom-nav {
    background: rgba(15, 23, 42, 0.94);
    border-top-color: rgba(255, 255, 255, 0.06);
}

/* ═══════════════════════════════════════════════════════════
   Menü-Studio Redesign – Restaurant Workflow
   ═══════════════════════════════════════════════════════════ */

.dmm-cd-main {
    --dmm-cd-content-max: 1280px;
}

.dmm-cd-section {
    width: 100%;
}

.dmm-cd-section > .dmm-cd-page-header,
.dmm-cd-dashboard-block,
.dmm-cd-settings-workspace,
.dmm-cd-menu-studio-section > .dmm-cd-menu-snapshots-card,
.dmm-cd-menu-studio-section > .dmm-cd-editor-app {
    width: min(100%, var(--dmm-cd-content-max));
}

.dmm-cd-menu-studio-section > .dmm-cd-page-header {
    margin-bottom: var(--dmm-cd-space-4);
}

.dmm-cd-menu-studio-section > .dmm-cd-menu-snapshots-card {
    margin-bottom: var(--dmm-cd-space-4);
    padding: 0;
    overflow: hidden;
}

.dmm-cd-menu-studio-section .dmm-cd-snapshots-summary {
    padding: 14px 18px;
}

.dmm-cd-menu-studio-section .dmm-cd-snapshots-body {
    padding: 0 18px 18px;
}

#dmm-cd-menue .dmm-cd-editor-app {
    padding: 0;
    border-radius: var(--dmm-cd-radius-xl);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9)),
        var(--dmm-cd-card-bg);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: var(--dmm-cd-card-shadow);
    overflow: visible;
}

#dmm-cd-menue .dmm-cd-editor-layout-three {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) minmax(300px, 360px);
    gap: 0;
    min-height: 620px;
    align-items: stretch;
}

#dmm-cd-menue .dmm-cd-editor-nav,
#dmm-cd-menue .dmm-cd-editor-preview {
    position: sticky;
    top: calc(var(--dmm-cd-topbar-h, 64px) + var(--dmm-cd-space-3));
    align-self: start;
    max-height: calc(100vh - var(--dmm-cd-topbar-h, 64px) - 40px);
    max-height: calc(100dvh - var(--dmm-cd-topbar-h, 64px) - 40px);
}

#dmm-cd-menue .dmm-cd-editor-nav {
    border: 0;
    border-right: 1px solid var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius-xl) 0 0 var(--dmm-cd-radius-xl);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: none;
    overflow: hidden;
}

#dmm-cd-menue .dmm-cd-editor-nav-inner {
    height: 100%;
    max-height: inherit;
}

#dmm-cd-menue .dmm-cd-editor-nav-header {
    padding: 18px;
    background: rgba(255, 255, 255, 0.72);
}

#dmm-cd-menue .dmm-cd-editor-nav-back {
    display: inline-flex;
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 700;
    color: var(--dmm-cd-primary);
}

#dmm-cd-menue .dmm-cd-editor-nav-eyebrow,
#dmm-cd-menue .dmm-cd-editor-cat-kicker,
#dmm-cd-menue .dmm-cd-editor-preview-kicker {
    display: block;
    margin-bottom: 5px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

#dmm-cd-menue .dmm-cd-editor-nav-menu-name {
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

#dmm-cd-menue .dmm-cd-editor-nav-title {
    display: none;
}

#dmm-cd-menue .dmm-cd-editor-nav-list {
    padding: 12px;
    gap: 6px;
}

#dmm-cd-menue .dmm-cd-editor-nav-item {
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #475569;
    font-weight: 650;
}

#dmm-cd-menue .dmm-cd-editor-nav-item:hover {
    background: rgba(91, 82, 240, 0.07);
    color: #1e293b;
}

#dmm-cd-menue .dmm-cd-editor-nav-item.is-active {
    background: linear-gradient(135deg, rgba(91, 82, 240, 0.16), rgba(56, 189, 248, 0.1));
    border-color: rgba(91, 82, 240, 0.16);
    color: var(--dmm-cd-primary);
    box-shadow: 0 10px 22px -18px rgba(91, 82, 240, 0.8);
}

#dmm-cd-menue .dmm-cd-editor-nav-footer {
    margin-top: auto;
    padding: 12px;
    background: rgba(248, 250, 252, 0.9);
}

#dmm-cd-menue .dmm-cd-editor-main {
    padding: 18px;
    background: rgba(248, 250, 252, 0.62);
}

#dmm-cd-menue .dmm-cd-editor-ops-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(260px, 1.4fr) minmax(220px, 1fr);
    gap: 12px;
    align-items: end;
    margin-bottom: 16px;
    padding: 14px;
    border: 1px solid var(--dmm-cd-border);
    border-radius: var(--dmm-cd-radius-card);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: var(--dmm-cd-shadow-sm);
}

#dmm-cd-menue .dmm-cd-editor-lang-row,
#dmm-cd-menue .dmm-cd-editor-restaurant-section,
#dmm-cd-menue .dmm-cd-editor-search-wrap {
    margin: 0;
}

#dmm-cd-menue .dmm-cd-editor-lang-row {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}

#dmm-cd-menue .dmm-cd-editor-lang-row label,
#dmm-cd-menue .dmm-cd-editor-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

#dmm-cd-menue .dmm-cd-editor-lang-row .dmm-cd-select {
    max-width: none;
}

#dmm-cd-menue .dmm-cd-editor-restaurant-section {
    padding: 0;
    border: 0;
    background: transparent;
}

#dmm-cd-menue .dmm-cd-editor-app .dmm-cd-editor-restaurant {
    width: 100%;
    max-width: none;
    padding: 11px 13px;
    font-size: 14px;
    border-width: 1px;
}

#dmm-cd-menue .dmm-cd-editor-restaurant-hint {
    margin-top: 6px;
    font-size: 12px;
}

#dmm-cd-menue .dmm-cd-editor-search-wrap {
    display: flex;
    gap: 8px;
}

#dmm-cd-menue .dmm-cd-editor-search-wrap .dmm-cd-editor-inner-search {
    flex: 1 1 180px;
}

#dmm-cd-menue .dmm-cd-editor-sale-mode {
    flex: 0 0 auto;
}

#dmm-cd-menue .dmm-cd-editor-cat-sep {
    margin: 14px 0;
    padding: 0;
    border: 0;
}

#dmm-cd-menue .dmm-cd-editor-cat-sep .dmm-cd-editor-add-cat-between {
    border-style: dashed;
    background: rgba(255, 255, 255, 0.7);
}

#dmm-cd-menue .dmm-cd-cat-sort-unit {
    margin-bottom: 14px;
}

#dmm-cd-menue .dmm-cd-editor-cat {
    border-radius: var(--dmm-cd-radius-card);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: var(--dmm-cd-shadow-sm);
    overflow: hidden;
}

#dmm-cd-menue .dmm-cd-editor-cat:hover {
    box-shadow: var(--dmm-cd-card-shadow);
}

#dmm-cd-menue .dmm-cd-editor-cat-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 0;
    padding: 14px 16px;
    background: linear-gradient(135deg, #ffffff, #f8fafc);
}

#dmm-cd-menue .dmm-cd-editor-cat-title-wrap {
    min-width: 0;
}

#dmm-cd-menue .dmm-cd-editor-cat-name {
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

#dmm-cd-menue .dmm-cd-editor-cat-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

#dmm-cd-menue .dmm-cd-cat-badge {
    background: rgba(91, 82, 240, 0.1);
    color: var(--dmm-cd-primary);
    font-weight: 800;
}

#dmm-cd-menue .dmm-cd-editor-cat-upload {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: #f1f5f9;
}

#dmm-cd-menue .dmm-cd-editor-cat-body {
    padding: 14px 16px 16px;
    background: #ffffff;
}

#dmm-cd-menue .dmm-cd-cat-desc-wrap {
    padding: 0 0 12px;
}

#dmm-cd-menue .dmm-cd-cat-desc-wrap .dmm-cd-cat-desc {
    min-height: 44px;
}

#dmm-cd-menue .dmm-cd-editor-items {
    gap: 12px;
    margin-bottom: 12px;
}

#dmm-cd-menue .dmm-cd-editor-item-card {
    padding: 14px;
    border-radius: 18px;
    border-color: rgba(15, 23, 42, 0.08);
    box-shadow: none;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
}

#dmm-cd-menue .dmm-cd-editor-item-card:hover {
    box-shadow: var(--dmm-cd-shadow-md);
}

#dmm-cd-menue .dmm-cd-editor-item-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

#dmm-cd-menue .dmm-cd-editor-item-main-fields {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 96px;
    gap: 8px;
    min-width: 0;
}

#dmm-cd-menue .dmm-cd-editor-item-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

#dmm-cd-menue .dmm-cd-editor-item-visibility {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: var(--dmm-cd-radius-pill);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
    font-size: 12px;
    font-weight: 800;
}

#dmm-cd-menue .dmm-cd-visibility-dot {
    margin: 0;
}

#dmm-cd-menue .dmm-cd-editor-item-card .dmm-cd-input {
    min-height: 36px;
    border-radius: 10px;
}

#dmm-cd-menue .dmm-cd-editor-item-desc {
    min-height: 78px;
}

#dmm-cd-menue .dmm-cd-editor-item-row-dish-photo,
#dmm-cd-menue .dmm-cd-editor-item-row2,
#dmm-cd-menue .dmm-cd-editor-item-row3,
#dmm-cd-menue .dmm-cd-editor-item-row4 {
    margin-bottom: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(226, 232, 240, 0.75);
}

#dmm-cd-menue .dmm-cd-dish-photo-preview {
    width: 60px;
    height: 60px;
    border-radius: 14px;
}

#dmm-cd-menue .dmm-cd-dish-photo-actions .dmm-cd-btn,
#dmm-cd-menue .dmm-cd-mod-presets-chips .dmm-cd-btn,
#dmm-cd-menue .dmm-cd-allergen-btn,
#dmm-cd-menue .dmm-cd-editor-item-tag-label span {
    border-radius: var(--dmm-cd-radius-pill);
}

#dmm-cd-menue .dmm-cd-add-item {
    width: 100%;
    border-style: dashed;
}

#dmm-cd-menue .dmm-cd-editor-preview {
    margin: 0;
    border: 0;
    border-left: 1px solid var(--dmm-cd-border);
    border-radius: 0 var(--dmm-cd-radius-xl) var(--dmm-cd-radius-xl) 0;
    padding: 16px;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: none;
}

#dmm-cd-menue .dmm-cd-editor-preview-head {
    margin-bottom: 12px;
}

#dmm-cd-menue .dmm-cd-editor-preview-head strong {
    display: block;
    font-size: 1rem;
    letter-spacing: -0.03em;
}

#dmm-cd-menue .dmm-cd-editor-preview-url-wrap {
    gap: 8px;
    margin-bottom: 12px;
}

#dmm-cd-menue .dmm-cd-editor-preview-url {
    min-height: 36px;
}

#dmm-cd-menue .dmm-cd-editor-preview-iframe {
    height: min(58vh, 620px);
    min-height: 430px;
    border-radius: 18px;
    box-shadow: 0 18px 48px -30px rgba(15, 23, 42, 0.5);
}

#dmm-cd-menue .dmm-cd-editor-preview-refresh {
    margin-top: 12px;
}

#dmm-cd-menue .dmm-cd-editor-float-dock {
    max-width: min(520px, calc(100vw - 32px));
    border-radius: var(--dmm-cd-radius-card);
}

@media (max-width: 1280px) {
    #dmm-cd-menue .dmm-cd-editor-layout-three {
        grid-template-columns: 220px minmax(0, 1fr) minmax(260px, 320px);
    }

    #dmm-cd-menue .dmm-cd-editor-ops-toolbar {
        grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1.2fr);
    }

    #dmm-cd-menue .dmm-cd-editor-search-wrap {
        grid-column: 1 / -1;
    }

    #dmm-cd-menue .dmm-cd-editor-item-head {
        grid-template-columns: auto minmax(0, 1fr);
    }

    #dmm-cd-menue .dmm-cd-editor-item-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}

@media (max-width: 1080px) {
    .dmm-cd-main {
        --dmm-cd-content-max: 100%;
    }

    #dmm-cd-menue .dmm-cd-editor-layout-three {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    #dmm-cd-menue .dmm-cd-editor-preview {
        grid-column: 1 / -1;
        position: static;
        border-left: 0;
        border-top: 1px solid var(--dmm-cd-border);
        border-radius: 0 0 var(--dmm-cd-radius-xl) var(--dmm-cd-radius-xl);
    }

    #dmm-cd-menue .dmm-cd-editor-preview-iframe {
        height: 520px;
    }
}

@media (max-width: 782px) {
    #dmm-cd-menue .dmm-cd-editor-app {
        border-radius: var(--dmm-cd-radius-card);
    }

    #dmm-cd-menue .dmm-cd-editor-layout-three {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    #dmm-cd-menue .dmm-cd-editor-nav,
    #dmm-cd-menue .dmm-cd-editor-preview {
        position: static;
        max-height: none;
        border-radius: 0;
    }

    #dmm-cd-menue .dmm-cd-editor-nav {
        border-right: 0;
        border-bottom: 1px solid var(--dmm-cd-border);
        border-radius: var(--dmm-cd-radius-card) var(--dmm-cd-radius-card) 0 0;
    }

    #dmm-cd-menue .dmm-cd-editor-nav-list {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 14px;
    }

    #dmm-cd-menue .dmm-cd-editor-nav-list li {
        flex: 0 0 auto;
        width: min(220px, 72vw);
    }

    #dmm-cd-menue .dmm-cd-editor-ops-toolbar,
    #dmm-cd-menue .dmm-cd-editor-item-main-fields {
        grid-template-columns: 1fr;
    }

    #dmm-cd-menue .dmm-cd-editor-cat-header,
    #dmm-cd-menue .dmm-cd-editor-item-head {
        grid-template-columns: 1fr;
    }

    #dmm-cd-menue .dmm-cd-editor-cat-grip,
    #dmm-cd-menue .dmm-cd-drag-handle-item {
        width: 36px;
        height: 36px;
        background: rgba(148, 163, 184, 0.12);
    }

    #dmm-cd-menue .dmm-cd-editor-cat-actions,
    #dmm-cd-menue .dmm-cd-editor-item-actions {
        justify-content: flex-start;
    }

    #dmm-cd-menue .dmm-cd-editor-preview-iframe {
        min-height: 420px;
        height: 70vh;
    }

    #dmm-cd-menue .dmm-cd-editor-float-dock {
        left: max(12px, env(safe-area-inset-left, 0px));
        right: max(12px, env(safe-area-inset-right, 0px));
        bottom: max(72px, env(safe-area-inset-bottom, 0px));
        max-width: none;
    }
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-app,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-nav,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-preview,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-ops-toolbar,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-cat,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-item-card {
    background: linear-gradient(165deg, rgba(17, 24, 39, 0.98) 0%, rgba(15, 23, 42, 0.92) 100%);
    border-color: rgba(148, 163, 184, 0.16);
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-main {
    background: rgba(15, 23, 42, 0.46);
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-cat-header {
    background: rgba(15, 23, 42, 0.5);
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-cat-body {
    background: rgba(17, 24, 39, 0.72);
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-cat-name,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-nav-menu-name,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-preview-head strong {
    color: #f8fafc;
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-nav-item {
    color: #cbd5e1;
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-nav-item:hover {
    background: rgba(99, 102, 241, 0.18);
    color: #f8fafc;
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-nav-item.is-active {
    background: rgba(129, 140, 248, 0.2);
    border-color: rgba(165, 180, 252, 0.24);
    color: #c7d2fe;
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-nav-eyebrow,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-cat-kicker,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-preview-kicker,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-label,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-lang-row label,
.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-visibility-text {
    color: #94a3b8;
}

.dmm-cd.dark-mode #dmm-cd-menue .dmm-cd-editor-item-visibility {
    background: rgba(16, 185, 129, 0.14);
    color: #86efac;
}
