/* Alpine.js: verberg x-cloak elementen tot Alpine initialiseert */
[x-cloak] { display: none !important; }

/* Self-hosted fonts (ADR-020 INV-FE-004) */
@font-face {
  font-family: 'Poppins';
  src: url('/static/vendor/fonts/poppins/poppins-400.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('/static/vendor/fonts/poppins/poppins-500.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('/static/vendor/fonts/poppins/poppins-600.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('/static/vendor/fonts/poppins/poppins-700.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/static/vendor/fonts/open-sans/open-sans-400.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/static/vendor/fonts/open-sans/open-sans-500.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/static/vendor/fonts/open-sans/open-sans-600.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/static/vendor/fonts/open-sans/open-sans-700.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

@import "tailwindcss";

/* ================================================================
   Zendd Design Token Systeem — NLDS-compliant
   Versie: 2.0.0
   Bron: Style Dictionary (internal/ui/tokens/*.json)

   Architectuur:
     tokens.css  → --zendd-* (gegenereerd, NIET handmatig bewerken)
     global.css  → @theme aliassen (Tailwind bridge) + component CSS
     styles.css  → Tailwind compiled output

   NLDS: ASSESS-20260427-01, CONSOLIDATIE-ADMIN-UI-NLDS
   WCAG 2.2 AA: Contrast >= 4.5:1, touch target >= 44px
   ================================================================ */


/* ── 1. Tailwind ↔ NLDS Token Bridge ──────────────────────────── */
/* @theme registreert tokens als Tailwind utilities (bg-*, text-*, etc.)
   Waarden verwijzen naar --zendd-* tokens uit tokens.css.
   Bij gemeente-theming: alleen tokens.css overriden, @theme volgt mee. */

@theme {
  /* ── Brand Colors (Tailwind utilities: bg-purple-600, text-navy-800, etc.) */
  --color-purple-50: var(--zendd-color-purple-50);
  --color-purple-100: var(--zendd-color-purple-100);
  --color-purple-200: var(--zendd-color-purple-200);
  --color-purple-300: var(--zendd-color-purple-300);
  --color-purple-400: var(--zendd-color-purple-400);
  --color-purple-500: var(--zendd-color-purple-500);
  --color-purple-600: var(--zendd-color-purple-600);
  --color-purple-700: var(--zendd-color-purple-700);
  --color-purple-800: var(--zendd-color-purple-800);
  --color-purple-900: var(--zendd-color-purple-900);

  --color-navy-50: var(--zendd-color-navy-50);
  --color-navy-100: var(--zendd-color-navy-100);
  --color-navy-200: var(--zendd-color-navy-200);
  --color-navy-300: var(--zendd-color-navy-300);
  --color-navy-400: var(--zendd-color-navy-400);
  --color-navy-500: var(--zendd-color-navy-500);
  --color-navy-600: var(--zendd-color-navy-600);
  --color-navy-700: var(--zendd-color-navy-700);
  --color-navy-800: var(--zendd-color-navy-800);
  --color-navy-900: var(--zendd-color-navy-900);

  --color-amber-50: var(--zendd-color-amber-50);
  --color-amber-100: var(--zendd-color-amber-100);
  --color-amber-200: var(--zendd-color-amber-200);
  --color-amber-300: var(--zendd-color-amber-300);
  --color-amber-400: var(--zendd-color-amber-400);
  --color-amber-500: var(--zendd-color-amber-500);
  --color-amber-600: var(--zendd-color-amber-600);
  --color-amber-700: var(--zendd-color-amber-700);
  --color-amber-800: var(--zendd-color-amber-800);
  --color-amber-900: var(--zendd-color-amber-900);

  --color-coral-50: var(--zendd-color-coral-50);
  --color-coral-100: var(--zendd-color-coral-100);
  --color-coral-200: var(--zendd-color-coral-200);
  --color-coral-300: var(--zendd-color-coral-300);
  --color-coral-400: var(--zendd-color-coral-400);
  --color-coral-500: var(--zendd-color-coral-500);
  --color-coral-600: var(--zendd-color-coral-600);
  --color-coral-700: var(--zendd-color-coral-700);
  --color-coral-800: var(--zendd-color-coral-800);
  --color-coral-900: var(--zendd-color-coral-900);

  --color-sky-50: var(--zendd-color-sky-50);
  --color-sky-100: var(--zendd-color-sky-100);
  --color-sky-200: var(--zendd-color-sky-200);
  --color-sky-300: var(--zendd-color-sky-300);
  --color-sky-400: var(--zendd-color-sky-400);
  --color-sky-500: var(--zendd-color-sky-500);
  --color-sky-600: var(--zendd-color-sky-600);
  --color-sky-700: var(--zendd-color-sky-700);
  --color-sky-800: var(--zendd-color-sky-800);
  --color-sky-900: var(--zendd-color-sky-900);

  --color-green-50: var(--zendd-color-green-50);
  --color-green-100: var(--zendd-color-green-100);
  --color-green-200: var(--zendd-color-green-200);
  --color-green-300: var(--zendd-color-green-300);
  --color-green-400: var(--zendd-color-green-400);
  --color-green-500: var(--zendd-color-green-500);
  --color-green-600: var(--zendd-color-green-600);
  --color-green-700: var(--zendd-color-green-700);
  --color-green-800: var(--zendd-color-green-800);
  --color-green-900: var(--zendd-color-green-900);

  /* ── Semantic Colors (Tailwind utilities: bg-primary, text-success, etc.) */
  --color-primary: var(--zendd-action-primary-color);
  --color-primary-hover: var(--zendd-action-primary-hover);
  --color-primary-active: var(--zendd-action-primary-active);
  --color-primary-light: var(--zendd-action-primary-light);
  --color-primary-muted: var(--zendd-action-primary-muted);

  --color-success: var(--zendd-feedback-success-color);
  --color-success-hover: var(--zendd-feedback-success-hover);
  --color-success-light: var(--zendd-feedback-success-light);
  --color-success-muted: var(--zendd-feedback-success-muted);

  --color-warning: var(--zendd-feedback-warning-color);
  --color-warning-hover: var(--zendd-feedback-warning-hover);
  --color-warning-light: var(--zendd-feedback-warning-light);
  --color-warning-muted: var(--zendd-feedback-warning-muted);
  --color-warning-dark: var(--zendd-feedback-warning-dark);

  --color-danger: var(--zendd-feedback-danger-color);
  --color-danger-hover: var(--zendd-feedback-danger-hover);
  --color-danger-light: var(--zendd-feedback-danger-light);
  --color-danger-muted: var(--zendd-feedback-danger-muted);

  --color-info: var(--zendd-feedback-info-color);
  --color-info-hover: var(--zendd-feedback-info-hover);
  --color-info-light: var(--zendd-feedback-info-light);
  --color-info-muted: var(--zendd-feedback-info-muted);

  /* ── Surface (Tailwind: bg-surface-primary, etc.) */
  --color-surface-primary: var(--zendd-surface-primary);
  --color-surface-secondary: var(--zendd-surface-secondary);
  --color-surface-tertiary: var(--zendd-surface-tertiary);
  --color-surface-dark: var(--zendd-surface-dark);
  --color-surface-darker: var(--zendd-surface-darker);

  /* ── Text (Tailwind: text-text-primary, etc.) */
  --color-text-primary: var(--zendd-text-primary);
  --color-text-secondary: var(--zendd-text-secondary);
  --color-text-tertiary: var(--zendd-text-tertiary);
  --color-text-inverse: var(--zendd-text-inverse);
  --color-text-on-primary: var(--zendd-text-on-primary);
  --color-text-on-danger: var(--zendd-text-on-danger);
  --color-text-on-warning: var(--zendd-text-on-warning);
  --color-text-on-success: var(--zendd-text-on-success);
  --color-text-on-info: var(--zendd-text-on-info);
  --color-text-link: var(--zendd-text-link);

  /* ── Borders (Tailwind: border-border-default, etc.) */
  --color-border-default: var(--zendd-border-default);
  --color-border-light: var(--zendd-border-light);
  --color-border-strong: var(--zendd-border-strong);
  --color-border-focus: var(--zendd-border-focus);
  --color-border-danger: var(--zendd-border-danger);
  --color-border-success: var(--zendd-border-success);
  --color-border-warning: var(--zendd-border-warning);
  --color-border-info: var(--zendd-border-info);

  /* ── Font Families */
  --font-heading: var(--zendd-font-family-heading);
  --font-body: var(--zendd-font-family-body);
  --font-mono: var(--zendd-font-family-mono);

  /* ── Font Sizes */
  --text-xs: var(--zendd-font-size-xs);
  --text-sm: var(--zendd-font-size-sm);
  --text-base: var(--zendd-font-size-base);
  --text-lg: var(--zendd-font-size-lg);
  --text-xl: var(--zendd-font-size-xl);
  --text-2xl: var(--zendd-font-size-2xl);
  --text-3xl: var(--zendd-font-size-3xl);
  --text-4xl: var(--zendd-font-size-4xl);

  /* ── Spacing */
  --space-0: var(--zendd-space-0);
  --space-1: var(--zendd-space-1);
  --space-2: var(--zendd-space-2);
  --space-3: var(--zendd-space-3);
  --space-4: var(--zendd-space-4);
  --space-5: var(--zendd-space-5);
  --space-6: var(--zendd-space-6);
  --space-8: var(--zendd-space-8);
  --space-10: var(--zendd-space-10);
  --space-12: var(--zendd-space-12);
  --space-16: var(--zendd-space-16);

  /* ── Radius */
  --radius-sm: var(--zendd-radius-sm);
  --radius-md: var(--zendd-radius-md);
  --radius-lg: var(--zendd-radius-lg);
  --radius-xl: var(--zendd-radius-xl);
  --radius-full: var(--zendd-radius-full);

  /* ── Shadows */
  --shadow-sm: var(--zendd-shadow-sm);
  --shadow-md: var(--zendd-shadow-md);
  --shadow-lg: var(--zendd-shadow-lg);
  --shadow-xl: var(--zendd-shadow-xl);
}

:root {
  /* ── Transitions (niet in @theme: Tailwind heeft eigen transition utilities) */
  --transition-fast: var(--zendd-transition-fast);
  --transition-normal: var(--zendd-transition-normal);
  --transition-slow: var(--zendd-transition-slow);

  /* ── Z-index */
  --z-base: var(--zendd-z-index-base);
  --z-dropdown: var(--zendd-z-index-dropdown);
  --z-sticky: var(--zendd-z-index-sticky);
  --z-sidebar: var(--zendd-z-index-sidebar);
  --z-overlay: var(--zendd-z-index-overlay);
  --z-modal: var(--zendd-z-index-modal);
  --z-toast: var(--zendd-z-index-toast);

  /* ── Layout */
  --sidebar-width: var(--zendd-layout-sidebar-width);
  --header-height: var(--zendd-layout-header-height);
  --touch-target-min: var(--zendd-layout-touch-target-min);

  /* ── Aanvullende semantic tokens (niet in tokens.css) */
  --zendd-bg-subtle: var(--zendd-surface-secondary);
  --zendd-surface-hover: var(--zendd-surface-tertiary);
  --zendd-color-blue-400: #60a5fa;
  --zendd-color-red-50: #fef2f2;
  --zendd-color-red-600: #dc2626;

  /* ── Text shadow tokens (hero/presentatie) */
  --zendd-text-shadow-heavy: 0 2px 8px rgba(0, 0, 0, 0.3);
  --zendd-text-shadow-light: 0 1px 4px rgba(0, 0, 0, 0.2);
}


/* ── 2. WCAG Basis-infra ──────────────────────────────────────── */

/* Skip link — WCAG 2.4.1 (eerste focusbare element) */
.zendd-skip-link {
  position: absolute;
  top: -100%;
  left: var(--zendd-space-4);
  z-index: var(--zendd-z-index-toast);
  padding: var(--zendd-skip-link-padding);
  background-color: var(--zendd-skip-link-background-color);
  color: var(--zendd-skip-link-color);
  font-size: var(--zendd-skip-link-font-size);
  font-weight: var(--zendd-skip-link-font-weight);
  border-radius: var(--zendd-radius-md);
  text-decoration: none;
  white-space: nowrap;
}

.zendd-skip-link:focus {
  top: var(--zendd-space-4);
  outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
  outline-offset: var(--zendd-focus-outline-offset);
}

/* Focus-visible — WCAG 2.4.7 */
:focus-visible {
  outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
  outline-offset: var(--zendd-focus-outline-offset);
}

/* Reduced motion — WCAG 2.3.3 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ── 3. HTMX Loading Indicator ────────────────────────────────── */

.htmx-indicator {
    opacity: 0;
    transition: opacity var(--transition-normal);
}
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    opacity: 1;
}


/* ── 4. Animations ────────────────────────────────────────────── */

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.3s ease-out;
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-slide-up {
    animation: slideUp 0.4s ease-out;
}

@keyframes sovereignPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.animate-sovereign-pulse {
    animation: sovereignPulse 2s ease-in-out infinite;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.animate-shimmer {
    background: linear-gradient(90deg,
        var(--zendd-surface-tertiary) 25%,
        var(--zendd-surface-secondary) 50%,
        var(--zendd-surface-tertiary) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s ease-in-out infinite;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-16px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.animate-spin {
    animation: spin 1s linear infinite;
}


/* ── 5. Base Styles ───────────────────────────────────────────── */

.A2-text-readable {
    font-size: var(--zendd-font-size-lg);
    line-height: 1.75;
    letter-spacing: 0.01em;
}


/* ── 6. NLDS Component CSS ────────────────────────────────────── */
/* Elke class gebruikt --zendd-* tokens. Tailwind @layer zodat utilities kunnen overriden. */

@layer components {

    /* ── Badge ─────────────────────────────────────────────────── */
    .zendd-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        padding-block: var(--zendd-badge-padding-block);
        padding-inline: var(--zendd-badge-padding-inline);
        font-size: var(--zendd-badge-font-size);
        font-weight: var(--zendd-badge-font-weight);
        line-height: 1.5;
        border-radius: var(--zendd-badge-border-radius);
        white-space: nowrap;
        min-block-size: var(--zendd-badge-min-block-size);
        border: 1px solid transparent;
        transition: all var(--zendd-transition-fast);
    }

    .zendd-badge--primary {
        background-color: var(--zendd-badge-primary-background-color);
        color: var(--zendd-badge-primary-color);
        border-color: var(--zendd-badge-primary-border-color);
    }

    .zendd-badge--success {
        background-color: var(--zendd-badge-success-background-color);
        color: var(--zendd-badge-success-color);
        border-color: var(--zendd-badge-success-border-color);
    }

    .zendd-badge--warning {
        background-color: var(--zendd-badge-warning-background-color);
        color: var(--zendd-badge-warning-color);
        border-color: var(--zendd-badge-warning-border-color);
    }

    .zendd-badge--danger {
        background-color: var(--zendd-badge-danger-background-color);
        color: var(--zendd-badge-danger-color);
        border-color: var(--zendd-badge-danger-border-color);
    }

    .zendd-badge--info {
        background-color: var(--zendd-badge-info-background-color);
        color: var(--zendd-badge-info-color);
        border-color: var(--zendd-badge-info-border-color);
    }

    .zendd-badge--muted {
        background-color: var(--zendd-badge-muted-background-color);
        color: var(--zendd-badge-muted-color);
        border-color: var(--zendd-badge-muted-border-color);
    }

    .zendd-badge--code {
        background-color: var(--zendd-badge-code-background-color);
        color: var(--zendd-badge-code-color);
        border-color: var(--zendd-badge-code-border-color);
        font-family: var(--zendd-badge-code-font-family);
        font-weight: 500;
    }

    /* Badge — Size variants */
    .zendd-badge--sm {
        font-size: calc(var(--zendd-badge-font-size) * 0.85);
        padding-block: calc(var(--zendd-badge-padding-block) * 0.75);
        padding-inline: calc(var(--zendd-badge-padding-inline) * 0.75);
    }
    .zendd-badge--lg {
        font-size: calc(var(--zendd-badge-font-size) * 1.15);
        padding-block: calc(var(--zendd-badge-padding-block) * 1.25);
        padding-inline: calc(var(--zendd-badge-padding-inline) * 1.25);
    }

    /* Badge — Modifiers */
    .zendd-badge--strikethrough { text-decoration: line-through; }
    .zendd-badge--dashed { border-style: dashed; }

    /* Badge — Dot indicator */
    .zendd-badge__dot {
        width: 0.5rem;
        height: 0.5rem;
        border-radius: var(--zendd-radius-full);
        background-color: currentColor;
        flex-shrink: 0;
    }

    /* Badge — Icon */
    .zendd-badge__icon {
        width: 0.875rem;
        height: 0.875rem;
        flex-shrink: 0;
    }

    /* Badge — Remove button */
    .zendd-badge__remove {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        margin-inline-start: var(--zendd-space-1);
        color: currentColor;
        opacity: 0.6;
        border-radius: var(--zendd-radius-sm);
    }
    .zendd-badge__remove:hover { opacity: 1; }
    .zendd-badge__remove:focus-visible {
        outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
        outline-offset: 1px;
    }


    /* ── Button ────────────────────────────────────────────────── */
    .zendd-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--zendd-space-2);
        padding-block: var(--zendd-button-padding-block);
        padding-inline: var(--zendd-button-padding-inline);
        font-family: var(--zendd-button-font-family);
        font-size: var(--zendd-button-font-size);
        font-weight: var(--zendd-button-font-weight);
        line-height: 1.5;
        border-radius: var(--zendd-button-border-radius);
        border: 1px solid transparent;
        cursor: pointer;
        min-block-size: var(--zendd-button-min-block-size);
        transition: all var(--zendd-transition-fast);
        white-space: nowrap;
        text-decoration: none;
    }

    .zendd-button:focus-visible {
        outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
        outline-offset: var(--zendd-focus-outline-offset);
    }

    .zendd-button[disabled],
    .zendd-button[aria-disabled="true"] {
        opacity: 0.4;
        cursor: not-allowed;
        pointer-events: none;
    }

    .zendd-button--primary {
        background-color: var(--zendd-button-primary-action-background-color);
        color: var(--zendd-button-primary-action-color);
        border-color: var(--zendd-button-primary-action-background-color);
    }
    .zendd-button--primary:hover:not([disabled]) {
        background-color: var(--zendd-button-primary-action-hover-background);
        border-color: var(--zendd-button-primary-action-hover-background);
    }

    .zendd-button--success {
        background-color: var(--zendd-button-success-background-color);
        color: var(--zendd-button-success-color);
        border-color: var(--zendd-button-success-background-color);
    }
    .zendd-button--success:hover:not([disabled]) {
        background-color: var(--zendd-button-success-hover-background);
        border-color: var(--zendd-button-success-hover-background);
    }

    .zendd-button--danger {
        background-color: var(--zendd-button-danger-background-color);
        color: var(--zendd-button-danger-color);
        border-color: var(--zendd-button-danger-background-color);
    }
    .zendd-button--danger:hover:not([disabled]) {
        background-color: var(--zendd-button-danger-hover-background);
        border-color: var(--zendd-button-danger-hover-background);
    }

    .zendd-button--warning {
        background-color: var(--zendd-button-warning-background-color);
        color: var(--zendd-button-warning-color);
        border-color: var(--zendd-button-warning-background-color);
    }
    .zendd-button--warning:hover:not([disabled]) {
        background-color: var(--zendd-button-warning-hover-background);
        border-color: var(--zendd-button-warning-hover-background);
    }

    .zendd-button--secondary {
        background-color: var(--zendd-button-secondary-background-color);
        color: var(--zendd-button-secondary-color);
        border-color: var(--zendd-button-secondary-border-color);
    }
    .zendd-button--secondary:hover:not([disabled]) {
        background-color: var(--zendd-button-secondary-hover-background);
    }

    .zendd-button--ghost {
        background-color: var(--zendd-button-ghost-background-color);
        color: var(--zendd-button-ghost-color);
        border-color: transparent;
    }
    .zendd-button--ghost:hover:not([disabled]) {
        background-color: var(--zendd-button-ghost-hover-background);
        color: var(--zendd-text-primary);
    }

    .zendd-button--sm {
        padding-block: var(--zendd-space-1);
        padding-inline: var(--zendd-space-3);
        font-size: var(--zendd-font-size-xs);
    }

    .zendd-button--lg {
        padding-block: var(--zendd-space-3);
        padding-inline: var(--zendd-space-5);
        font-size: var(--zendd-font-size-base);
        min-block-size: 2.5rem;
    }

    /* Button — Icon-only (44px touch target, geen label) */
    .zendd-button--icon {
        padding: var(--zendd-space-2);
        min-block-size: var(--zendd-layout-touch-target-min, 44px);
        min-inline-size: var(--zendd-layout-touch-target-min, 44px);
    }

    /* Button — Full width */
    .zendd-button--full-width {
        width: 100%;
    }

    /* Button — Loading state */
    .zendd-button--loading {
        position: relative;
    }

    /* Spinner inside button */
    .zendd-spinner--inline {
        width: 1rem;
        height: 1rem;
        border-width: 2px;
    }


    /* ── Card ──────────────────────────────────────────────────── */
    .zendd-card {
        background-color: var(--zendd-card-background-color);
        border: 1px solid var(--zendd-card-border-color);
        border-radius: var(--zendd-card-border-radius);
        padding: var(--zendd-card-padding);
        box-shadow: var(--zendd-card-shadow);
        transition: box-shadow var(--zendd-transition-normal);
    }

    .zendd-card:hover {
        box-shadow: var(--zendd-card-hover-shadow);
    }

    .zendd-card__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--zendd-space-3);
        padding-block-end: var(--zendd-space-3);
        border-block-end: 1px solid var(--zendd-border-default);
        margin-block-end: var(--zendd-space-3);
    }

    .zendd-card__header-content {
        flex: 1;
        min-width: 0;
    }

    .zendd-card__title {
        font-family: var(--zendd-font-family-heading);
        font-weight: 600;
        color: var(--zendd-text-primary);
        font-size: var(--zendd-font-size-xl);
        line-height: 1.3;
        margin: 0;
    }

    .zendd-card__actions {
        display: flex;
        align-items: center;
        gap: var(--zendd-space-2);
        flex-shrink: 0;
    }

    .zendd-card__footer {
        padding-block-start: var(--zendd-space-3);
        border-block-start: 1px solid var(--zendd-border-light);
        margin-block-start: var(--zendd-space-3);
    }

    .zendd-card__link {
        color: inherit;
        text-decoration: none;
    }

    /* Card — Border variants (gekleurde linkerborder) */
    .zendd-card--border-success { border-left: 4px solid var(--zendd-border-success); }
    .zendd-card--border-danger  { border-left: 4px solid var(--zendd-border-danger); }
    .zendd-card--border-warning { border-left: 4px solid var(--zendd-border-warning); }
    .zendd-card--border-info    { border-left: 4px solid var(--zendd-border-info); }
    .zendd-card--border-primary { border-left: 4px solid var(--zendd-action-primary-color); }
    .zendd-card--border-muted   { border-left: 4px solid var(--zendd-border-strong); }

    /* Card — Modifiers */
    .zendd-card--clickable { cursor: pointer; }
    .zendd-card--clickable:hover { box-shadow: var(--zendd-shadow-md); }
    .zendd-card--flat { box-shadow: none; }
    .zendd-card--flat:hover { box-shadow: none; }
    .zendd-card--no-padding { padding: 0; }
    .zendd-card--no-padding .zendd-card__body { padding: var(--zendd-card-padding); }
    .zendd-card--compact { padding: var(--zendd-space-3); }
    .zendd-card--lg-padding { padding: var(--zendd-space-6); }

    /* Presentation Preview Card */
    .zendd-presentation-preview {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 9rem;
        position: relative;
        background: linear-gradient(135deg, var(--zendd-surface-darker), var(--zendd-color-purple-900), var(--zendd-surface-dark));
    }
    .zendd-presentation-preview__icon {
        color: var(--zendd-action-primary-color);
        opacity: 0.6;
    }
    .zendd-presentation-preview__title {
        font-size: var(--zendd-font-size-sm);
        font-weight: 500;
        color: var(--zendd-color-white);
        opacity: 0.8;
    }
    .zendd-presentation-preview__live-badge {
        position: absolute;
        top: var(--zendd-space-3);
        right: var(--zendd-space-3);
        display: flex;
        align-items: center;
        gap: var(--zendd-space-1);
        padding: var(--zendd-space-1) var(--zendd-space-2);
        border-radius: var(--zendd-radius-full);
        background-color: var(--zendd-feedback-success-light);
        border: 1px solid var(--zendd-border-success);
    }

    /* Keyboard shortcut */
    .zendd-kbd {
        display: inline-block;
        padding: 0.125rem 0.375rem;
        border-radius: var(--zendd-radius-sm);
        font-family: var(--zendd-font-family-mono);
        background-color: var(--zendd-surface-secondary);
        border: 1px solid var(--zendd-border-default);
        color: var(--zendd-text-secondary);
        font-size: inherit;
        line-height: 1.5;
    }

    /* Slidev iframe wrapper */
    .zendd-slidev-wrapper {
        aspect-ratio: 16/9;
        border: 1px solid var(--zendd-border-default);
        background-color: var(--zendd-surface-darker);
        box-shadow: var(--zendd-shadow-md);
    }

    /* Empty state */
    .zendd-empty-state {
        text-align: center;
        padding: var(--zendd-space-16) var(--zendd-space-4);
        color: var(--zendd-text-tertiary);
    }
    .zendd-empty-state__icon {
        opacity: 0.4;
    }
    .zendd-empty-state__description {
        font-size: var(--zendd-font-size-sm);
    }

    /* Keyboard hint bar */
    .zendd-keyboard-hints {
        font-size: var(--zendd-font-size-xs);
        color: var(--zendd-text-tertiary);
    }

    /* Stat Card */
    .zendd-stat-card__label {
        font-family: var(--zendd-font-family-heading);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        font-size: var(--zendd-font-size-xs);
        color: var(--zendd-text-secondary);
        margin-block-end: var(--zendd-space-1);
    }
    .zendd-stat-card__value {
        font-family: var(--zendd-font-family-heading);
        font-weight: 700;
        font-size: var(--zendd-font-size-3xl);
        color: var(--zendd-text-primary);
        line-height: 1.2;
    }
    .zendd-stat-card__description {
        font-size: var(--zendd-font-size-sm);
        color: var(--zendd-text-tertiary);
        margin-block-start: var(--zendd-space-1);
    }
    .zendd-stat-card__trend {
        display: inline-flex;
        align-items: center;
        gap: var(--zendd-space-1);
        font-size: var(--zendd-font-size-xs);
        font-weight: 600;
        margin-block-start: var(--zendd-space-2);
    }
    .zendd-stat-card__trend--up { color: var(--zendd-feedback-success-color); }
    .zendd-stat-card__trend--down { color: var(--zendd-feedback-danger-color); }
    .zendd-stat-card__trend--stable { color: var(--zendd-text-tertiary); }


    /* ── Alert ─────────────────────────────────────────────────── */
    .zendd-alert {
        padding: var(--zendd-alert-padding);
        border-radius: var(--zendd-alert-border-radius);
        border: 1px solid transparent;
        display: flex;
        align-items: flex-start;
        gap: var(--zendd-space-3);
    }

    .zendd-alert--success {
        background-color: var(--zendd-alert-success-background-color);
        border-color: var(--zendd-alert-success-border-color);
        color: var(--zendd-alert-success-color);
    }

    .zendd-alert--warning {
        background-color: var(--zendd-alert-warning-background-color);
        border-color: var(--zendd-alert-warning-border-color);
        color: var(--zendd-alert-warning-color);
    }

    .zendd-alert--danger {
        background-color: var(--zendd-alert-danger-background-color);
        border-color: var(--zendd-alert-danger-border-color);
        color: var(--zendd-alert-danger-color);
    }

    .zendd-alert--info {
        background-color: var(--zendd-alert-info-background-color);
        border-color: var(--zendd-alert-info-border-color);
        color: var(--zendd-alert-info-color);
    }


    /* ── Page Header ───────────────────────────────────────────── */
    .zendd-page-header__title {
        font-size: var(--zendd-page-header-title-font-size);
        font-family: var(--zendd-page-header-title-font-family);
        font-weight: var(--zendd-page-header-title-font-weight);
        color: var(--zendd-page-header-title-color);
        letter-spacing: -0.025em;
        line-height: 1.2;
    }

    .zendd-page-header__subtitle {
        font-size: var(--zendd-page-header-subtitle-font-size);
        font-weight: var(--zendd-page-header-subtitle-font-weight);
        color: var(--zendd-page-header-subtitle-color);
        margin-block-start: var(--zendd-space-1);
    }

    .zendd-page-header {
        margin-block-end: var(--zendd-space-8);
    }

    .zendd-page-header__row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: var(--zendd-space-4);
    }

    .zendd-page-header__title-group {
        flex: 1;
        min-width: 0;
    }

    .zendd-page-header__badge {
        margin-inline-start: var(--zendd-space-2);
        vertical-align: middle;
    }

    .zendd-page-header__actions {
        display: flex;
        align-items: center;
        gap: var(--zendd-space-2);
        flex-shrink: 0;
    }

    @media (max-width: 768px) {
        .zendd-page-header__row {
            flex-direction: column;
        }
        .zendd-page-header__actions {
            width: 100%;
        }
    }


    /* ── Side Navigation ───────────────────────────────────────── */
    .zendd-sidenav {
        background-color: var(--zendd-sidenav-background-color);
        width: var(--zendd-sidenav-width);
    }

    .zendd-sidenav__group-label {
        font-size: var(--zendd-sidenav-group-label-font-size);
        color: var(--zendd-sidenav-group-label-color);
        font-weight: var(--zendd-sidenav-group-label-font-weight);
        letter-spacing: var(--zendd-sidenav-group-label-letter-spacing);
        text-transform: var(--zendd-sidenav-group-label-text-transform);
        padding-inline: var(--zendd-sidenav-item-padding-inline);
        padding-block: var(--zendd-space-1);
    }

    .zendd-sidenav__item {
        display: flex;
        align-items: center;
        gap: var(--zendd-space-3);
        padding-block: var(--zendd-sidenav-item-padding-block);
        padding-inline: var(--zendd-sidenav-item-padding-inline);
        font-size: var(--zendd-sidenav-item-font-size);
        color: var(--zendd-sidenav-item-color);
        border-radius: var(--zendd-sidenav-item-border-radius);
        min-block-size: var(--zendd-sidenav-item-min-block-size);
        transition: all var(--zendd-transition-fast);
        text-decoration: none;
        cursor: pointer;
    }

    .zendd-sidenav__item:hover {
        background-color: var(--zendd-sidenav-item-hover-background-color);
        color: var(--zendd-sidenav-item-hover-color);
    }

    .zendd-sidenav__item[aria-current="page"],
    .zendd-sidenav__item--active {
        background-color: var(--zendd-sidenav-item-active-background-color);
        color: var(--zendd-sidenav-item-active-color);
    }

    .zendd-sidenav__item[aria-disabled="true"],
    .zendd-sidenav__item--disabled {
        color: var(--zendd-color-navy-400);  /* ~5.0:1 op navy-900 — voldoet aan WCAG 1.4.3 voor disabled (uitzondering, maar wij borgen het alsnog) */
        pointer-events: none;
    }

    .zendd-sidenav__item[aria-disabled="true"] i,
    .zendd-sidenav__item--disabled i {
        opacity: 0.5;
    }

    .zendd-sidenav__item:focus-visible {
        outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
        outline-offset: calc(-1 * var(--zendd-focus-outline-offset));
    }


    /* ── Table ─────────────────────────────────────────────────── */
    .zendd-table__header {
        font-size: var(--zendd-table-header-font-size);
        font-weight: var(--zendd-table-header-font-weight);
        color: var(--zendd-table-header-color);
        padding: var(--zendd-table-header-padding);
        border-block-end: 2px solid var(--zendd-table-header-border-color);
        text-transform: uppercase;
        letter-spacing: 0.05em;
        text-align: start;
    }

    .zendd-table__cell {
        padding: var(--zendd-table-cell-padding);
        font-size: var(--zendd-table-cell-font-size);
        border-block-end: 1px solid var(--zendd-table-cell-border-color);
    }

    .zendd-table__row:hover {
        background-color: var(--zendd-table-row-hover-background-color);
    }


    /* ── Input / Form Field ────────────────────────────────────── */
    .zendd-input {
        width: 100%;
        padding: var(--zendd-input-padding);
        font-size: var(--zendd-input-font-size);
        line-height: 1.5;
        color: var(--zendd-text-primary);
        background-color: var(--zendd-surface-primary);
        border: 1px solid var(--zendd-input-border-color);
        border-radius: var(--zendd-input-border-radius);
        min-block-size: var(--zendd-input-min-block-size);
        transition: border-color var(--zendd-transition-fast),
                    box-shadow var(--zendd-transition-fast);
    }

    .zendd-input:focus {
        outline: none;
        border-color: var(--zendd-input-focus-border-color);
        box-shadow: 0 0 0 3px var(--zendd-input-focus-ring-color);
    }

    .zendd-input--error {
        border-color: var(--zendd-input-error-border-color);
    }

    .zendd-input--error:focus {
        box-shadow: 0 0 0 3px var(--zendd-input-error-ring-color);
    }

    .zendd-form-field__label {
        display: block;
        font-size: var(--zendd-font-size-sm);
        font-weight: 600;
        color: var(--zendd-text-primary);
        margin-block-end: var(--zendd-space-1);
    }

    .zendd-form-field__description {
        font-size: var(--zendd-font-size-xs);
        color: var(--zendd-text-secondary);
        margin-block-start: var(--zendd-space-1);
    }

    .zendd-form-field__error {
        font-size: var(--zendd-font-size-xs);
        color: var(--zendd-feedback-danger-color);
        margin-block-start: var(--zendd-space-1);
    }

    /* Form field — Checkbox description offset */
    .zendd-form-field__description--checkbox {
        margin-inline-start: calc(var(--zendd-checkbox-size) + var(--zendd-space-2));
    }

    /* Textarea */
    .zendd-textarea {
        resize: vertical;
        min-block-size: 6rem;
    }

    /* Checkbox */
    .zendd-form-field--checkbox {
        margin-block: var(--zendd-space-2);
    }

    .zendd-checkbox-label {
        display: flex;
        align-items: flex-start;
        gap: var(--zendd-space-2);
        cursor: pointer;
        min-block-size: var(--zendd-layout-touch-target-min, 44px);
        padding-block: var(--zendd-space-2);
    }

    .zendd-checkbox {
        width: var(--zendd-checkbox-size);
        height: var(--zendd-checkbox-size);
        accent-color: var(--zendd-action-primary-color);
        cursor: pointer;
        margin-block-start: 0.125rem;
        flex-shrink: 0;
    }

    .zendd-checkbox-label__text {
        font-size: var(--zendd-font-size-sm);
        color: var(--zendd-text-primary);
        line-height: 1.5;
    }

    /* Radio Group */
    .zendd-radio-group {
        border: none;
        padding: 0;
        margin: 0;
    }

    .zendd-radio-group__options {
        display: flex;
        flex-direction: column;
        gap: var(--zendd-space-1);
        margin-block-start: var(--zendd-space-2);
    }

    .zendd-radio-group--inline .zendd-radio-group__options {
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--zendd-space-4);
    }

    .zendd-radio-label {
        display: flex;
        align-items: center;
        gap: var(--zendd-space-2);
        cursor: pointer;
        min-block-size: var(--zendd-layout-touch-target-min, 44px);
        padding-block: var(--zendd-space-1);
    }

    .zendd-radio {
        width: var(--zendd-radio-size);
        height: var(--zendd-radio-size);
        accent-color: var(--zendd-action-primary-color);
        cursor: pointer;
        flex-shrink: 0;
    }

    .zendd-radio-label__text {
        font-size: var(--zendd-font-size-sm);
        color: var(--zendd-text-primary);
        line-height: 1.5;
    }


    /* ── Accordion (native <details>/<summary>) ──────────────── */
    .zendd-accordion {
        border: 1px solid var(--zendd-accordion-border-color);
        border-radius: var(--zendd-accordion-border-radius);
        background-color: var(--zendd-accordion-background-color);
        transition: border-color var(--zendd-transition-fast);
    }

    .zendd-accordion:hover {
        border-color: var(--zendd-accordion-hover-border-color);
    }

    /* Native <summary> als trigger */
    .zendd-accordion__trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--zendd-space-3);
        padding: var(--zendd-accordion-padding);
        cursor: pointer;
        list-style: none; /* Verwijdert native disclosure triangle */
        font: inherit;
        color: inherit;
    }

    /* Safari: verwijder native marker */
    .zendd-accordion__trigger::-webkit-details-marker {
        display: none;
    }

    .zendd-accordion__trigger:focus-visible {
        outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
        outline-offset: calc(-1 * var(--zendd-focus-outline-offset));
        border-radius: var(--zendd-accordion-border-radius);
    }

    .zendd-accordion__header-content {
        flex: 1;
        min-width: 0;
    }

    .zendd-accordion__header-right {
        display: flex;
        align-items: center;
        gap: var(--zendd-space-2);
        flex-shrink: 0;
    }

    /* Chevron roteert bij open */
    .zendd-accordion__icon {
        transition: transform var(--zendd-transition-fast);
        flex-shrink: 0;
        color: var(--zendd-text-tertiary);
    }

    .zendd-accordion[open] > .zendd-accordion__trigger .zendd-accordion__icon {
        transform: rotate(180deg);
    }

    .zendd-accordion__panel {
        padding-inline: var(--zendd-accordion-padding);
        padding-block-end: var(--zendd-accordion-padding);
        border-block-start: 1px solid var(--zendd-border-light);
    }

    /* Accordion — Border variants */
    .zendd-accordion--border-success { border-left: 4px solid var(--zendd-border-success); }
    .zendd-accordion--border-danger  { border-left: 4px solid var(--zendd-border-danger); }
    .zendd-accordion--border-warning { border-left: 4px solid var(--zendd-border-warning); }
    .zendd-accordion--border-info    { border-left: 4px solid var(--zendd-border-info); }

    /* Accordion — Compact */
    .zendd-accordion--compact .zendd-accordion__trigger {
        padding: var(--zendd-space-2) var(--zendd-space-3);
        font-size: var(--zendd-font-size-sm);
    }
    .zendd-accordion--compact .zendd-accordion__panel {
        padding-inline: var(--zendd-space-3);
        padding-block-end: var(--zendd-space-2);
        font-size: var(--zendd-font-size-sm);
    }

    /* Accordion group (stacked) */
    .zendd-accordion-group > .zendd-accordion + .zendd-accordion {
        border-block-start: none;
        border-start-start-radius: 0;
        border-start-end-radius: 0;
    }
    .zendd-accordion-group > .zendd-accordion:not(:last-child) {
        border-end-start-radius: 0;
        border-end-end-radius: 0;
    }


    /* ── Progress List ─────────────────────────────────────────── */
    .zendd-progress-list {
        display: flex;
        align-items: center;
        gap: 0;
    }

    .zendd-progress-list__step {
        display: flex;
        align-items: center;
    }

    .zendd-progress-list__connector {
        flex: 1;
        height: var(--zendd-progress-list-connector-width);
        background-color: var(--zendd-progress-list-pending-color);
        min-width: 1rem;
    }

    .zendd-progress-list__connector--done {
        background-color: var(--zendd-progress-list-done-color);
    }

    .zendd-progress-list__marker {
        width: var(--zendd-progress-list-step-size);
        height: var(--zendd-progress-list-step-size);
        border-radius: var(--zendd-radius-full);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--zendd-font-size-xs);
        font-weight: 700;
        flex-shrink: 0;
        background-color: var(--zendd-progress-list-pending-color);
        color: var(--zendd-progress-list-pending-text-color);
    }

    .zendd-progress-list__marker--done {
        background-color: var(--zendd-progress-list-done-color);
        color: var(--zendd-color-white);
    }

    .zendd-progress-list__marker--active {
        background-color: var(--zendd-progress-list-active-color);
        color: var(--zendd-color-white);
        box-shadow: 0 0 0 4px var(--zendd-progress-list-active-ring-color);
    }

    .zendd-progress-list__marker[aria-current="step"] {
        background-color: var(--zendd-progress-list-active-color);
        color: var(--zendd-color-white);
        box-shadow: 0 0 0 4px var(--zendd-progress-list-active-ring-color);
    }

    .zendd-progress-list__marker--error {
        background-color: var(--zendd-progress-list-error-color);
        color: var(--zendd-color-white);
    }


    /* ── Breadcrumb ────────────────────────────────────────────── */
    .zendd-breadcrumb {
        display: flex;
        align-items: center;
        gap: var(--zendd-space-2);
        font-size: var(--zendd-breadcrumb-font-size);
    }

    .zendd-breadcrumb__item {
        color: var(--zendd-breadcrumb-color);
        text-decoration: none;
    }

    .zendd-breadcrumb__item:hover {
        color: var(--zendd-text-link);
        text-decoration: underline;
    }

    .zendd-breadcrumb__item[aria-current="page"] {
        color: var(--zendd-breadcrumb-active-color);
        font-weight: 600;
    }

    .zendd-breadcrumb__separator {
        color: var(--zendd-breadcrumb-separator-color);
    }


    /* ── Spinner ───────────────────────────────────────────────── */
    .zendd-spinner {
        width: var(--zendd-spinner-size);
        height: var(--zendd-spinner-size);
        border: var(--zendd-spinner-border-width) solid var(--zendd-border-light);
        border-top-color: var(--zendd-spinner-color);
        border-radius: var(--zendd-radius-full);
        animation: spin 0.8s linear infinite;
    }

    .zendd-spinner--xs { width: 0.75rem; height: 0.75rem; border-width: 2px; }
    .zendd-spinner--sm { width: 1rem; height: 1rem; border-width: 2px; }
    .zendd-spinner--lg { width: 2.5rem; height: 2.5rem; border-width: 4px; }
    .zendd-spinner--inline { width: 1rem; height: 1rem; border-width: 2px; }


    /* ── Dialog (native <dialog>) ─────────────────────────────── */
    .zendd-dialog {
        background-color: var(--zendd-dialog-background-color);
        border-radius: var(--zendd-dialog-border-radius);
        box-shadow: var(--zendd-dialog-shadow);
        padding: 0;
        border: none;
        margin: auto;
        max-width: var(--zendd-dialog-max-width);
        width: calc(100% - 2 * var(--zendd-space-4));
        max-height: 85vh;
        overflow-y: auto;
    }

    .zendd-dialog::backdrop {
        background-color: var(--zendd-dialog-overlay-color);
    }

    .zendd-dialog__content {
        padding: var(--zendd-dialog-padding);
    }

    .zendd-dialog__title {
        font-family: var(--zendd-font-family-heading);
        font-weight: 600;
        font-size: var(--zendd-font-size-lg);
        color: var(--zendd-text-primary);
        margin: 0 0 var(--zendd-space-4) 0;
    }

    .zendd-dialog__body {
        color: var(--zendd-text-secondary);
        margin-block-end: var(--zendd-space-6);
    }

    .zendd-dialog__actions {
        display: flex;
        justify-content: flex-end;
        gap: var(--zendd-space-3);
    }

    .zendd-dialog__danger-icon {
        color: var(--zendd-feedback-danger-color);
        margin-block-end: var(--zendd-space-3);
    }

    .zendd-dialog__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-block-end: var(--zendd-space-4);
    }
    .zendd-dialog__header .zendd-dialog__title {
        margin: 0;
    }

    /* Dialog — Size variants */
    .zendd-dialog--sm { max-width: 24rem; }
    .zendd-dialog--lg { max-width: 48rem; }

    /* Legacy: overlay voor bestaande non-native dialogs */
    .zendd-dialog-overlay {
        position: fixed;
        inset: 0;
        background-color: var(--zendd-dialog-overlay-color);
        z-index: var(--zendd-z-index-modal);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .zendd-dialog-overlay[hidden] {
        display: none;
    }


    /* ── Notification Banner ───────────────────────────────────── */
    .zendd-notification {
        padding: var(--zendd-notification-padding);
        border-radius: var(--zendd-notification-border-radius);
        box-shadow: var(--zendd-notification-shadow);
        display: flex;
        align-items: flex-start;
        gap: var(--zendd-space-3);
        border: 1px solid transparent;
        animation: slideDown 0.3s ease-out;
    }

    .zendd-notification--success {
        background-color: var(--zendd-alert-success-background-color);
        border-color: var(--zendd-alert-success-border-color);
        color: var(--zendd-alert-success-color);
    }
    .zendd-notification--warning {
        background-color: var(--zendd-alert-warning-background-color);
        border-color: var(--zendd-alert-warning-border-color);
        color: var(--zendd-alert-warning-color);
    }
    .zendd-notification--danger {
        background-color: var(--zendd-alert-danger-background-color);
        border-color: var(--zendd-alert-danger-border-color);
        color: var(--zendd-alert-danger-color);
    }
    .zendd-notification--info {
        background-color: var(--zendd-alert-info-background-color);
        border-color: var(--zendd-alert-info-border-color);
        color: var(--zendd-alert-info-color);
    }


    /* ── Text Utilities (NLDS token-based) ───────────────────── */
    .zendd-text-primary { color: var(--zendd-text-primary); }
    .zendd-text-secondary { color: var(--zendd-text-secondary); }
    .zendd-text-tertiary { color: var(--zendd-text-tertiary); }
    .zendd-text-white { color: var(--zendd-color-white); }
    .zendd-text-success { color: var(--zendd-feedback-success-color); }
    .zendd-text-danger { color: var(--zendd-feedback-danger-color); }
    .zendd-text-warning { color: var(--zendd-feedback-warning-color); }
    .zendd-text-info { color: var(--zendd-feedback-info-color); }
    .zendd-text-sm { font-size: var(--zendd-font-size-sm); }
    .zendd-text-xs { font-size: var(--zendd-font-size-xs); }
    .zendd-text-lg { font-size: var(--zendd-font-size-lg); }
    .zendd-text-base { font-size: var(--zendd-font-size-base); }
    .zendd-text-action-primary { color: var(--zendd-action-primary-color); }

    /* ── Surface Utilities ───────────────────────────────────── */
    .zendd-surface-secondary { background-color: var(--zendd-surface-secondary); }
    .zendd-surface-primary-light { background-color: var(--zendd-action-primary-light); }
    .zendd-surface-danger-light { background-color: var(--zendd-feedback-danger-light); }
    .zendd-surface-success-light { background-color: var(--zendd-feedback-success-light); }

    /* ── Layout Utilities ────────────────────────────────────── */
    .zendd-section-divider { border-bottom: 1px solid var(--zendd-border-light); }
    .zendd-label-caps { text-transform: uppercase; letter-spacing: 0.05em; }
    .zendd-mt-section { margin-block-start: var(--zendd-space-4); }
    .zendd-border-subtle { border: 1px solid var(--zendd-border-light); }
    .zendd-border-top-subtle { border-block-start: 1px solid var(--zendd-border-light); }
    .zendd-disabled { opacity: 0.65; }
    .zendd-summary { cursor: pointer; user-select: none; }
    .zendd-touch-target { min-block-size: var(--zendd-layout-touch-target-min, 44px); }

    .zendd-font-semibold { font-weight: 600; }
    .zendd-font-bold { font-weight: 700; }
    .zendd-font-mono { font-family: var(--zendd-font-family-mono); }
    .zendd-font-heading { font-family: var(--zendd-font-family-heading); }
    .zendd-mt-1 { margin-block-start: var(--zendd-space-1); }
    .zendd-mt-2 { margin-block-start: var(--zendd-space-2); }
    .zendd-mt-3 { margin-block-start: var(--zendd-space-3); }
    .zendd-mb-1 { margin-block-end: var(--zendd-space-1); }
    .zendd-mb-3 { margin-block-end: var(--zendd-space-3); }
    .zendd-mb-4 { margin-block-end: var(--zendd-space-4); }
    .zendd-surface-tertiary { background-color: var(--zendd-surface-tertiary, var(--zendd-color-gray-100)); }

    /* ── Form Utilities ──────────────────────────────────────── */
    .zendd-radio-accent { accent-color: var(--zendd-action-primary-color); }

    /* ── Inline-style migratie: samengestelde component-classes ── */

    /* admin_seeds: seed kaart elementen */
    .zendd-seed__naam {
        font-weight: 600;
        font-size: var(--zendd-font-size-base);
    }
    .zendd-seed__beschrijving {
        font-size: var(--zendd-font-size-sm);
        color: var(--zendd-text-secondary);
    }
    .zendd-seed__meta {
        font-size: var(--zendd-font-size-xs);
        color: var(--zendd-text-tertiary);
        margin-block-start: var(--zendd-space-1);
    }
    .zendd-seed__revert-btn {
        font-size: var(--zendd-font-size-sm);
        white-space: nowrap;
    }
    .zendd-seed__dialog-title {
        font-family: var(--zendd-font-family-heading);
        font-size: var(--zendd-font-size-lg);
        font-weight: 700;
        margin-block-end: var(--zendd-space-3);
    }
    .zendd-seed__alert-title {
        font-size: var(--zendd-font-size-sm);
        font-weight: 600;
        margin-block-end: var(--zendd-space-1);
    }
    .zendd-seed__alert-body {
        font-size: var(--zendd-font-size-sm);
    }
    .zendd-seed__alert-warning {
        font-size: var(--zendd-font-size-sm);
        margin-block-start: var(--zendd-space-2);
    }
    .zendd-seed__confirm-text {
        font-size: var(--zendd-font-size-sm);
        color: var(--zendd-text-secondary);
        margin-block-end: var(--zendd-space-4);
    }

    /* admin_urgentiewetten: form labels + table cells */
    .zendd-form-label--sm {
        font-size: var(--zendd-font-size-sm);
        font-weight: 600;
    }
    .zendd-form-hint {
        font-size: var(--zendd-font-size-xs);
        color: var(--zendd-text-tertiary);
        margin-block-start: var(--zendd-space-1);
    }
    .zendd-code--muted {
        font-size: var(--zendd-font-size-xs);
        color: var(--zendd-text-secondary);
    }

    /* admin_harvest_bevestig: product selectie labels */
    .zendd-harvest-product--selected {
        background-color: var(--zendd-action-primary-light);
        border: 1px solid var(--zendd-action-primary-muted);
    }
    .zendd-harvest-product--unselected {
        background-color: var(--zendd-surface-secondary);
        border: 1px solid var(--zendd-border-light);
        opacity: 0.65;
    }

    /* press_layout: body achtergrond */
    .zendd-press-body {
        background-color: var(--zendd-surface-default);
        padding-block-end: 3.5rem;
    }

    /* home: text-shadow hero */
    .zendd-hero-title {
        text-shadow: var(--zendd-text-shadow-heavy);
    }
    .zendd-hero-subtitle {
        text-shadow: var(--zendd-text-shadow-light);
    }

    /* brain: scrollbar styling */
    .zendd-brain-sidebar {
        scrollbar-width: thin;
        scrollbar-color: var(--zendd-color-navy-700) var(--zendd-color-navy-900);
    }

    /* confidence bar fill */
    .zendd-confidence-bar__fill {
        background-color: var(--zendd-action-primary-color);
    }

    /* werkbank_feel: spacing */
    .zendd-wb-feel__list {
        margin-block-start: var(--zendd-space-2);
    }


    /* ── Pipeline Stage (dashboard) ───────────────────────────── */
    .zendd-pipeline-stage__label {
        font-size: var(--zendd-font-size-xs);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--zendd-text-tertiary);
        text-align: center;
        margin-block-end: 0.375rem;
    }

    .zendd-pipeline-stage__bar {
        height: 2.25rem;
        border-radius: var(--zendd-radius-md);
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: var(--zendd-font-size-sm);
    }

    .zendd-pipeline-stage__bar--active {
        background-color: var(--zendd-feedback-warning-color);
        color: var(--zendd-color-white);
    }

    .zendd-pipeline-stage__bar--empty {
        background-color: var(--zendd-color-navy-200);
        color: var(--zendd-color-white);
        opacity: 0.65;
    }

    .zendd-pipeline-stage__chevron {
        color: var(--zendd-text-tertiary);
    }


    /* ── Action Icon (dashboard quick actions) ────────────────── */
    .zendd-action-icon {
        width: 2.75rem;
        height: 2.75rem;
        border-radius: var(--zendd-radius-lg);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform var(--zendd-transition-fast);
        color: var(--zendd-color-white);
    }

    .group:hover .zendd-action-icon {
        transform: scale(1.1);
    }

    .zendd-action-icon--primary {
        background: linear-gradient(135deg, var(--zendd-action-primary-color), var(--zendd-color-purple-800));
    }

    .zendd-action-icon--warning {
        background: linear-gradient(135deg, var(--zendd-feedback-warning-color), var(--zendd-color-amber-600));
    }

    .zendd-action-icon--success {
        background: linear-gradient(135deg, var(--zendd-feedback-success-color), var(--zendd-color-green-800));
    }

    .zendd-action-icon--info {
        background: linear-gradient(135deg, var(--zendd-feedback-info-color), var(--zendd-color-sky-700));
    }


    /* ── Avatar (dashboard team status) ───────────────────────── */
    .zendd-avatar {
        width: 2rem;
        height: 2rem;
        border-radius: var(--zendd-radius-full);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-weight: 700;
        font-size: var(--zendd-font-size-xs);
    }

    .zendd-avatar--primary {
        background-color: var(--zendd-action-primary-light);
        color: var(--zendd-action-primary-color);
    }

    .zendd-avatar--warning {
        background-color: var(--zendd-feedback-warning-light);
        color: var(--zendd-feedback-warning-dark);
    }

    .zendd-avatar--muted {
        background-color: var(--zendd-surface-tertiary);
        color: var(--zendd-text-secondary);
    }

    .zendd-avatar--success {
        background-color: var(--zendd-feedback-success-light);
        color: var(--zendd-feedback-success-color);
    }


    /* ── Section Header (card-internal heading with icon) ──────── */
    .zendd-section-header {
        font-family: var(--zendd-font-family-heading);
        font-weight: 700;
        font-size: var(--zendd-font-size-lg);
        color: var(--zendd-text-primary);
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .zendd-section-header__icon {
        color: var(--zendd-action-primary-color);
    }


    /* ── Security Banner (dashboard footer) ───────────────────── */
    .zendd-security-banner {
        background-color: var(--zendd-surface-dark);
        box-shadow: var(--zendd-shadow-lg);
        border-radius: var(--zendd-radius-xl);
        padding: var(--zendd-space-6);
        display: flex;
        align-items: center;
        gap: var(--zendd-space-5);
    }

    .zendd-security-banner__icon {
        width: 3rem;
        height: 3rem;
        border-radius: var(--zendd-radius-xl);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        background-color: var(--zendd-feedback-success-light);
        border: 1px solid var(--zendd-feedback-success-muted);
    }

    .zendd-security-banner__title {
        font-weight: 700;
        letter-spacing: 0.025em;
        color: var(--zendd-color-white);
        font-size: var(--zendd-font-size-base);
    }

    .zendd-security-banner__subtitle {
        color: var(--zendd-color-navy-300);
        font-size: var(--zendd-font-size-xs);
        margin-block-start: var(--zendd-space-1);
    }


    /* ── Table Container (bordered wrapper) ───────────────────── */
    .zendd-table-container {
        overflow: hidden;
        border-radius: var(--zendd-radius-lg);
        border: 1px solid var(--zendd-border-light);
    }

    .zendd-table-container thead {
        background-color: var(--zendd-surface-secondary);
    }


    /* ── Audit Event Dot ──────────────────────────────────────── */
    .zendd-audit-dot {
        width: 0.5rem;
        height: 0.5rem;
        border-radius: var(--zendd-radius-full);
        flex-shrink: 0;
    }

    .zendd-audit-dot--success {
        background-color: var(--zendd-feedback-success-color);
    }

    .zendd-audit-dot--primary {
        background-color: var(--zendd-action-primary-color);
    }

    .zendd-audit-dot--default {
        background-color: var(--zendd-text-tertiary);
    }


    /* ── Token Swatch (componentenbibliotheek preview) ────────── */
    .zendd-swatch {
        width: 1.5rem;
        height: 1.5rem;
        border-radius: var(--zendd-radius-sm);
        border: 1px solid var(--zendd-border-default);
    }
    .zendd-swatch--primary { background-color: var(--zendd-action-primary-color); }
    .zendd-swatch--success { background-color: var(--zendd-feedback-success-color); }
    .zendd-swatch--warning { background-color: var(--zendd-feedback-warning-color); }
    .zendd-swatch--danger  { background-color: var(--zendd-feedback-danger-color); }
    .zendd-swatch--info    { background-color: var(--zendd-feedback-info-color); }


    /* ── Skeleton (loading placeholder) ────────────────────────── */
    .zendd-skeleton {
        border-radius: var(--zendd-radius-md);
        background: linear-gradient(90deg,
            var(--zendd-surface-tertiary) 25%,
            var(--zendd-surface-secondary) 50%,
            var(--zendd-surface-tertiary) 75%);
        background-size: 200% 100%;
        animation: shimmer 1.5s ease-in-out infinite;
    }


    /* ── Legacy aliases (burger-facing components) ───────────── */
    /* Gebruikt door templates/components/*.html (burger UI).
       Admin-pagina's gebruiken zendd-* classes.
       Verwijder wanneer burger-UI naar NLDS gemigreerd is. */

    .badge {
        display: inline-flex; align-items: center; gap: 0.25rem;
        padding: var(--zendd-badge-padding-block) var(--zendd-badge-padding-inline);
        font-size: var(--zendd-badge-font-size); font-weight: var(--zendd-badge-font-weight);
        line-height: 1.5; border-radius: var(--zendd-badge-border-radius);
        white-space: nowrap; min-height: var(--zendd-badge-min-block-size);
        border: 1px solid transparent; transition: all var(--zendd-transition-fast);
    }
    .badge-primary { background-color: var(--zendd-badge-primary-background-color); color: var(--zendd-badge-primary-color); border-color: var(--zendd-badge-primary-border-color); }
    .badge-success { background-color: var(--zendd-badge-success-background-color); color: var(--zendd-badge-success-color); border-color: var(--zendd-badge-success-border-color); }
    .badge-warning { background-color: var(--zendd-badge-warning-background-color); color: var(--zendd-badge-warning-color); border-color: var(--zendd-badge-warning-border-color); }
    .badge-danger { background-color: var(--zendd-badge-danger-background-color); color: var(--zendd-badge-danger-color); border-color: var(--zendd-badge-danger-border-color); }
    .badge-info { background-color: var(--zendd-badge-info-background-color); color: var(--zendd-badge-info-color); border-color: var(--zendd-badge-info-border-color); }
    .badge-muted { background-color: var(--zendd-badge-muted-background-color); color: var(--zendd-badge-muted-color); border-color: var(--zendd-badge-muted-border-color); }
    .badge-code { background-color: var(--zendd-badge-code-background-color); color: var(--zendd-badge-code-color); border-color: var(--zendd-badge-code-border-color); font-family: var(--zendd-badge-code-font-family); font-weight: 500; }
    .badge-outline { background-color: var(--zendd-color-sky-50); color: var(--zendd-color-sky-800); border: 1px dashed var(--zendd-color-sky-400); }
    .badge-human { background-color: var(--zendd-color-green-50); color: var(--zendd-color-green-800); border: 2px solid var(--zendd-color-green-400); box-shadow: 0 0 0 1px var(--zendd-color-green-200); }

    .btn {
        display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
        padding: var(--zendd-button-padding-block) var(--zendd-button-padding-inline);
        font-size: var(--zendd-button-font-size); font-weight: var(--zendd-button-font-weight);
        line-height: 1.5; border-radius: var(--zendd-button-border-radius);
        border: 1px solid transparent; cursor: pointer;
        min-height: var(--zendd-button-min-block-size);
        transition: all var(--zendd-transition-fast); white-space: nowrap; text-decoration: none;
    }
    .btn:focus-visible { outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color); outline-offset: var(--zendd-focus-outline-offset); }
    .btn:disabled { opacity: 0.5; cursor: not-allowed; }
    .btn-primary { background-color: var(--zendd-button-primary-action-background-color); color: var(--zendd-button-primary-action-color); border-color: var(--zendd-button-primary-action-background-color); }
    .btn-primary:hover:not(:disabled) { background-color: var(--zendd-button-primary-action-hover-background); border-color: var(--zendd-button-primary-action-hover-background); }
    .btn-success { background-color: var(--zendd-button-success-background-color); color: var(--zendd-button-success-color); border-color: var(--zendd-button-success-background-color); }
    .btn-success:hover:not(:disabled) { background-color: var(--zendd-button-success-hover-background); }
    .btn-warning { background-color: var(--zendd-button-warning-background-color); color: var(--zendd-button-warning-color); border-color: var(--zendd-button-warning-background-color); }
    .btn-warning:hover:not(:disabled) { background-color: var(--zendd-button-warning-hover-background); }
    .btn-danger { background-color: var(--zendd-button-danger-background-color); color: var(--zendd-button-danger-color); border-color: var(--zendd-button-danger-background-color); }
    .btn-danger:hover:not(:disabled) { background-color: var(--zendd-button-danger-hover-background); }
    .btn-secondary { background-color: transparent; color: var(--zendd-button-secondary-color); border-color: var(--zendd-button-secondary-border-color); }
    .btn-secondary:hover:not(:disabled) { background-color: var(--zendd-button-secondary-hover-background); }
    .btn-ghost { background-color: transparent; color: var(--zendd-button-ghost-color); border-color: transparent; }
    .btn-ghost:hover:not(:disabled) { background-color: var(--zendd-button-ghost-hover-background); color: var(--zendd-text-primary); }
    .btn-xs { padding: 0.25rem 0.5rem; font-size: var(--zendd-font-size-xs); min-height: 24px; border-radius: var(--zendd-radius-sm); }
    .btn-sm { padding: 0.375rem 0.75rem; font-size: var(--zendd-font-size-xs); }
    .btn-lg { padding: 0.625rem 1.25rem; font-size: var(--zendd-font-size-base); min-height: 2.5rem; }

    .card { background-color: var(--zendd-card-background-color); border: 1px solid var(--zendd-card-border-color); border-radius: var(--zendd-card-border-radius); padding: var(--zendd-card-padding); box-shadow: var(--zendd-card-shadow); transition: box-shadow var(--zendd-transition-normal); }
    .card:hover { box-shadow: var(--zendd-card-hover-shadow); }
    .card-header { padding-bottom: var(--zendd-space-3); border-bottom: 1px solid var(--zendd-border-light); margin-bottom: var(--zendd-space-3); }
    .card-footer { padding-top: var(--zendd-space-3); border-top: 1px solid var(--zendd-border-light); margin-top: var(--zendd-space-3); }

    .panel { background-color: var(--zendd-surface-secondary); border: 1px solid var(--zendd-border-default); border-radius: var(--zendd-radius-md); padding: var(--zendd-space-3); }
    .panel-warning { background-color: var(--zendd-feedback-warning-light); border-color: var(--zendd-border-warning); }
    .panel-danger { background-color: var(--zendd-feedback-danger-light); border-color: var(--zendd-border-danger); }
    .panel-info { background-color: var(--zendd-feedback-info-light); border-color: var(--zendd-border-info); }
    .panel-success { background-color: var(--zendd-feedback-success-light); border-color: var(--zendd-border-success); }

    .zendd-progress-bar { width: 100%; height: 0.5rem; background-color: var(--zendd-surface-tertiary); border-radius: var(--zendd-radius-full); overflow: hidden; }
    .zendd-progress-bar__fill { height: 100%; border-radius: var(--zendd-radius-full); background-color: var(--zendd-action-primary-color); transition: width var(--zendd-transition-slow); }
    .zendd-progress-bar__fill--success { background-color: var(--zendd-feedback-success-color); }
    .zendd-progress-bar__fill--warning { background-color: var(--zendd-feedback-warning-color); }
    .zendd-progress-bar__fill--danger { background-color: var(--zendd-feedback-danger-color); }
    /* Legacy aliases */
    .progress-bar { width: 100%; height: 0.5rem; background-color: var(--zendd-surface-tertiary); border-radius: var(--zendd-radius-full); overflow: hidden; }
    .progress-bar-fill { height: 100%; border-radius: var(--zendd-radius-full); background-color: var(--zendd-action-primary-color); transition: width var(--zendd-transition-slow); }
    .progress-bar-fill-success { background-color: var(--zendd-feedback-success-color); }
    .progress-bar-fill-warning { background-color: var(--zendd-feedback-warning-color); }
    .progress-bar-fill-danger { background-color: var(--zendd-feedback-danger-color); }

    .stat-label { font-size: var(--zendd-font-size-xs); font-weight: 500; color: var(--zendd-text-secondary); text-transform: uppercase; letter-spacing: 0.05em; }
    .stat-value { font-size: var(--zendd-font-size-2xl); font-weight: 700; color: var(--zendd-text-primary); line-height: 1.2; }

    .skeleton { border-radius: var(--zendd-radius-md); background: linear-gradient(90deg, var(--zendd-surface-tertiary) 25%, var(--zendd-surface-secondary) 50%, var(--zendd-surface-tertiary) 75%); background-size: 200% 100%; animation: shimmer 1.5s ease-in-out infinite; }
    .skeleton-text { height: 1rem; width: 75%; margin-bottom: 0.5rem; }
    .skeleton-heading { height: 1.5rem; width: 50%; margin-bottom: 0.75rem; }

    .nav-item { display: flex; align-items: center; gap: var(--zendd-space-3); padding: var(--zendd-sidenav-item-padding-block) var(--zendd-sidenav-item-padding-inline); font-size: var(--zendd-sidenav-item-font-size); color: var(--zendd-sidenav-item-color); border-radius: var(--zendd-sidenav-item-border-radius); transition: all var(--zendd-transition-fast); min-height: var(--zendd-sidenav-item-min-block-size); text-decoration: none; }
    .nav-item:hover { background-color: var(--zendd-sidenav-item-hover-background-color); color: var(--zendd-sidenav-item-hover-color); }
    .nav-item-active { background-color: var(--zendd-sidenav-item-active-background-color); color: var(--zendd-sidenav-item-active-color); }

    .table-header { font-size: var(--zendd-table-header-font-size); font-weight: var(--zendd-table-header-font-weight); color: var(--zendd-table-header-color); padding: var(--zendd-table-header-padding); border-bottom: 2px solid var(--zendd-table-header-border-color); text-transform: uppercase; letter-spacing: 0.05em; }
    .table-cell { padding: var(--zendd-table-cell-padding); font-size: var(--zendd-table-cell-font-size); border-bottom: 1px solid var(--zendd-table-cell-border-color); }
    .table-row:hover { background-color: var(--zendd-table-row-hover-background-color); }

    .input { width: 100%; padding: var(--zendd-input-padding); font-size: var(--zendd-input-font-size); line-height: 1.5; color: var(--zendd-text-primary); background-color: var(--zendd-surface-primary); border: 1px solid var(--zendd-input-border-color); border-radius: var(--zendd-input-border-radius); transition: border-color var(--zendd-transition-fast), box-shadow var(--zendd-transition-fast); min-height: var(--zendd-input-min-block-size); }
    .input:focus { outline: none; border-color: var(--zendd-input-focus-border-color); box-shadow: 0 0 0 3px var(--zendd-input-focus-ring-color); }
    .input-error { border-color: var(--zendd-input-error-border-color); }
    .input-error:focus { box-shadow: 0 0 0 3px var(--zendd-input-error-ring-color); }

    .confidence-high { color: var(--zendd-feedback-success-color); }
    .confidence-medium { color: var(--zendd-feedback-warning-color); }
    .confidence-low { color: var(--zendd-feedback-danger-color); }

    .source-code { background-color: var(--zendd-color-purple-100); color: var(--zendd-color-purple-800); border: 1px solid var(--zendd-color-purple-300); font-family: var(--zendd-font-family-mono); }
    .source-llm { background-color: var(--zendd-color-sky-50); color: var(--zendd-color-sky-800); border: 1px dashed var(--zendd-color-sky-400); }
    .source-human { background-color: var(--zendd-color-green-50); color: var(--zendd-color-green-800); border: 2px solid var(--zendd-color-green-400); box-shadow: 0 0 0 1px var(--zendd-color-green-200); }

    .fase-pending { color: var(--zendd-color-navy-300); }
    .fase-active { color: var(--zendd-action-primary-color); }
    .fase-complete { color: var(--zendd-feedback-success-color); }
    .fase-error { color: var(--zendd-feedback-danger-color); }

}

/* ── Kanban Board (TO-KANBAN-COMPLIANCE-REFACTOR) ──
   Buiten @layer zodat specificity hoger is dan Tailwind utilities. */

/* Kolom container — tokens voor kleur. border-width hier zodat Tailwind `border` utility niet nodig is. */
.zendd-kanban-kolom { background-color: var(--zendd-surface-secondary); border: 1px solid var(--zendd-border-default); }
.zendd-kanban-kolom__header { background-color: var(--zendd-surface-primary); border-color: inherit; }
.zendd-kanban-kolom__title-icon { color: var(--zendd-text-tertiary); }
.zendd-kanban-kolom__subtitle { color: var(--zendd-text-secondary); }
.zendd-kanban-kolom__search-icon { color: var(--zendd-text-tertiary); }
.zendd-kanban-kolom__body { max-height: calc(100vh - 20rem); }

/* Kolom varianten — achtergrond + border kleuren. Geen !important nodig: specifiekere selector wint. */
.zendd-kanban-kolom--review { background-color: var(--zendd-feedback-warning-light); border-color: var(--zendd-border-warning); }
.zendd-kanban-kolom--review .zendd-kanban-kolom__header { border-color: var(--zendd-border-warning); }
.zendd-kanban-kolom--review .zendd-kanban-kolom__title-icon { color: var(--zendd-feedback-warning-color); }

.zendd-kanban-kolom--plumbing { background-color: var(--zendd-color-purple-50); border-color: var(--zendd-color-purple-200); }
.zendd-kanban-kolom--plumbing .zendd-kanban-kolom__header { border-color: var(--zendd-color-purple-200); }
.zendd-kanban-kolom--plumbing .zendd-kanban-kolom__title-icon { color: var(--zendd-color-purple-500); }

.zendd-kanban-kolom--evaluator { background-color: var(--zendd-feedback-info-light); border-color: var(--zendd-border-info); }
.zendd-kanban-kolom--evaluator .zendd-kanban-kolom__header { border-color: var(--zendd-border-info); }
.zendd-kanban-kolom--evaluator .zendd-kanban-kolom__title-icon { color: var(--zendd-feedback-info-color); }

.zendd-kanban-kolom--staging { background-color: var(--zendd-feedback-success-light); border-color: var(--zendd-border-success); }
.zendd-kanban-kolom--staging .zendd-kanban-kolom__header { border-color: var(--zendd-border-success); }
.zendd-kanban-kolom--staging .zendd-kanban-kolom__title-icon { color: var(--zendd-feedback-success-color); }

.zendd-kanban-kolom--live { background-color: var(--zendd-surface-darker); border-color: var(--zendd-color-navy-700); box-shadow: var(--zendd-shadow-lg); }
.zendd-kanban-kolom--live .zendd-kanban-kolom__header { border-color: var(--zendd-color-navy-700); background-color: var(--zendd-surface-dark); }
.zendd-kanban-kolom--live h2 { color: var(--zendd-color-white); }
.zendd-kanban-kolom--live .zendd-kanban-kolom__title-icon { color: var(--zendd-feedback-success-color); }
.zendd-kanban-kolom--live .zendd-kanban-kolom__subtitle { color: var(--zendd-color-navy-400); }
.zendd-kanban-kolom--live .zendd-card { background-color: var(--zendd-surface-dark); border-color: var(--zendd-color-navy-600); }
.zendd-kanban-kolom--live .zendd-card h3 { color: var(--zendd-color-white); }

/* Kanban pending banner */
.zendd-kanban-pending-banner { background-color: var(--zendd-surface-tertiary); color: var(--zendd-text-secondary); }

/* Kanban kaart */
.zendd-kanban-kaart { cursor: grab; }
.zendd-kanban-kaart--dragging { opacity: 0.5; }

/* Kanban kaart type-label (P-12: visuele kaarttype-indicator in "Alles" view) */
.zendd-kanban-kaart__type-label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.zendd-kanban-kaart__type-label--harvest { color: var(--zendd-action-primary-color); }
.zendd-kanban-kaart__type-label--product { color: var(--zendd-text-secondary); }

/* Sprint B: Harvest fase-voortgang bolletjes */
.zendd-kanban-fase-dot--active {
    background-color: var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-primary-light);
}
.zendd-kanban-fase-dot--done {
    background-color: var(--color-success);
}
.zendd-kanban-fase-dot--inactive {
    background-color: var(--color-border-default);
}

/* Kanban empty state — variant kleuren */
.zendd-kanban-empty { color: var(--zendd-text-tertiary); border-color: var(--zendd-border-default); }
.zendd-kanban-kolom--review .zendd-kanban-empty { border-color: var(--zendd-border-warning); color: var(--zendd-feedback-warning-color); }
.zendd-kanban-kolom--plumbing .zendd-kanban-empty { border-color: var(--zendd-color-purple-200); color: var(--zendd-color-purple-400); }
.zendd-kanban-kolom--evaluator .zendd-kanban-empty { border-color: var(--zendd-border-info); color: var(--zendd-feedback-info-color); }
.zendd-kanban-kolom--staging .zendd-kanban-empty { border-color: var(--zendd-border-success); color: var(--zendd-feedback-success-color); }
.zendd-kanban-kolom--live .zendd-kanban-empty { border-color: var(--zendd-color-navy-700); color: var(--zendd-color-navy-500); }

/* Kanban filter bar */
.zendd-kanban-filter .zendd-form-field { margin-bottom: 0; min-width: 8rem; }
.zendd-kanban-filter .zendd-form-field__label { font-size: var(--zendd-font-size-xs); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem; }
.zendd-kanban-filter .zendd-input { min-block-size: var(--zendd-layout-touch-target-min, 44px); padding: 0.25rem 0.75rem; font-size: var(--zendd-font-size-xs); }
.zendd-kanban-filter__info { font-size: var(--zendd-font-size-xs); color: var(--zendd-text-secondary); margin-left: auto; white-space: nowrap; }

/* Kanban DnD feedback */
.zendd-kanban-kolom__body.drag-over {
    box-shadow: inset 0 0 0 2px var(--zendd-action-primary-color);
    outline: 2px dashed var(--zendd-text-primary);
    outline-offset: -4px;
}

/* ── Beoordelingsoverzicht tabs (TO-HARVEST-FASE3-BEOORDELINGSOVERZICHT §5 A-3) ── */
.zendd-tab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--zendd-text-secondary);
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}
.zendd-tab:hover { color: var(--zendd-text-primary); }
.zendd-tab--active {
    color: var(--zendd-action-primary-color);
    border-bottom-color: var(--zendd-action-primary-color);
}

/* ── Token-based hover (vervangt hover:bg-gray-50) ── */
.zendd-hover-surface:hover { background-color: var(--zendd-surface-secondary); }

/* ── Table row highlight (vervangt highlightRow() JS, WCAG 1.4.1 non-color indicator) ── */
.zendd-table__row--selected {
    background-color: var(--zendd-action-primary-light);
    box-shadow: inset 0 0 0 2px var(--zendd-action-primary-muted);
}

/* ── Autocomplete dropdown (US-F3-05 artikel-zoek) ── */
.zendd-autocomplete-results {
    background: var(--zendd-surface-primary);
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    max-height: 16rem;
    overflow-y: auto;
}
.zendd-autocomplete-item {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    font-size: var(--zendd-font-size-sm);
}
.zendd-autocomplete-item:hover {
    background-color: var(--zendd-surface-secondary);
}

/* ── Artikel-kaart state modifiers (TO-HARVEST B-5) ── */
.zendd-artikel--verschil {
    border-inline-start: 4px solid var(--zendd-feedback-warning-color);
}
.zendd-artikel--bevestigd {
    border-inline-start: 4px solid var(--zendd-feedback-success-color);
}
.zendd-artikel--gecorrigeerd {
    border-inline-start: 4px solid var(--zendd-feedback-warning-color);
}
.zendd-artikel--verwijderd {
    border-inline-start: 4px solid var(--zendd-feedback-danger-color);
    opacity: 0.65;
}
.zendd-artikel--beoordeeld {
    opacity: 0.75;
}
.zendd-text--strikethrough {
    text-decoration: line-through;
}

/* ── Scroll-to offset voor artikel-kaarten (US-F3-06) ── */
[id^="artikel-"] {
    scroll-margin-top: 5rem;
}

/* ── Document-bibliotheek componenten (FO-admin-document-bibliotheek) ── */

/* Search Bar */
.zendd-search-bar {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
}
.zendd-search-bar__icon {
    position: absolute;
    left: 0.75rem;
    width: 1rem;
    height: 1rem;
    color: var(--zendd-text-tertiary);
    pointer-events: none;
    z-index: 1;
}
.zendd-search-bar__input {
    width: 100%;
    padding: 0.5rem 2.5rem 0.5rem 2.5rem;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    background-color: var(--zendd-surface-default);
    color: var(--zendd-text-primary);
    font-size: var(--zendd-font-size-sm);
    transition: border-color 0.15s ease;
}
.zendd-search-bar__input:focus {
    outline: none;
    border-color: var(--zendd-border-focus);
    box-shadow: 0 0 0 2px var(--zendd-focus-ring);
}
.zendd-search-bar__input::placeholder {
    color: var(--zendd-text-tertiary);
}
.zendd-search-bar__spinner {
    position: absolute;
    right: 0.75rem;
}

/* Presentatie Card */
.zendd-pres-card-wrap {
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-lg, 0.75rem);
    background: var(--zendd-surface-default);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.zendd-pres-card-wrap:hover {
    border-color: var(--zendd-color-purple-500);
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.zendd-pres-card {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem 1.5rem;
    text-decoration: none;
    color: inherit;
}
.zendd-pres-card__icon {
    flex-shrink: 0;
    width: 3rem; height: 3rem;
    display: flex; align-items: center; justify-content: center;
    border-radius: var(--zendd-radius-md, 0.5rem);
    background: var(--zendd-color-purple-50);
    color: var(--zendd-color-purple-500);
}
.zendd-pres-card__body { flex: 1; min-width: 0; }
.zendd-pres-card__title {
    font-family: var(--zendd-font-family-heading);
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
    color: var(--zendd-text-primary);
}
.zendd-pres-card__desc {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    margin: 0 0 0.375rem;
    line-height: 1.4;
}
.zendd-pres-card__doelgroep {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.zendd-pres-card__arrow {
    flex-shrink: 0;
    color: var(--zendd-text-tertiary);
    opacity: 0;
    transform: translate(-0.25rem, 0.25rem);
    transition: all 0.2s ease;
}
.zendd-pres-card-wrap:hover .zendd-pres-card__arrow {
    opacity: 1;
    transform: translate(0, 0);
}

/* Presentatie Tags (editable) */
.zendd-pres-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    padding: 0.625rem 1.5rem;
    border-top: 1px solid var(--zendd-border-default);
    background: var(--zendd-bg-subtle);
}
.zendd-pres-tags__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: var(--zendd-font-size-xs, 0.75rem);
    font-weight: 500;
    background: var(--zendd-color-purple-50);
    color: var(--zendd-color-purple-700);
    border: 1px solid color-mix(in srgb, var(--zendd-color-purple-500) 20%, transparent);
}
.zendd-pres-tags__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1rem; height: 1rem;
    border-radius: 50%;
    background: transparent;
    color: var(--zendd-color-purple-500);
    cursor: pointer;
    transition: all 0.15s;
    border: none;
    padding: 0;
}
.zendd-pres-tags__remove:hover {
    background: var(--zendd-color-coral-500);
    color: var(--zendd-text-inverse);
}
.zendd-pres-tags__add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.375rem; height: 1.375rem;
    border-radius: 50%;
    border: 1px dashed var(--zendd-border-default);
    background: transparent;
    color: var(--zendd-text-tertiary);
    cursor: pointer;
    transition: all 0.15s;
}
.zendd-pres-tags__add:hover {
    border-color: var(--zendd-color-purple-500);
    color: var(--zendd-color-purple-500);
    background: var(--zendd-color-purple-50);
}
.zendd-pres-tags__input {
    padding: 0.125rem 0.5rem;
    border: 1px solid var(--zendd-border-focus);
    border-radius: var(--zendd-radius-md, 0.375rem);
    font-size: var(--zendd-font-size-xs, 0.75rem);
    width: 6rem;
    outline: none;
    background: var(--zendd-surface-default);
    color: var(--zendd-text-primary);
}

@media (max-width: 640px) {
    .zendd-pres-card { flex-direction: column; align-items: flex-start; }
    .zendd-pres-card__arrow { display: none; }
}

/* Filter Bar */
.zendd-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}
.zendd-filter-bar__group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    align-items: center;
}
.zendd-filter-bar__label {
    font-size: var(--zendd-font-size-sm);
    font-weight: 500;
    color: var(--zendd-text-secondary);
    margin-right: 0.25rem;
}
.zendd-filter-bar button.zendd-badge {
    cursor: pointer;
    border: none;
    transition: opacity 0.15s ease;
}
.zendd-filter-bar button.zendd-badge:hover {
    opacity: 0.8;
}
.zendd-badge--active {
    outline: 2px solid var(--zendd-border-focus);
    outline-offset: 1px;
}

/* View Toggle */
.zendd-view-toggle {
    display: flex;
    gap: 0.25rem;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    padding: 0.125rem;
}
.zendd-view-toggle__button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.375rem;
    border: none;
    border-radius: var(--zendd-radius-sm);
    background: transparent;
    color: var(--zendd-text-tertiary);
    cursor: pointer;
    transition: all 0.15s ease;
}
.zendd-view-toggle__button:hover {
    color: var(--zendd-text-primary);
    background-color: var(--zendd-surface-hover);
}
.zendd-view-toggle__button--active {
    color: var(--zendd-text-primary);
    background-color: var(--zendd-surface-hover);
}

/* Research kaart metadata */
.zendd-research-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
}

/* Markdown viewer */
.zendd-markdown-viewer {
    font-size: var(--zendd-font-size-sm);
    line-height: 1.7;
    color: var(--zendd-text-primary);
}
.zendd-markdown-viewer h1,
.zendd-markdown-viewer h2,
.zendd-markdown-viewer h3 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-weight: 600;
    color: var(--zendd-text-primary);
}
.zendd-markdown-viewer h1 { font-size: 1.5em; }
.zendd-markdown-viewer h2 { font-size: 1.25em; }
.zendd-markdown-viewer h3 { font-size: 1.1em; }
.zendd-markdown-viewer p {
    margin-bottom: 0.75em;
}
.zendd-markdown-viewer table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1em;
    font-size: var(--zendd-font-size-xs);
}
.zendd-markdown-viewer th,
.zendd-markdown-viewer td {
    border: 1px solid var(--zendd-border-default);
    padding: 0.375rem 0.5rem;
    text-align: left;
}
.zendd-markdown-viewer th {
    background-color: var(--zendd-surface-darker);
    font-weight: 600;
}
.zendd-markdown-viewer code {
    background-color: var(--zendd-surface-darker);
    padding: 0.125em 0.25em;
    border-radius: var(--zendd-radius-sm);
    font-size: 0.9em;
}
.zendd-markdown-viewer pre {
    background-color: var(--zendd-surface-darker);
    padding: 1rem;
    border-radius: var(--zendd-radius-md);
    overflow-x: auto;
    margin-bottom: 1em;
}
.zendd-markdown-viewer pre code {
    background: none;
    padding: 0;
}
.zendd-markdown-viewer ul,
.zendd-markdown-viewer ol {
    padding-left: 1.5em;
    margin-bottom: 0.75em;
}
.zendd-markdown-viewer blockquote {
    border-left: 3px solid var(--zendd-border-default);
    padding-left: 1rem;
    color: var(--zendd-text-secondary);
    margin-bottom: 0.75em;
}
.zendd-markdown-viewer hr {
    border: none;
    border-top: 1px solid var(--zendd-border-default);
    margin: 1.5em 0;
}

/* ── Press-stijl presentatie viewer ── */

.zendd-press {
    display: flex;
    min-height: 100vh;
    position: relative;
}

/* Sidebar */
.zendd-press__sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 18rem;
    height: 100vh;
    background-color: var(--zendd-surface-default);
    border-right: 1px solid var(--zendd-border-default);
    display: flex;
    flex-direction: column;
    z-index: 30;
    overflow-y: auto;
}
.zendd-press__sidebar-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem 1rem;
    border-bottom: 1px solid var(--zendd-border-default);
}
.zendd-press__sidebar-title {
    min-width: 0;
    flex: 1;
}
.zendd-press__back {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--zendd-radius-md);
    color: var(--zendd-text-secondary);
    transition: all 0.15s ease;
    flex-shrink: 0;
}
.zendd-press__back:hover {
    background-color: var(--zendd-surface-hover);
    color: var(--zendd-text-primary);
}

/* Progress bar */
.zendd-press__progress {
    height: 3px;
    background-color: var(--zendd-border-default);
    flex-shrink: 0;
}
.zendd-press__progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--zendd-color-purple-500), var(--zendd-color-purple-600));
    transition: width 0.3s ease;
}

/* Nav list */
.zendd-press__nav-list {
    list-style: none;
    padding: 0.75rem 0;
    margin: 0;
    flex: 1;
    overflow-y: auto;
}
.zendd-press__nav-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    color: var(--zendd-text-tertiary);
    text-decoration: none;
    font-size: var(--zendd-font-size-sm);
    transition: all 0.15s ease;
    border-left: 3px solid transparent;
}
.zendd-press__nav-item:hover {
    color: var(--zendd-text-primary);
    background-color: var(--zendd-surface-hover);
}
.zendd-press__nav-item--active {
    color: var(--zendd-text-primary);
    font-weight: 600;
    border-left-color: var(--zendd-primary-500);
    background-color: var(--zendd-surface-hover);
}
.zendd-press__nav-item--visited {
    color: var(--zendd-text-secondary);
}
.zendd-press__nav-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: var(--zendd-border-default);
    color: var(--zendd-text-tertiary);
    font-size: var(--zendd-font-size-xs);
    font-weight: 600;
    flex-shrink: 0;
    transition: all 0.15s ease;
}
.zendd-press__nav-item--active .zendd-press__nav-number {
    background-color: var(--zendd-primary-500);
    color: white;
}
.zendd-press__nav-item--visited .zendd-press__nav-number {
    background-color: var(--zendd-primary-500);
    color: white;
    opacity: 0.6;
}
.zendd-press__nav-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Main content */
.zendd-press__content {
    margin-left: 18rem;
    flex: 1;
    max-width: 52rem;
    padding: 2rem 3rem 4rem;
}

/* Section */
.zendd-press__section {
    padding: 3rem 0;
    border-bottom: 1px solid var(--zendd-border-default);
    scroll-margin-top: 1rem;
    position: relative;
    animation: zendd-press-fadein 0.4s ease-out;
}
.zendd-press__section:last-of-type {
    border-bottom: none;
}
.zendd-press__section-number {
    position: absolute;
    top: 2.5rem;
    right: -1rem;
    font-size: 5rem;
    font-weight: 800;
    color: var(--zendd-border-default);
    opacity: 0.3;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

/* Bottom nav */
.zendd-press__bottom-nav {
    display: flex;
    justify-content: center;
    padding: 3rem 0 2rem;
}

/* Mobile header */
.zendd-press__mobile-header {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3.5rem;
    background-color: var(--zendd-surface-default);
    border-bottom: 1px solid var(--zendd-border-default);
    padding: 0 1rem;
    align-items: center;
    gap: 0.75rem;
    z-index: 40;
}
.zendd-press__menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: none;
    background: transparent;
    color: var(--zendd-text-secondary);
    cursor: pointer;
    border-radius: var(--zendd-radius-md);
}
.zendd-press__menu-toggle:hover {
    background-color: var(--zendd-surface-hover);
}

/* Mobile overlay */
.zendd-press__mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 50;
}
.zendd-press__mobile-nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    max-width: 20rem;
    height: 100%;
    background-color: var(--zendd-surface-default);
    padding: 1rem 0;
    overflow-y: auto;
}
.zendd-press__mobile-nav ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .zendd-press__sidebar {
        display: none;
    }
    .zendd-press__mobile-header {
        display: flex;
    }
    .zendd-press__mobile-overlay {
        display: block;
    }
    .zendd-press__content {
        margin-left: 0;
        padding: 4.5rem 1.5rem 3rem;
        max-width: 100%;
    }
    .zendd-press__section-number {
        display: none;
    }
}

@keyframes zendd-press-fadein {
    from { opacity: 0; transform: translateY(0.5rem); }
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   Werkbank componenten (Sprint 1+2)
   ============================================================ */

/* Zone A: Grondslag-anker (klikbaar, designer-review 2026-05-21) */
.zendd-wb-zone-a {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding: var(--zendd-space-3) var(--zendd-space-4);
    border: none;
    border-bottom: 1px solid var(--zendd-border-default);
    background: var(--zendd-surface-secondary);
    cursor: pointer;
    text-align: left;
    font: inherit;
    min-height: 2.75rem;
    transition: background 0.15s ease;
}

.zendd-wb-zone-a:hover {
    background: var(--zendd-surface-hover, var(--zendd-surface-secondary));
}

.zendd-wb-zone-a:focus-visible {
    outline: 2px solid var(--zendd-color-focus, #1a73e8);
    outline-offset: -2px;
}

.zendd-wb-zone-a__grondslag {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
}

.zendd-wb-zone-a__wet-titel {
    font-size: var(--zendd-font-size-base);
    font-weight: 600;
    color: var(--zendd-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.zendd-wb-zone-a__telling {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    white-space: nowrap;
    margin-left: auto;
}

/* Regel 2: BWBR + grondslagartikel — verborgen tot hover/focus */
.zendd-wb-zone-a__meta {
    display: none;
    gap: var(--zendd-space-2);
    margin-top: var(--zendd-space-1);
}

.zendd-wb-zone-a:hover .zendd-wb-zone-a__meta,
.zendd-wb-zone-a:focus-within .zendd-wb-zone-a__meta {
    display: flex;
}

.zendd-wb-zone-a__bwbr {
    font-size: var(--zendd-font-size-sm);
    font-family: var(--zendd-font-family-mono);
    color: var(--zendd-text-tertiary);
}

.zendd-wb-zone-a__grondslag-ref {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
}

/* Screen reader only utility */
.zendd-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* A2: Volzin-highlight — DEPRECATED: gebruik .zendd-wb-volzincard (sectie A2b) */
.zendd-wb-volzin {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--zendd-werkbank-volzin-bg);
    border: 1px solid var(--zendd-werkbank-volzin-border);
    border-radius: var(--zendd-radius-sm);
    cursor: pointer;
    transition: background var(--zendd-transition-fast), border-color var(--zendd-transition-fast);
    line-height: 1.6;
    font-size: var(--zendd-font-size-sm);
}
.zendd-wb-volzin:hover {
    background: var(--zendd-werkbank-volzin-hover-bg);
}
.zendd-wb-volzin:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
}
.zendd-wb-volzin--selected {
    background: var(--zendd-werkbank-volzin-selected-bg);
    border-color: var(--zendd-werkbank-volzin-selected-border);
}
.zendd-wb-volzin--annotated.zendd-wb-volzin--cls-attestatie {
    background: var(--zendd-werkbank-cls-attestatie-bg);
    border-color: var(--zendd-werkbank-cls-attestatie-border);
}
.zendd-wb-volzin--annotated.zendd-wb-volzin--cls-context {
    background: var(--zendd-werkbank-cls-context-bg);
    border-color: var(--zendd-werkbank-cls-context-border);
}
.zendd-wb-volzin--annotated.zendd-wb-volzin--cls-menselijke-maat {
    background: var(--zendd-werkbank-cls-menselijke-maat-bg);
    border-color: var(--zendd-werkbank-cls-menselijke-maat-border);
}
.zendd-wb-volzin--annotated.zendd-wb-volzin--cls-buiten-scope {
    background: var(--zendd-werkbank-cls-buiten-scope-bg);
    border-color: var(--zendd-werkbank-cls-buiten-scope-border);
}
.zendd-wb-volzin__nr {
    min-width: 1.5rem;
    color: var(--zendd-text-secondary);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    font-size: var(--zendd-font-size-xs);
    line-height: 1.6;
    flex-shrink: 0;
}
.zendd-wb-volzin__text {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}
.zendd-wb-volzin__check {
    color: var(--zendd-feedback-success-color);
    flex-shrink: 0;
    margin-top: 0.125rem;
}

/* A2b: Volzin-Card (FO-werkbank-volzin-card-component v0.3.0) */
.zendd-wb-volzincard {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.25rem 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--zendd-radius-sm);
    background: var(--zendd-werkbank-volzin-bg);
    border: 1px solid var(--zendd-werkbank-volzin-border);
    transition: background var(--zendd-transition-fast), border-color var(--zendd-transition-fast);
    cursor: pointer;
    position: relative;
    line-height: 1.6;
    font-size: var(--zendd-font-size-sm);
}
@media (prefers-reduced-motion: reduce) {
    .zendd-wb-volzincard { transition: none; }
}
.zendd-wb-volzincard:hover {
    background: var(--zendd-werkbank-volzin-hover-bg);
}
.zendd-wb-volzincard:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
}
/* Status modifiers */
.zendd-wb-volzincard--selected {
    background: var(--zendd-werkbank-volzin-selected-bg);
    border-color: var(--zendd-werkbank-volzin-selected-border);
}
.zendd-wb-volzincard--annotated {
    border-left: 2px solid currentColor;
}
.zendd-wb-volzincard--annotated.zendd-wb-volzincard--cls-attestatie {
    background: var(--zendd-werkbank-cls-attestatie-bg);
    border-left-color: var(--zendd-werkbank-cls-attestatie-border);
}
.zendd-wb-volzincard--annotated.zendd-wb-volzincard--cls-context {
    background: var(--zendd-werkbank-cls-context-bg);
    border-left-color: var(--zendd-werkbank-cls-context-border);
}
.zendd-wb-volzincard--annotated.zendd-wb-volzincard--cls-menselijke-maat {
    background: var(--zendd-werkbank-cls-menselijke-maat-bg);
    border-left-color: var(--zendd-werkbank-cls-menselijke-maat-border);
}
.zendd-wb-volzincard--annotated.zendd-wb-volzincard--cls-buiten-scope {
    background: var(--zendd-werkbank-cls-buiten-scope-bg);
    border-left-color: var(--zendd-werkbank-cls-buiten-scope-border);
}
.zendd-wb-volzincard--hidden {
    opacity: 0.45;
    color: var(--zendd-text-secondary);
    text-decoration: line-through;
}
.zendd-wb-volzincard--dim {
    opacity: 0.6;
}
/* Elements */
.zendd-wb-volzincard__nr {
    min-width: 1.5rem;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    font-size: var(--zendd-font-size-xs);
    line-height: 1.6;
    color: var(--zendd-text-secondary);
    text-align: right;
}
.zendd-wb-volzincard__lid {
    flex-shrink: 0;
    font-size: var(--zendd-font-size-xs);
    font-weight: 500;
    color: var(--zendd-text-tertiary);
    background: var(--zendd-surface-secondary);
    border-radius: var(--zendd-radius-sm);
    padding: 0 0.375rem;
    line-height: 1.6;
    white-space: nowrap;
}
.zendd-wb-volzincard__text {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}
.zendd-wb-volzincard__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    width: 100%;
    padding-left: 2rem;
}
.zendd-wb-volzincard__relaties {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    width: 100%;
    padding-left: 2rem;
}
.zendd-wb-volzincard__chip {
    display: inline-flex;
    align-items: center;
    min-height: var(--zendd-layout-touch-target-min, 2.75rem);
    padding: 0.125rem 0.5rem;
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-xs);
    cursor: pointer;
}
.zendd-wb-volzincard__chip--betrokkene {
    background: var(--zendd-werkbank-chip-betrokkene-bg);
    color: var(--zendd-werkbank-chip-betrokkene-text);
}
.zendd-wb-volzincard__chip--voorwaarde {
    background: var(--zendd-werkbank-chip-voorwaarde-bg);
    color: var(--zendd-werkbank-chip-voorwaarde-text);
}
.zendd-wb-volzincard__chip--toetsregel {
    background: var(--zendd-werkbank-chip-toetsregel-bg);
    color: var(--zendd-werkbank-chip-toetsregel-text);
}
.zendd-wb-volzincard__chip--norm {
    background: var(--zendd-werkbank-chip-norm-bg);
    color: var(--zendd-werkbank-chip-norm-text);
}
.zendd-wb-volzincard__check {
    flex-shrink: 0;
    color: var(--zendd-feedback-success-color);
    margin-top: 0.125rem;
}
/* Actions */
.zendd-wb-volzincard__actions {
    display: flex;
    gap: 0.25rem;
    width: 100%;
    padding-left: 2rem;
}
.zendd-wb-volzincard__action {
    opacity: 0.3;
    transition: opacity var(--zendd-transition-fast);
    border: none;
    background: none;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: var(--zendd-radius-sm);
    min-height: 1.75rem;
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-primary);
}
.zendd-wb-volzincard:hover .zendd-wb-volzincard__action,
.zendd-wb-volzincard:focus-within .zendd-wb-volzincard__action {
    opacity: 1;
}
@media (pointer: coarse) {
    .zendd-wb-volzincard__action { opacity: 1; }
}
.zendd-wb-volzincard__action:hover,
.zendd-wb-volzincard__action:focus-visible {
    background: var(--zendd-werkbank-volzin-hover-bg);
    opacity: 1;
}
/* Enrichment */
.zendd-wb-volzincard__enrichment {
    width: 100%;
    padding-left: 2rem;
}
.zendd-wb-volzincard__enrichment details {
    border-top: 1px solid var(--zendd-werkbank-volzin-border);
    padding: 0.25rem 0;
}
.zendd-wb-volzincard__enrichment summary {
    cursor: pointer;
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    padding: 0.25rem 0;
    min-height: var(--zendd-layout-touch-target-min, 2.75rem);
    display: flex;
    align-items: center;
}
.zendd-wb-volzincard__enrichment-body {
    padding: 0.25rem 0 0.5rem;
    font-size: var(--zendd-font-size-sm);
}
.zendd-wb-volzincard__feel-toggle {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
}
/* Validatie containers */
.zendd-wb-volzincard .zendd-wb-mark-validatie,
.zendd-wb-volzincard .zendd-wb-feel-voorstel-container {
    width: 100%;
}

/* A3: Opsommingsblok */
.zendd-wb-opsomming {
    list-style: none;
    padding-left: 0;
    margin: 0.5rem 0;
}
.zendd-wb-opsomming__item {
    display: flex;
    gap: 0.5rem;
    padding: 0.25rem 0.5rem;
    border-radius: var(--zendd-radius-sm);
    cursor: pointer;
    font-size: var(--zendd-font-size-sm);
    line-height: 1.6;
    transition: background var(--zendd-transition-fast);
}
.zendd-wb-opsomming__item:hover {
    background: var(--zendd-werkbank-volzin-hover-bg);
}
.zendd-wb-opsomming__item:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
}
.zendd-wb-opsomming__nr {
    min-width: 1.5rem;
    font-weight: 600;
    color: var(--zendd-color-navy-600);
    flex-shrink: 0;
}
.zendd-wb-opsomming__text {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* A5: Nadruk-markering */
.zendd-wb-nadruk {
    background: var(--zendd-werkbank-nadruk-bg);
    border-bottom: 2px solid var(--zendd-werkbank-nadruk-border-bottom);
    padding: 0 2px;
    border-radius: 2px;
    font-style: italic;
    position: relative;
}
.zendd-wb-nadruk--vet {
    font-weight: 700;
    font-style: normal;
}
.zendd-wb-nadruk--has-tooltip {
    cursor: help;
    text-decoration-style: dotted;
}
.zendd-wb-nadruk__tooltip {
    position: absolute;
    bottom: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--zendd-color-navy-800);
    color: var(--zendd-color-white);
    padding: 4px 8px;
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-xs);
    font-style: normal;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--zendd-transition-fast);
    z-index: var(--zendd-z-index-dropdown);
}
.zendd-wb-nadruk--has-tooltip:hover .zendd-wb-nadruk__tooltip,
.zendd-wb-nadruk--has-tooltip:focus-within .zendd-wb-nadruk__tooltip {
    opacity: 1;
}

/* A4: Referentie-link */
.zendd-wb-ref {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-size: inherit;
    transition: text-decoration-thickness var(--zendd-transition-fast);
}
.zendd-wb-ref--intref { color: var(--zendd-werkbank-ref-intref-color); }
.zendd-wb-ref--extref { color: var(--zendd-werkbank-ref-extref-color); }
.zendd-wb-ref--textmatch { color: var(--zendd-werkbank-ref-textmatch-color); }
.zendd-wb-ref--unresolved {
    color: var(--zendd-werkbank-ref-unresolved-color);
    text-decoration-style: dashed;
}
.zendd-wb-ref:hover {
    text-decoration-thickness: 2px;
}
.zendd-wb-ref:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
    border-radius: 2px;
}
.zendd-wb-ref__icon {
    flex-shrink: 0;
}

/* C1: Completeness-indicator */
.zendd-wb-completeness {
    display: inline-flex;
    gap: 3px;
    align-items: center;
}
.zendd-wb-completeness__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid var(--zendd-werkbank-complete-empty);
}
.zendd-wb-completeness__dot--filled {
    background: var(--zendd-werkbank-complete-filled);
    border-color: var(--zendd-werkbank-complete-filled);
}
.zendd-wb-completeness__count {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
    font-variant-numeric: tabular-nums;
}

/* F3: Artikel-navigatielijst (TO-werkbank-artikelkaart-herontwerp v0.2.0) */
.zendd-wb-artikellijst {
    overflow-y: auto;
    border-right: 1px solid var(--zendd-border-default);
}
.zendd-wb-artikellijst__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Brongroep <details>/<summary> */
.zendd-wb-artikellijst__groep {
    border-bottom: 1px solid var(--zendd-border-default);
}
.zendd-wb-artikellijst__groep[open] > .zendd-wb-artikellijst__groepskop {
    border-bottom: 1px solid var(--zendd-border-default);
}
.zendd-wb-artikellijst__groepskop {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    font-size: var(--zendd-font-size-sm);
    font-weight: 600;
    cursor: pointer;
    min-height: var(--zendd-layout-touch-target-min);
    user-select: none;
    background: var(--zendd-color-navy-50);
    transition: background var(--zendd-transition-fast);
    list-style: none;
}
.zendd-wb-artikellijst__groepskop::-webkit-details-marker {
    display: none;
}
.zendd-wb-artikellijst__groepskop:hover {
    background: var(--zendd-color-navy-100);
}
.zendd-wb-artikellijst__groepskop:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: calc(-1 * var(--zendd-focus-outline-width));
}
.zendd-wb-artikellijst__groepskop--bwb {
    border-left: 3px solid var(--zendd-color-navy-400);
}
.zendd-wb-artikellijst__groepskop--cvdr {
    border-left: 3px solid var(--zendd-color-purple-400);
}
.zendd-wb-artikellijst__groepskop--koop {
    border-left: 3px solid var(--zendd-color-amber-400);
}
.zendd-wb-artikellijst__groepskop--excluded {
    border-left: 3px solid var(--zendd-text-tertiary);
}
.zendd-wb-artikellijst__groepsnaam {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.zendd-wb-artikellijst__groepstelling {
    font-weight: 400;
    color: var(--zendd-text-tertiary);
    font-size: var(--zendd-font-size-xs);
}

/* Sectiescheidslijn (hoofdstuk/paragraaf) */
.zendd-wb-artikellijst__sectiescheidslijn {
    padding: var(--zendd-space-1) var(--zendd-space-3);
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    font-weight: 600;
    background: var(--zendd-surface-secondary);
    border-bottom: 1px solid var(--zendd-border-default);
    letter-spacing: 0.02em;
}

/* Artikel-kaartje */
.zendd-wb-artikellijst__item {
    border-bottom: 1px solid var(--zendd-border-default);
    position: relative;
}
.zendd-wb-artikellijst__item--active {
    background: var(--zendd-color-sky-50);
    border-left: 3px solid var(--zendd-action-primary-color);
}
.zendd-wb-artikellijst__item--vervallen .zendd-wb-artikellijst__titel {
    text-decoration: line-through;
    color: var(--zendd-text-tertiary);
}
.zendd-wb-artikellijst__item--unclassified .zendd-wb-artikellijst__nr {
    color: var(--zendd-text-tertiary);
}
.zendd-wb-artikellijst__link {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.5rem 0.75rem;
    color: inherit;
    text-decoration: none;
    min-height: var(--zendd-layout-touch-target-min);
    transition: background var(--zendd-transition-fast);
}
.zendd-wb-artikellijst__link:hover {
    background: var(--zendd-color-navy-50);
}
.zendd-wb-artikellijst__link:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: calc(-1 * var(--zendd-focus-outline-width));
}
/* Rij 1: header (nr + titel + completeness) */
.zendd-wb-artikellijst__header {
    width: 100%;
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}
.zendd-wb-artikellijst__nr {
    font-weight: 600;
    white-space: nowrap;
    font-size: var(--zendd-font-size-sm);
}
.zendd-wb-artikellijst__titel {
    flex: 1;
    color: var(--zendd-text-secondary);
    font-size: var(--zendd-font-size-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Rij 2: structuurcontext (optioneel) */
.zendd-wb-artikellijst__context {
    width: 100%;
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Rij 3: badges */
.zendd-wb-artikellijst__badges {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--zendd-space-1);
    align-items: center;
}
/* Exclude-knop (zichtbaar on hover/focus) */
.zendd-wb-artikellijst__exclude-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    opacity: 0;
    background: none;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-sm);
    padding: 0.125rem 0.25rem;
    cursor: pointer;
    color: var(--zendd-text-tertiary);
    font-size: var(--zendd-font-size-xs);
    transition: opacity var(--zendd-transition-fast), color var(--zendd-transition-fast);
}
.zendd-wb-artikellijst__item:hover .zendd-wb-artikellijst__exclude-btn,
.zendd-wb-artikellijst__exclude-btn:focus-visible {
    opacity: 1;
}
.zendd-wb-artikellijst__exclude-btn:hover {
    color: var(--zendd-color-red-600);
    border-color: var(--zendd-color-red-300);
}
/* Restore-knop in uitgesloten groep */
.zendd-wb-artikellijst__restore-btn {
    background: none;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-sm);
    padding: 0.125rem 0.375rem;
    cursor: pointer;
    color: var(--zendd-text-tertiary);
    font-size: var(--zendd-font-size-xs);
}
.zendd-wb-artikellijst__restore-btn:hover {
    color: var(--zendd-color-green-600);
    border-color: var(--zendd-color-green-300);
}
/* S4: Volzin sub-items in artikellijst-navigatie (fase 4-5)
   Progressive disclosure: verborgen tenzij artikel actief is.
   Geanimeerde open/dicht via max-height transitie (CSS-only). */
.zendd-wb-artikellijst__volzinnen {
    list-style: none;
    margin: 0;
    padding: 0 0 0 var(--zendd-space-4);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.25s ease-out, opacity 0.2s ease-out, padding 0.2s ease-out;
}
/* Toon volzinnen alleen bij het actieve artikel */
.zendd-wb-artikellijst__item--active .zendd-wb-artikellijst__volzinnen {
    max-height: 40rem; /* voldoende voor ~20 volzinnen */
    opacity: 1;
    padding-top: var(--zendd-space-1);
}
/* Compact volzin-telling als samenvatting wanneer ingeklapt */
.zendd-wb-artikellijst__volzin-count {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    padding-left: var(--zendd-space-4);
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
    transition: opacity 0.2s ease-out;
}
.zendd-wb-artikellijst__item--active .zendd-wb-artikellijst__volzin-count {
    opacity: 0;
    height: 0;
    overflow: hidden;
    padding: 0;
}
.zendd-wb-volzin-nav {
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
    padding: 0.125rem 0.375rem;
    font-size: var(--zendd-font-size-xs);
    line-height: 1.4;
    color: var(--zendd-text-secondary);
    border-radius: var(--zendd-radius-sm);
    cursor: default;
    overflow: hidden;
}
.zendd-wb-volzin-nav:hover {
    background: var(--zendd-surface-secondary);
}
.zendd-wb-volzin-nav--dim {
    opacity: 0.5;
}
.zendd-wb-volzin-nav__nr {
    flex-shrink: 0;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--zendd-text-tertiary);
    min-width: 1.5rem;
}
.zendd-wb-volzin-nav__text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Attesteerbaarheid-indicatoren in volzin-nav */
.zendd-wb-attestatie {
    flex-shrink: 0;
    font-size: 0.625rem;
    line-height: 1;
}
.zendd-wb-attestatie--auto {
    color: var(--zendd-feedback-success-color);
}
.zendd-wb-attestatie--handmatig {
    color: var(--zendd-color-amber-500);
}
.zendd-wb-attestatie--onbekend {
    color: var(--zendd-text-tertiary);
}

/* Legacy compat — __meta is vervangen door __badges maar keep voor transitie */
.zendd-wb-artikellijst__meta {
    width: 100%;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* ============================================================
   Artikel-Card Component (FO-werkbank-artikel-card-component v0.3.0)
   Uniforme card voor BWB, CVDR en KOOP in werkbank-sidebar.
   ============================================================ */
.zendd-wb-artikelcard {
    border-bottom: 1px solid var(--zendd-border-default);
    position: relative;
}
.zendd-wb-artikelcard--active {
    background: var(--zendd-color-sky-50);
    border-left: 3px solid var(--zendd-action-primary-color);
}
.zendd-wb-artikelcard--bevestigd {
    border-left: 3px solid var(--zendd-feedback-success-color);
}
.zendd-wb-artikelcard--geparkeerd {
    border-left: 3px solid var(--zendd-feedback-warning-color);
}
.zendd-wb-artikelcard--vervallen {
    border-left: 3px solid var(--zendd-feedback-danger-color);
}
.zendd-wb-artikelcard--vervallen .zendd-wb-artikelcard__titel {
    text-decoration: line-through;
    color: var(--zendd-text-tertiary);
}
.zendd-wb-artikelcard--excluded {
    opacity: 0.6;
}
.zendd-wb-artikelcard--unclassified .zendd-wb-artikelcard__nr {
    color: var(--zendd-text-tertiary);
}
/* Link — clickable card body */
.zendd-wb-artikelcard__link {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.5rem 0.75rem;
    color: inherit;
    text-decoration: none;
    min-height: var(--zendd-layout-touch-target-min);
    transition: background var(--zendd-transition-fast);
}
.zendd-wb-artikelcard__link:hover {
    background: var(--zendd-color-navy-50);
}
.zendd-wb-artikelcard__link:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: calc(-1 * var(--zendd-focus-outline-width));
}
/* Header row: Nr + Titel + Completeness */
.zendd-wb-artikelcard__header {
    width: 100%;
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}
.zendd-wb-artikelcard__nr {
    font-weight: 600;
    white-space: nowrap;
    font-size: var(--zendd-font-size-sm);
}
.zendd-wb-artikelcard__titel {
    flex: 1;
    color: var(--zendd-text-secondary);
    font-size: var(--zendd-font-size-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Context row */
.zendd-wb-artikelcard__context {
    width: 100%;
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Badges row */
.zendd-wb-artikelcard__badges {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--zendd-space-1);
    align-items: center;
}
/* Meta row (volzin-telling etc) */
.zendd-wb-artikelcard__meta {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    padding-top: 0.125rem;
}
/* Read-only label (KOOP referenties) */
.zendd-wb-artikelcard__readonly {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    font-style: italic;
}
/* Exclude/parkeer reason */
.zendd-wb-artikelcard__reason {
    display: block;
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    padding: 0 0.75rem 0.375rem;
}
/* Actie-toolbar */
.zendd-wb-artikelcard__actions {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    display: flex;
    gap: 0.125rem;
    opacity: 0.3;
    transition: opacity var(--zendd-transition-fast);
}
.zendd-wb-artikelcard:hover .zendd-wb-artikelcard__actions,
.zendd-wb-artikelcard:focus-within .zendd-wb-artikelcard__actions {
    opacity: 1;
}
/* Bevestigde/geparkeerde cards: herstel-knop altijd zichtbaar */
.zendd-wb-artikelcard--bevestigd .zendd-wb-artikelcard__actions,
.zendd-wb-artikelcard--geparkeerd .zendd-wb-artikelcard__actions {
    opacity: 1;
}
.zendd-wb-artikelcard__action {
    background: none;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-sm);
    padding: 0.125rem 0.25rem;
    cursor: pointer;
    font-size: var(--zendd-font-size-xs);
    line-height: 1;
    min-width: 1.75rem;
    min-height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color var(--zendd-transition-fast), border-color var(--zendd-transition-fast), background var(--zendd-transition-fast);
    color: var(--zendd-text-tertiary);
}
.zendd-wb-artikelcard__action:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: 1px;
}
.zendd-wb-artikelcard__action--confirm:hover {
    color: var(--zendd-feedback-success-color);
    border-color: var(--zendd-color-green-300);
    background: var(--zendd-color-green-50);
}
.zendd-wb-artikelcard__action--park:hover {
    color: var(--zendd-feedback-warning-color);
    border-color: var(--zendd-color-amber-300);
    background: var(--zendd-color-amber-50);
}
.zendd-wb-artikelcard__action--exclude:hover {
    color: var(--zendd-feedback-danger-color);
    border-color: var(--zendd-color-coral-300);
    background: var(--zendd-color-coral-50);
}
.zendd-wb-artikelcard__action--restore:hover {
    color: var(--zendd-action-primary-color);
    border-color: var(--zendd-color-purple-300);
    background: var(--zendd-color-purple-50);
}
/* Touch: altijd zichtbare toolbar */
@media (pointer: coarse) {
    .zendd-wb-artikelcard__actions {
        opacity: 1;
    }
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .zendd-wb-artikelcard__link,
    .zendd-wb-artikelcard__actions,
    .zendd-wb-artikelcard__action {
        transition: none;
    }
}

/* Badge — source variants (oorsprong-badges op groepsheader) */
.zendd-badge--source-bwb {
    background-color: var(--zendd-color-navy-100);
    color: var(--zendd-color-navy-800);
    border-color: var(--zendd-color-navy-300);
}
.zendd-badge--source-cvdr {
    background-color: var(--zendd-color-purple-100);
    color: var(--zendd-color-purple-800);
    border-color: var(--zendd-color-purple-300);
}
.zendd-badge--source-koop {
    background-color: var(--zendd-color-amber-100);
    color: var(--zendd-color-amber-800);
    border-color: var(--zendd-color-amber-300);
}

/* Werkbank layout — grid 3-kolom: sidebar + werkgebied + chat (S1 chat-driven) */
#main-content:has(.zendd-wb-layout) {
    overflow: hidden;
}
.zendd-wb-layout {
    display: grid;
    grid-template-columns: 20rem 1fr 380px;
    height: 100%;
    overflow: hidden;
    transition: grid-template-columns 0.2s ease;
}

/* Chat collapsed: chat-kolom naar 0, werkgebied krijgt alle ruimte (V-8: visibility, geen DOM-removal) */
.zendd-wb-layout--chat-collapsed {
    grid-template-columns: 20rem 1fr 0;
}
.zendd-wb-layout--chat-collapsed .zendd-wb-layout__chat {
    visibility: hidden;
    overflow: hidden;
}
.zendd-wb-layout--chat-collapsed .zendd-chat-open-btn {
    display: inline-flex;
}

.zendd-wb-layout__sidebar {
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--zendd-border-default);
    overflow: hidden;
    position: relative;
    z-index: 1;
    background: var(--zendd-surface-primary);
}
.zendd-wb-layout__sidebar-header {
    padding: var(--zendd-space-3) var(--zendd-space-4);
    border-bottom: 1px solid var(--zendd-border-default);
    flex-shrink: 0;
}
.zendd-wb-layout__sidebar #wb-artikel-lijst {
    flex: 1;
    overflow-y: auto;
}
.zendd-wb-layout__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
}
.zendd-wb-layout__toolbar {
    padding: var(--zendd-space-3) var(--zendd-space-4);
    border-bottom: 1px solid var(--zendd-border-default);
    flex-shrink: 0;
}
.zendd-wb-layout__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}
.zendd-wb-layout__content > .zendd-wb-lens-container {
    flex-shrink: 0;
}
.zendd-wb-layout__content > .zendd-wb-artikel-viewer-row {
    flex: 1;
    min-height: 0;
}
.zendd-wb-layout__panel--hidden {
    display: none;
}

/* TV-2: Tab-indicator midden-kolom */
.zendd-wb-tab-indicator {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--zendd-border-default);
    padding: 0 var(--zendd-space-4);
    flex-shrink: 0;
}
.zendd-wb-tab-indicator__tab {
    padding: var(--zendd-space-2) var(--zendd-space-3);
    font-size: var(--zendd-font-size-sm);
    font-weight: 400;
    color: var(--zendd-text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color var(--zendd-transition-fast), border-color var(--zendd-transition-fast);
}
.zendd-wb-tab-indicator__tab:hover {
    color: var(--zendd-text-primary);
}
.zendd-wb-tab-indicator__tab--active {
    color: var(--zendd-action-primary-color);
    border-bottom-color: var(--zendd-action-primary-color);
}

/* Chat-kolom (grid-cel 3) */
.zendd-wb-layout__chat {
    border-left: 1px solid var(--zendd-border-default);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--zendd-surface-primary, #fff);
}

/* Chat open-knop: verborgen tenzij collapsed */
.zendd-chat-open-btn {
    display: none;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--zendd-radius-md, 0.5rem);
    background: var(--zendd-brand-primary, #2563eb);
    color: var(--zendd-text-on-primary, #fff);
    font-size: 0.8125rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 50;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.zendd-chat-open-btn:hover {
    background: var(--zendd-brand-primary-hover, #1d4ed8);
}

/* Chat panel styling (verplaatst uit inline naar BEM) */
.zendd-chat-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--zendd-surface-primary, #fff);
}
.zendd-chat-panel__header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    border-bottom: 1px solid var(--zendd-border-default, #e5e7eb);
    flex-shrink: 0;
}
.zendd-chat-panel__title {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--zendd-text-primary, #111827);
    margin: 0;
    white-space: nowrap;
}
.zendd-chat-panel__actions {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-left: auto;
}
/* TO §7.5: Chat mode toggle — Corrigeren / Testen */
.zendd-chat-mode-toggle {
    display: flex;
    border: 1px solid var(--zendd-border-secondary, #e5e7eb);
    border-radius: 0.375rem;
    overflow: hidden;
}
.zendd-chat-mode-toggle__btn {
    font-size: 0.625rem;
    padding: 0.1875rem 0.4375rem;
    border: none;
    background: var(--zendd-surface-primary, #ffffff);
    color: var(--zendd-text-tertiary, #6b7280);
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
    line-height: 1.2;
}
.zendd-chat-mode-toggle__btn:hover {
    background: var(--zendd-surface-secondary, #f9fafb);
}
.zendd-chat-mode-toggle__btn--active {
    background: var(--zendd-brand-primary, #2563eb);
    color: #ffffff;
}
.zendd-chat-mode-toggle__btn--active:hover {
    background: var(--zendd-brand-primary-hover, #1d4ed8);
}
.zendd-chat-mode-toggle__btn + .zendd-chat-mode-toggle__btn {
    border-left: 1px solid var(--zendd-border-secondary, #e5e7eb);
}

.zendd-chat-panel__nieuw {
    font-size: 0.6875rem;
    color: var(--zendd-brand-primary, #2563eb);
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}
.zendd-chat-panel__nieuw:hover {
    color: var(--zendd-brand-primary-hover, #1d4ed8);
}
.zendd-chat-panel__collapse {
    color: var(--zendd-text-tertiary, #9ca3af);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 0.25rem;
}
.zendd-chat-panel__collapse:hover {
    color: var(--zendd-text-secondary, #6b7280);
}
.zendd-chat-panel__context {
    padding: 0.25rem 1rem;
    font-size: 0.75rem;
    color: var(--zendd-text-tertiary, #6b7280);
    border-bottom: 1px solid var(--zendd-border-subtle, #f3f4f6);
    flex-shrink: 0;
}
.zendd-chat-panel__messages {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.zendd-chat-panel__voorbeelden {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.zendd-chat-panel__voorbeelden-label {
    font-size: 0.75rem;
    color: var(--zendd-text-tertiary, #6b7280);
    margin-bottom: 0.25rem;
}
.zendd-chat-panel__voorbeeld-btn {
    display: block;
    width: 100%;
    text-align: left;
    border-radius: 0.5rem;
    border: 1px solid var(--zendd-border-default, #e5e7eb);
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: var(--zendd-text-secondary, #374151);
    background: none;
    cursor: pointer;
}
.zendd-chat-panel__voorbeeld-btn:hover {
    background: var(--zendd-surface-secondary, #f9fafb);
    border-color: var(--zendd-brand-primary, #2563eb);
}
.zendd-chat-panel__form {
    border-top: 1px solid var(--zendd-border-default, #e5e7eb);
    padding: 0.75rem;
    flex-shrink: 0;
}
.zendd-chat-panel__input-row {
    display: flex;
    gap: 0.5rem;
}
.zendd-chat-panel__textarea {
    flex: 1;
    resize: none;
    border-radius: 0.5rem;
    border: 1px solid var(--zendd-border-default, #d1d5db);
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
}
.zendd-chat-panel__textarea:focus {
    border-color: var(--zendd-brand-primary, #2563eb);
    outline: none;
    box-shadow: 0 0 0 1px var(--zendd-brand-primary, #2563eb);
}
.zendd-chat-panel__submit {
    align-self: flex-end;
    border-radius: 0.5rem;
    background: var(--zendd-brand-primary, #2563eb);
    padding: 0.5rem 0.75rem;
    color: var(--zendd-text-on-primary, #fff);
    border: none;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 500;
}
.zendd-chat-panel__submit:hover {
    background: var(--zendd-brand-primary-hover, #1d4ed8);
}
.zendd-chat-panel__stop {
    align-self: flex-end;
    border-radius: 0.5rem;
    background: var(--zendd-status-danger, #dc2626);
    padding: 0.5rem 0.75rem;
    color: var(--zendd-text-on-primary, #fff);
    border: none;
    cursor: pointer;
}
.zendd-chat-panel__stop:hover {
    background: #b91c1c;
}

/* Chat loader-dot animatie (verplaatst uit inline <style> in _werkbank_chat.html — M-1/M-2) */
@keyframes zendd-dot-bounce {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
}
.zendd-loader-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    animation: zendd-dot-bounce 1.4s infinite ease-in-out both;
}
.zendd-loader-dot:nth-child(1) { background-color: var(--zendd-brand-accent-warm, #F5A623); animation-delay: -0.32s; }
.zendd-loader-dot:nth-child(2) { background-color: var(--zendd-brand-accent-red, #E8453C); animation-delay: -0.16s; }
.zendd-loader-dot:nth-child(3) { background-color: var(--zendd-brand-accent-purple, #7B61FF); }

/* Chat loader met status-tekst */
.zendd-chat-loader {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--zendd-surface-subtle, #f9fafb);
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
}
.zendd-chat-loader__status {
    font-size: 0.75rem;
    color: var(--zendd-text-tertiary, #9ca3af);
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* S2: Stap-indicator + suggesties + welkomstbericht */
.zendd-chat-stap {
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--zendd-border-subtle, #f3f4f6);
    flex-shrink: 0;
}
.zendd-chat-stap__indicator {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.zendd-chat-stap__nummer {
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--zendd-brand-primary, #2563eb);
    background: var(--zendd-surface-accent, #eff6ff);
    padding: 0.125rem 0.5rem;
    border-radius: 1rem;
    white-space: nowrap;
}
.zendd-chat-stap__naam {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--zendd-text-primary, #111827);
}
.zendd-chat-stap__uitleg {
    font-size: 0.75rem;
    color: var(--zendd-text-secondary, #6b7280);
    margin: 0.25rem 0 0 0;
    line-height: 1.4;
}

.zendd-chat-suggesties {
    padding: 0 1rem 0.5rem;
    border-bottom: 1px solid var(--zendd-border-subtle, #f3f4f6);
    flex-shrink: 0;
}
.zendd-chat-suggesties__summary {
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--zendd-text-tertiary, #9ca3af);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    padding: 0.375rem 0;
    list-style: none;
}
.zendd-chat-suggesties__summary::-webkit-details-marker {
    display: none;
}
.zendd-chat-suggesties__summary::before {
    content: "\25B6";
    display: inline-block;
    margin-right: 0.375rem;
    font-size: 0.5rem;
    transition: transform 0.15s ease;
}
.zendd-chat-suggesties[open] > .zendd-chat-suggesties__summary::before {
    transform: rotate(90deg);
}
.zendd-chat-suggesties__lijst {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-top: 0.25rem;
}
.zendd-chat-suggesties__btn {
    display: block;
    width: 100%;
    text-align: left;
    border-radius: 0.375rem;
    border: 1px solid var(--zendd-border-default, #e5e7eb);
    padding: 0.375rem 0.625rem;
    font-size: 0.8125rem;
    color: var(--zendd-text-secondary, #374151);
    background: none;
    cursor: pointer;
    line-height: 1.4;
}
.zendd-chat-suggesties__btn:hover {
    background: var(--zendd-surface-secondary, #f9fafb);
    border-color: var(--zendd-brand-primary, #2563eb);
    color: var(--zendd-text-primary, #111827);
}

.zendd-chat-begrippen {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding-top: 0.375rem;
}
.zendd-chat-begrippen__btn {
    font-size: 0.6875rem;
    padding: 0.125rem 0.5rem;
    border-radius: 1rem;
    border: 1px solid var(--zendd-border-default, #e5e7eb);
    background: var(--zendd-surface-secondary, #f9fafb);
    color: var(--zendd-text-secondary, #6b7280);
    cursor: pointer;
}
.zendd-chat-begrippen__btn:hover {
    background: var(--zendd-surface-accent, #eff6ff);
    border-color: var(--zendd-brand-primary, #2563eb);
    color: var(--zendd-brand-primary, #2563eb);
}

.zendd-chat-welkom {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem 1rem;
    gap: 0.5rem;
    flex: 1;
}
.zendd-chat-welkom__icon {
    color: var(--zendd-text-tertiary, #9ca3af);
}
.zendd-chat-welkom__titel {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--zendd-text-primary, #111827);
    margin: 0;
}
.zendd-chat-welkom__tekst {
    font-size: 0.8125rem;
    color: var(--zendd-text-secondary, #6b7280);
    margin: 0;
    max-width: 280px;
    line-height: 1.5;
}
.zendd-chat-welkom__btn {
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    background: var(--zendd-surface-secondary, #f9fafb);
    border: 1px solid var(--zendd-border-default, #e5e7eb);
    color: var(--zendd-brand-primary, #2563eb);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
}
.zendd-chat-welkom__btn:hover {
    background: var(--zendd-surface-accent, #eff6ff);
    border-color: var(--zendd-brand-primary, #2563eb);
}

/* S3: Agent-introductie bericht bij stap-wisseling */
.zendd-chat-intro {
    text-align: center;
    font-size: 0.75rem;
    color: var(--zendd-text-tertiary, #9ca3af);
    padding: 0.25rem 0.75rem;
    font-style: italic;
}

/* S4: Instapknoppen werkbank → chat */
.zendd-chat-instap {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    border: 1px solid var(--zendd-border-default, #e5e7eb);
    background: var(--zendd-surface-secondary, #f9fafb);
    color: var(--zendd-brand-primary, #2563eb);
    font-size: 0.6875rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    margin-left: auto;
    flex-shrink: 0;
}
.zendd-chat-instap:hover {
    background: var(--zendd-surface-accent, #eff6ff);
    border-color: var(--zendd-brand-primary, #2563eb);
}
.zendd-chat-instap--compact {
    padding: 0.125rem 0.375rem;
    border: none;
    background: none;
    color: var(--zendd-text-tertiary, #9ca3af);
}
.zendd-chat-instap--compact:hover {
    color: var(--zendd-brand-primary, #2563eb);
    background: none;
}
.zendd-chat-instap--chip {
    padding: 0.125rem;
    border-radius: 50%;
    border: none;
    background: none;
    color: var(--zendd-brand-primary, #2563eb);
}
.zendd-chat-instap--chip:hover {
    background: var(--zendd-surface-accent, #eff6ff);
}
.zendd-wb-filter-chip__wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.125rem;
}

/* S6: Actieknoppen in chat-antwoorden */
.zendd-chat-acties {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding-top: 0.25rem;
}
.zendd-chat-actie {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.625rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid var(--zendd-border-default, #e5e7eb);
    background: var(--zendd-surface-primary, #fff);
}
.zendd-chat-actie--nav {
    color: var(--zendd-brand-primary, #2563eb);
}
.zendd-chat-actie--nav:hover {
    background: var(--zendd-surface-accent, #eff6ff);
    border-color: var(--zendd-brand-primary, #2563eb);
}
.zendd-chat-actie--mutatie {
    color: var(--zendd-text-warning, #b45309);
    border-color: var(--zendd-border-warning, #fbbf24);
}
.zendd-chat-actie--mutatie:hover {
    background: var(--zendd-surface-warning, #fffbeb);
}
.zendd-chat-actie-feedback {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.375rem;
    margin-top: 0.25rem;
}
.zendd-chat-actie-feedback--success {
    color: var(--zendd-text-success, #065f46);
    background: var(--zendd-surface-success, #ecfdf5);
    border: 1px solid var(--zendd-border-success, #6ee7b7);
}

/* A-3: Flash-animatie na chat-mutatie op artikellijst */
@keyframes zendd-flash-update {
    0%   { background-color: var(--zendd-surface-success, #ecfdf5); }
    100% { background-color: transparent; }
}
.zendd-wb-artikellijst--flash {
    animation: zendd-flash-update 0.8s ease-out;
}

/* Responsive fallback: onder 1280px → overlay (huidige gedrag) */
@media (max-width: 1279px) {
    .zendd-wb-layout {
        grid-template-columns: 20rem 1fr;
    }
    .zendd-wb-layout__chat {
        position: fixed;
        right: 0;
        top: 0;
        bottom: 0;
        width: 28rem;
        z-index: 9998;
        background: var(--zendd-surface-primary, #fff);
        box-shadow: -4px 0 12px rgba(0,0,0,0.1);
        transform: translateX(100%);
        transition: transform 0.2s ease;
    }
    .zendd-wb-layout__chat.is-open {
        transform: translateX(0);
    }
    /* In overlay-modus: collapse-klasse heeft geen grid-effect */
    .zendd-wb-layout--chat-collapsed {
        grid-template-columns: 20rem 1fr;
    }
    /* Open-knop altijd zichtbaar in overlay-modus */
    .zendd-chat-open-btn {
        display: inline-flex;
    }
}

/* DRD container: beperkt tot __main kolom, geen overlap met sidebar */
#wb-drd-container-wrapper {
    flex-shrink: 0;
    min-width: 0;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
#wb-drd-container-wrapper .zendd-card {
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
}
#wb-drd-container-wrapper #wb-drd-container {
    height: 300px;
    max-width: 100%;
}

/* A1: Artikel-viewer (Sprint 3) */
.zendd-wb-artikel-viewer {
    padding: var(--zendd-space-4);
}
.zendd-wb-artikel-viewer__header {
    display: flex;
    align-items: baseline;
    gap: var(--zendd-space-3);
    margin-bottom: var(--zendd-space-4);
    border-bottom: 1px solid var(--zendd-border-default);
    padding-bottom: var(--zendd-space-3);
}
.zendd-wb-artikel-viewer__header h2 {
    font-family: var(--zendd-font-family-heading);
    font-size: var(--zendd-font-size-xl);
    font-weight: 700;
    margin: 0;
}
.zendd-wb-artikel-viewer__titel {
    color: var(--zendd-text-secondary);
    font-size: var(--zendd-font-size-sm);
}
.zendd-wb-artikel-viewer__body {
    display: flex;
    flex-direction: column;
    gap: var(--zendd-space-2);
    min-width: 0;
    overflow-wrap: break-word;
}
.zendd-wb-artikel-viewer__lid {
    margin-bottom: var(--zendd-space-4);
}
.zendd-wb-artikel-viewer__lid-nr {
    font-weight: 600;
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: var(--zendd-space-1);
}
.zendd-wb-artikel-viewer__volzinnen {
    display: flex;
    flex-direction: column;
    gap: var(--zendd-space-1);
}

/* F1: Modus-selector (Sprint 3) */
.zendd-wb-modus {
    display: flex;
    gap: 2px;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    padding: 2px;
    background: var(--zendd-surface-secondary);
}
.zendd-wb-modus__tab {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-3) var(--zendd-space-4);
    border-radius: var(--zendd-radius-sm);
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: var(--zendd-font-size-base);
    font-weight: 600;
    color: var(--zendd-text-secondary);
    font-family: var(--zendd-font-family-body);
    min-height: var(--zendd-layout-touch-target-min);
    transition: all var(--zendd-transition-fast);
}
.zendd-wb-modus__tab:hover {
    background: var(--zendd-color-navy-50);
}
.zendd-wb-modus__tab--active {
    background: var(--zendd-surface-primary);
    color: var(--zendd-text-primary);
    font-weight: 600;
    box-shadow: var(--zendd-shadow-sm);
}
.zendd-wb-modus__tab:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
}

/* Betrokkenen-modus: boom-weergave layout (TO-werkbank-betrokkenen-interactie Sprint 1) */
.zendd-wb-betrokkenen-modus {
    padding: var(--zendd-space-4);
}
.zendd-wb-kenmerk-register__titel {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    margin-bottom: var(--zendd-space-2);
    font-size: var(--zendd-text-lg);
    font-weight: 600;
}
.zendd-wb-kenmerk-register__samenvatting {
    margin-bottom: var(--zendd-space-4);
}
.zendd-wb-kenmerk-register__leeg {
    text-align: center;
    padding: var(--zendd-space-8) var(--zendd-space-4);
}

/* Stroom-secties (drie AWB-stromen) */
.zendd-wb-stroom {
    margin-bottom: var(--zendd-space-4);
    border: 1px solid var(--zendd-border-light);
    border-radius: var(--zendd-radius-lg);
    overflow: hidden;
}
.zendd-wb-stroom__heading {
    padding: var(--zendd-space-2) var(--zendd-space-3);
    font-size: var(--zendd-text-sm);
    font-weight: 600;
    color: var(--zendd-text-secondary);
    background-color: var(--zendd-surface-secondary);
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
}
.zendd-wb-stroom__heading--toggle {
    cursor: pointer;
    list-style: none;
}
.zendd-wb-stroom__heading--toggle::-webkit-details-marker {
    display: none;
}
.zendd-wb-stroom__heading--toggle::before {
    content: "▸";
    transition: transform 0.15s ease;
}
details[open] > .zendd-wb-stroom__heading--toggle::before {
    transform: rotate(90deg);
}
.zendd-wb-stroom__inhoud {
    padding: var(--zendd-space-2);
}
.zendd-wb-stroom__instructie {
    padding: var(--zendd-space-2) var(--zendd-space-3);
    margin-bottom: var(--zendd-space-2);
}
.zendd-wb-stroom--verwijderd {
    opacity: 0.6;
}

/* Betrokkene-kaart */
.zendd-wb-betrokkene-kaart {
    margin-bottom: var(--zendd-space-2);
}
.zendd-wb-betrokkene-kaart__header {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    flex-wrap: wrap;
}
.zendd-wb-betrokkene-kaart__naam {
    font-weight: 600;
    font-size: var(--zendd-text-sm);
}
.zendd-wb-betrokkene-kaart__status {
    margin-left: auto;
}
.zendd-wb-betrokkene-kaart__eigenschappen {
    margin-top: var(--zendd-space-2);
    padding-left: var(--zendd-space-4);
    border-left: 2px solid var(--zendd-border-light);
}
.zendd-wb-betrokkene-kaart__acties {
    margin-top: var(--zendd-space-2);
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
}
.zendd-wb-betrokkene-kaart__rol-select {
    font-size: var(--zendd-text-xs);
    padding: var(--zendd-space-1) var(--zendd-space-2);
    min-height: 32px;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-sm);
    background: var(--zendd-surface-default);
}
.zendd-wb-betrokkene-kaart--verwijderd {
    opacity: 0.5;
}
.zendd-wb-betrokkene-kaart--verwijderd del {
    color: var(--zendd-text-tertiary);
}
/* Overige stelsel-matches (ingeklapt, lagere prioriteit) */
.zendd-wb-stroom--overige {
    border-left: 2px dashed var(--zendd-border-light);
    padding-left: var(--zendd-space-3);
}

/* Bewijs-paneel (Sprint 3: progressive disclosure) */
.zendd-wb-bewijs-paneel {
    margin-top: var(--zendd-space-2);
    border-top: 1px solid var(--zendd-border-light);
}
.zendd-wb-bewijs-paneel__trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--zendd-space-1);
    padding: var(--zendd-space-1) 0;
    font-size: var(--zendd-text-xs);
    color: var(--zendd-text-secondary);
    cursor: pointer;
    list-style: none;
}
.zendd-wb-bewijs-paneel__trigger::-webkit-details-marker { display: none; }
.zendd-wb-bewijs-paneel__trigger::before {
    content: "▸";
    font-size: 10px;
    transition: transform 0.15s;
}
details[open] > .zendd-wb-bewijs-paneel__trigger::before {
    transform: rotate(90deg);
}
.zendd-wb-bewijs-paneel__inhoud {
    padding: var(--zendd-space-2) 0 var(--zendd-space-1) var(--zendd-space-3);
}
.zendd-wb-bewijs-paneel__lijst {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--zendd-space-1) var(--zendd-space-3);
    font-size: var(--zendd-text-xs);
    margin: 0;
}
.zendd-wb-bewijs-paneel__item {
    display: contents;
}
.zendd-wb-bewijs-paneel__item dt {
    color: var(--zendd-text-tertiary);
    font-weight: 500;
}
.zendd-wb-bewijs-paneel__item dd {
    margin: 0;
    color: var(--zendd-text-default);
}
.zendd-wb-bewijs-paneel__tech-trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--zendd-space-1);
    margin-top: var(--zendd-space-2);
    padding: 0;
    border: none;
    background: none;
    font-size: var(--zendd-text-xs);
    color: var(--zendd-text-tertiary);
    cursor: pointer;
}
.zendd-wb-bewijs-paneel__tech-trigger:hover {
    color: var(--zendd-text-secondary);
}
.zendd-wb-bewijs-paneel__technisch {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: var(--zendd-space-1);
    padding: var(--zendd-space-2);
    background: var(--zendd-surface-secondary);
    border-radius: var(--zendd-radius-sm);
    font-family: monospace;
    font-size: 11px;
    color: var(--zendd-text-tertiary);
}
/* Classificatie foutmelding (O-20) */
.zendd-wb-classificeer-fout {
    margin-bottom: var(--zendd-space-2);
}

/* Eigenschap-items */
.zendd-wb-eigenschap-item {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-1) 0;
}
.zendd-wb-eigenschap-kaart {
    margin-bottom: var(--zendd-space-1);
}
.zendd-wb-eigenschap-kaart__naam {
    font-weight: 500;
    font-size: var(--zendd-text-sm);
}

/* Orphan warnings */
.zendd-wb-orphan-warnings {
    padding: var(--zendd-space-2) 0;
}

/* Zoekwoord-filter sidebar */
.zendd-wb-search__input:focus {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
    border-color: var(--zendd-border-focus);
}
.zendd-wb-search__input::placeholder {
    color: var(--zendd-text-tertiary);
}
/* Verberg native clear-knop in WebKit */
.zendd-wb-search__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

/* DMN-modus werkgebied layout */
.zendd-wb-dmn-view {
    display: flex;
    flex-direction: column;
    gap: var(--zendd-space-4);
    padding: var(--zendd-space-4);
    flex: 1;
    overflow-y: auto;
}

/* Lens-schakelaar container in werkgebied */
.zendd-wb-lens-container {
    flex-shrink: 0;
}

/* ── Werkbank Sprint 4: Annotatie-kern ── */

/* B2: Autoriteits-indicator */
.zendd-wb-autoriteit {
    display: inline-flex;
    align-items: center;
    gap: var(--zendd-space-1);
    padding: 2px var(--zendd-space-2);
    border-radius: var(--zendd-radius-full);
    font-size: var(--zendd-font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
}
.zendd-wb-autoriteit--code {
    background: var(--zendd-werkbank-autoriteit-code-bg);
    color: var(--zendd-werkbank-autoriteit-code-color);
}
.zendd-wb-autoriteit--ai {
    background: var(--zendd-werkbank-autoriteit-ai-bg);
    color: var(--zendd-werkbank-autoriteit-ai-color);
}
.zendd-wb-autoriteit--mens {
    background: var(--zendd-werkbank-autoriteit-mens-bg);
    color: var(--zendd-werkbank-autoriteit-mens-color);
}

/* B1: Annotatie-vraag */
.zendd-wb-vraag {
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    padding: var(--zendd-space-3);
    margin-bottom: var(--zendd-space-2);
    transition: border-color var(--zendd-transition-fast);
}
.zendd-wb-vraag--voorzet {
    border-color: var(--zendd-werkbank-autoriteit-code-color);
}
.zendd-wb-vraag--bevestigd {
    border-color: var(--zendd-color-green-400);
    background: var(--zendd-color-green-50);
}
.zendd-wb-vraag--gecorrigeerd {
    border-color: var(--zendd-color-amber-400);
    background: var(--zendd-color-amber-50);
}
.zendd-wb-vraag--geflagd {
    border-color: var(--zendd-color-coral-400);
    background: var(--zendd-color-coral-50);
}
.zendd-wb-vraag--overgeslagen {
    opacity: 0.5;
}
.zendd-wb-vraag__header {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    margin-bottom: var(--zendd-space-2);
}
.zendd-wb-vraag__tekst {
    font-weight: 500;
    font-size: var(--zendd-font-size-sm);
}
.zendd-wb-vraag__antwoord {
    margin-bottom: var(--zendd-space-2);
}
.zendd-wb-vraag__voorzet {
    font-weight: 600;
    color: var(--zendd-text-primary);
}
.zendd-wb-vraag__bevestigd {
    font-weight: 600;
    color: var(--zendd-color-green-700);
}
.zendd-wb-vraag__gecorrigeerd {
    font-weight: 600;
    color: var(--zendd-color-amber-700);
}
.zendd-wb-vraag__wachtend {
    font-style: italic;
    color: var(--zendd-text-tertiary);
}
.zendd-wb-vraag__acties {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
}
.zendd-wb-vraag__btn {
    display: inline-flex;
    align-items: center;
    gap: var(--zendd-space-1);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-sm);
    cursor: pointer;
    min-height: var(--zendd-layout-touch-target-min);
    transition: all var(--zendd-transition-fast);
}
.zendd-wb-vraag__btn--akkoord {
    background: var(--zendd-color-green-600);
    color: white;
    border: none;
    font-weight: 600;
    padding: var(--zendd-space-2) var(--zendd-space-4);
}
.zendd-wb-vraag__btn--akkoord:hover {
    background: var(--zendd-color-green-700);
}
.zendd-wb-vraag__btn--corrigeer {
    background: transparent;
    color: var(--zendd-text-secondary);
    border: 1px solid var(--zendd-border-default);
}
.zendd-wb-vraag__btn--corrigeer:hover {
    background: var(--zendd-color-navy-50);
}
.zendd-wb-vraag__btn:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
}
.zendd-wb-vraag__hint {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    font-style: italic;
}

/* B7: Feedback-flag */
.zendd-wb-flag {
    position: relative;
    margin-left: auto;
}
.zendd-wb-flag__btn {
    background: transparent;
    border: none;
    color: var(--zendd-text-tertiary);
    cursor: pointer;
    padding: var(--zendd-space-1);
    border-radius: var(--zendd-radius-sm);
    min-width: var(--zendd-layout-touch-target-min);
    min-height: var(--zendd-layout-touch-target-min);
    display: flex;
    align-items: center;
    justify-content: center;
}
.zendd-wb-flag__btn:hover {
    color: var(--zendd-color-coral-500);
}
.zendd-wb-flag__btn:focus-visible {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
}
.zendd-wb-flag__form {
    display: none;
    margin-top: var(--zendd-space-2);
    gap: var(--zendd-space-2);
    flex-direction: column;
}
.zendd-wb-flag--open .zendd-wb-flag__form {
    display: flex;
}
.zendd-wb-flag__textarea {
    width: 100%;
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-sm);
    padding: var(--zendd-space-2);
    font-size: var(--zendd-font-size-sm);
    font-family: inherit;
    resize: vertical;
}
.zendd-wb-flag__textarea:focus {
    outline: var(--zendd-focus-outline-width) solid var(--zendd-focus-outline-color);
    outline-offset: var(--zendd-focus-outline-offset);
    border-color: var(--zendd-focus-outline-color);
}
.zendd-wb-flag__submit {
    align-self: flex-end;
    padding: var(--zendd-space-1) var(--zendd-space-3);
    background: var(--zendd-color-coral-600);
    color: white;
    border: none;
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-sm);
    cursor: pointer;
    min-height: var(--zendd-layout-touch-target-min);
}
.zendd-wb-flag__submit:hover {
    background: var(--zendd-color-coral-700);
}

/* Vragenlijst wrapper */
.zendd-wb-vragenlijst {
    padding: var(--zendd-space-4);
}
.zendd-wb-vragenlijst__header {
    margin-bottom: var(--zendd-space-4);
    border-bottom: 1px solid var(--zendd-border-default);
    padding-bottom: var(--zendd-space-3);
}
.zendd-wb-vragenlijst__titel {
    font-family: var(--zendd-font-family-heading);
    font-size: var(--zendd-font-size-lg);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
}
.zendd-wb-vragenlijst__volzin-nr {
    font-size: var(--zendd-font-size-xs);
    font-weight: 600;
    color: var(--zendd-text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--zendd-surface-secondary);
    padding: 2px var(--zendd-space-2);
    border-radius: var(--zendd-radius-sm);
}
.zendd-wb-vragenlijst__context {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    margin-top: var(--zendd-space-2);
    line-height: 1.5;
    max-height: 3em;
    overflow: hidden;
    text-overflow: ellipsis;
}
.zendd-wb-vragenlijst__vragen {
    display: flex;
    flex-direction: column;
}

/* Annotatie split-view layout */
.zendd-wb-annotatie-split {
    display: flex;
    gap: var(--zendd-space-4);
    height: 100%;
}
.zendd-wb-annotatie-split__artikel {
    flex: 1;
    overflow-y: auto;
}
.zendd-wb-annotatie-split__panel {
    flex: 1;
    overflow-y: auto;
    border-left: 1px solid var(--zendd-border-default);
}

/* ============================================================
   WERKBANK: Multi-Lens Arcering (TO-multi-lens-werkbank-arcering v0.2.0)
   I-1..I-5 — CSS classes, geen Go template partials (FO Major M6)
   Strategie: border-bottom i.p.v. text-decoration (FO Majors M2/M5)
   ============================================================ */

/* --- I-1: Basis mark --- */
.zendd-wb-mark {
    background: transparent;
    padding-bottom: 3px;
    cursor: pointer;
    position: relative;
    display: inline;
    line-height: 2.2;
    transition: background var(--zendd-transition-fast);
}

/* Touch target via ::after pseudo-element (TM5: min-height op inline werkt niet) */
.zendd-wb-mark::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    min-height: 44px;
    transform: translateY(-50%);
}

/* --- I-2: Mark varianten (border-bottom strategie) --- */
.zendd-wb-mark--betrokkene {
    border-bottom: 2px solid var(--zendd-wb-mark-betrokkene);
}

.zendd-wb-mark--eigenschap {
    border-bottom: 2px dashed var(--zendd-wb-mark-eigenschap);
}

.zendd-wb-mark--grondslag {
    border-bottom: 2px dotted var(--zendd-wb-mark-grondslag);
}

.zendd-wb-mark--signaalwoord {
    border-bottom: 2px dotted var(--zendd-wb-mark-grondslag);
    font-weight: 600;
}

/* FO M1: double i.p.v. solid voor deuteranopie-onderscheid groen/rood */
.zendd-wb-mark--exclusie {
    border-bottom: 3px double var(--zendd-wb-mark-exclusie);
}

.zendd-wb-mark--register-element {
    border-bottom: 2px dashed var(--zendd-wb-mark-exclusie);
}

.zendd-wb-mark--norm {
    border-bottom: 2px solid var(--zendd-wb-mark-normwaarde);
}

.zendd-wb-mark--normkenmerk {
    border-bottom: 2px dashed var(--zendd-wb-mark-normkenmerk);
}

/* --- I-3: Bevestigd (dikkere lijn + achtergrondtint) --- */
.zendd-wb-mark--confirmed {
    border-bottom-width: 3px;
}
.zendd-wb-mark--betrokkene.zendd-wb-mark--confirmed {
    background: var(--zendd-wb-mark-betrokkene-bg);
}
.zendd-wb-mark--eigenschap.zendd-wb-mark--confirmed {
    background: var(--zendd-wb-mark-eigenschap-bg);
}
.zendd-wb-mark--grondslag.zendd-wb-mark--confirmed,
.zendd-wb-mark--signaalwoord.zendd-wb-mark--confirmed {
    background: var(--zendd-wb-mark-grondslag-bg);
}
.zendd-wb-mark--exclusie.zendd-wb-mark--confirmed,
.zendd-wb-mark--register-element.zendd-wb-mark--confirmed {
    background: var(--zendd-wb-mark-exclusie-bg);
}
.zendd-wb-mark--norm.zendd-wb-mark--confirmed,
.zendd-wb-mark--normkenmerk.zendd-wb-mark--confirmed {
    background: var(--zendd-wb-mark-norm-bg);
}

/* --- US-LENS-01: Lens-filtering via data-active-lens op parent --- */
/* Betrokkenen-lens: toon alleen betrokkene + eigenschap marks */
.zendd-wb-artikel-viewer-row[data-active-lens="betrokkene"] .zendd-wb-mark:not([data-lens="betrokkene"]):not([data-lens="eigenschap"]) {
    border: none;
    background: none;
    color: inherit;
    cursor: default;
    pointer-events: none;
}

/* Normen-lens: toon alleen grondslag + signaalwoord + exclusie + normwaarde + normkenmerk marks */
.zendd-wb-artikel-viewer-row[data-active-lens="normen"] .zendd-wb-mark:not([data-lens="grondslag"]):not([data-lens="signaalwoord"]):not([data-lens="exclusie"]):not([data-lens="normwaarde"]):not([data-lens="normkenmerk"]) {
    border: none;
    background: none;
    color: inherit;
    cursor: default;
    pointer-events: none;
}

/* Geen lens actief: alle marks onzichtbaar */
.zendd-wb-artikel-viewer-row:not([data-active-lens]) .zendd-wb-mark,
.zendd-wb-artikel-viewer-row[data-active-lens=""] .zendd-wb-mark {
    border: none;
    background: none;
    color: inherit;
    cursor: default;
    pointer-events: none;
}

/* Legacy: dimmed class voor backwards-compatibiliteit */
.zendd-wb-mark--dimmed {
    border: none;
    background: none;
    color: inherit;
    cursor: default;
    pointer-events: none;
}

/* --- I-5: Overlap (twee lagen) --- */
.zendd-wb-mark--overlap {
    display: inline;
}
.zendd-wb-mark--overlap > .zendd-wb-mark:first-child {
    padding-bottom: 3px;
}
.zendd-wb-mark--overlap > .zendd-wb-mark:last-child {
    padding-bottom: 7px;
}

/* Focus ring */
.zendd-wb-mark:focus-visible {
    outline: 2px solid var(--zendd-border-focus);
    outline-offset: 2px;
    border-radius: var(--zendd-radius-sm);
}

/* TM3: voorkom dat border-bottom wordt afgekapt door overflow:hidden */
.zendd-wb-volzin__text {
    overflow: visible;
}
.zendd-wb-artikel-viewer__volzinnen {
    padding-bottom: 8px;
}

/* --- Lens-schakelaar --- */
.zendd-wb-lens-schakelaar {
    display: flex;
    gap: var(--zendd-space-1);
    border-bottom: 1px solid var(--zendd-border-default);
    padding: 0 var(--zendd-space-4);
}

.zendd-wb-lens-tab {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    font-size: var(--zendd-font-size-sm);
    font-family: var(--zendd-font-family-body);
    color: var(--zendd-text-secondary);
    transition: all var(--zendd-transition-fast);
}

.zendd-wb-lens-tab:hover {
    color: var(--zendd-text-primary);
    background: var(--zendd-surface-tertiary);
}

.zendd-wb-lens-tab--active {
    color: var(--zendd-text-primary);
    font-weight: 600;
}

.zendd-wb-lens-tab--active[data-lens="betrokkene"] {
    border-bottom-color: var(--zendd-wb-mark-betrokkene);
}
.zendd-wb-lens-tab--active[data-lens="grondslag"] {
    border-bottom-color: var(--zendd-wb-mark-grondslag);
}
.zendd-wb-lens-tab--active[data-lens="exclusie"] {
    border-bottom-color: var(--zendd-wb-mark-exclusie);
}
.zendd-wb-lens-tab--active[data-lens="normen"] {
    border-bottom-color: var(--zendd-wb-mark-normwaarde);
}

.zendd-wb-lens-tab:focus-visible {
    outline: 2px solid var(--zendd-border-focus);
    outline-offset: -2px;
    border-radius: var(--zendd-radius-sm);
}

.zendd-wb-lens-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--zendd-radius-full);
    flex-shrink: 0;
}

.zendd-wb-lens-badge {
    font-size: var(--zendd-font-size-xs);
    padding: 1px var(--zendd-space-1);
    border-radius: var(--zendd-radius-full);
    background: var(--zendd-surface-tertiary);
    color: var(--zendd-text-secondary);
}

/* US-18: Voortgangs-badge compleet (groen + vinkje) */
.zendd-wb-lens-badge--compleet {
    background: var(--zendd-feedback-success-light);
    color: var(--zendd-feedback-success-color);
}

/* US-17: Multi-lens overlap — gestapelde onderstrepingen */
.zendd-wb-mark--overlap-lower {
    text-underline-offset: 6px;
}

/* US-05: Betrokkenen-tabel */
.zendd-wb-betrokkenen-tabel__form {
    margin-top: var(--zendd-space-2);
}
.zendd-wb-betrokkenen-tabel__toevoegen {
    margin-top: var(--zendd-space-2);
}

/* Sprint 8: Bronlaag-tabs */
.zendd-wb-bronlaag__tablist {
    display: flex;
    gap: var(--zendd-space-1);
    border-bottom: 1px solid var(--zendd-border-default);
    margin-bottom: var(--zendd-space-3);
}
.zendd-wb-bronlaag__tab {
    padding: var(--zendd-space-2) var(--zendd-space-3);
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    border-bottom: 2px solid transparent;
    transition: border-color 0.15s, color 0.15s;
}
.zendd-wb-bronlaag__tab:hover {
    color: var(--zendd-text-primary);
}
.zendd-wb-bronlaag__tab--actief {
    color: var(--zendd-text-primary);
    border-bottom-color: var(--zendd-brand-primary);
}
.zendd-wb-bronlaag__tab:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.zendd-wb-bronlaag__panel {
    min-height: 100px;
}

/* --- Mark validatie-panel --- */
.zendd-wb-mark-validatie {
    width: 100%;
    padding: var(--zendd-space-3) var(--zendd-space-4);
    margin-top: var(--zendd-space-2);
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    background: var(--zendd-surface-secondary);
    display: flex;
    align-items: center;
    gap: var(--zendd-space-3);
    flex-wrap: wrap;
}
.zendd-wb-mark-validatie:empty {
    display: none;
}

.zendd-wb-mark-validatie__term {
    font-weight: 600;
    padding: var(--zendd-space-1) var(--zendd-space-2);
    border-radius: var(--zendd-radius-sm);
}

.zendd-wb-mark-validatie__bron {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    flex: 1;
}

.zendd-wb-mark-validatie__acties {
    display: flex;
    gap: var(--zendd-space-2);
}

/* --- Select panel (handmatige classificatie) --- */
.zendd-wb-select-panel {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-3);
    flex-wrap: wrap;
}
.zendd-wb-select-panel__term {
    font-weight: 600;
    padding: var(--zendd-space-1) var(--zendd-space-2);
    background: var(--zendd-surface-tertiary);
    border-radius: var(--zendd-radius-sm);
}
.zendd-wb-select-panel__label {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
}
.zendd-wb-select-panel__acties {
    display: flex;
    gap: var(--zendd-space-1);
    flex-wrap: wrap;
}
.zendd-wb-select-panel__form {
    display: contents;
}
.zendd-wb-select-panel__btn {
    font-size: var(--zendd-font-size-xs);
}
.zendd-wb-select-panel__sluit {
    margin-left: auto;
}

/* --- Werkbank zoekbalk (M-7 inline style extractie) --- */
.zendd-wb-search__wrap {
    padding: var(--zendd-space-2) var(--zendd-space-3);
}
.zendd-wb-search__icon {
    position: absolute;
    left: var(--zendd-space-2);
    top: 50%;
    transform: translateY(-50%);
    color: var(--zendd-text-tertiary);
    pointer-events: none;
}
.zendd-wb-search__field {
    position: relative;
}
.zendd-wb-search__input {
    width: 100%;
    padding: var(--zendd-space-2) var(--zendd-space-2) var(--zendd-space-2) var(--zendd-space-8);
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-sm);
    font-family: var(--zendd-font-family-body);
    background: var(--zendd-surface-primary);
    color: var(--zendd-text-primary);
}

/* --- Werkbank voortgang lens-container (M-7) --- */
.zendd-wb-lens-wrap {
    padding: 0 var(--zendd-space-4);
    padding-top: var(--zendd-space-4);
}

/* --- Werkbank DRD empty-state padding (M-7) --- */
.zendd-wb-drd-empty {
    padding: var(--zendd-space-4);
}

/* --- Trechter rail connector hoogte-varianten (M-7) --- */
.zendd-trechter-connector--1 { height: 4px; }
.zendd-trechter-connector--2 { height: 3px; }
.zendd-trechter-connector--3,
.zendd-trechter-connector--default { height: 2px; }

/* --- Trechter rail label kleuren (M-7) --- */
.zendd-trechter-label--done { color: var(--zendd-feedback-success-color); }
.zendd-trechter-label--active { color: var(--zendd-action-primary-color); }
.zendd-trechter-label--pending { color: var(--zendd-text-tertiary); }

/* --- Text-tertiary utility (M-7) --- */
.zendd-text-color-tertiary {
    color: var(--zendd-text-tertiary);
}

/* --- FEEL-voorstel (US-07) --- */
.zendd-wb-feel-voorstel {
    margin-top: var(--zendd-space-3);
    padding: var(--zendd-space-3) var(--zendd-space-4);
    background: var(--zendd-wb-mark-grondslag-bg);
    border: 1px solid var(--zendd-wb-mark-grondslag);
    border-radius: var(--zendd-radius-md);
}

.zendd-wb-feel-voorstel__code {
    font-family: var(--zendd-font-family-mono, monospace);
    font-size: var(--zendd-font-size-sm);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    background: var(--zendd-surface-primary);
    border-radius: var(--zendd-radius-sm);
    margin: var(--zendd-space-2) 0;
    overflow-x: auto;
}

.zendd-wb-feel-voorstel__editor {
    width: 100%;
    font-family: var(--zendd-font-family-mono, monospace);
    font-size: var(--zendd-font-size-sm);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-sm);
    resize: vertical;
}

.zendd-wb-feel-voorstel__warning {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    background: var(--zendd-color-amber-50);
    border: 1px solid var(--zendd-color-amber-500);
    border-radius: var(--zendd-radius-sm);
    margin-bottom: var(--zendd-space-2);
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-color-amber-700);
}

.zendd-wb-feel-voorstel__vars {
    display: flex;
    gap: var(--zendd-space-2);
    flex-wrap: wrap;
    margin: var(--zendd-space-2) 0;
}

.zendd-wb-feel-voorstel__var {
    font-family: var(--zendd-font-family-mono, monospace);
    font-size: var(--zendd-font-size-xs);
    padding: var(--zendd-space-1) var(--zendd-space-2);
    background: var(--zendd-surface-secondary);
    border-radius: var(--zendd-radius-sm);
    cursor: pointer;
    color: var(--zendd-wb-mark-grondslag);
}

.zendd-wb-feel-voorstel__var:hover,
.zendd-wb-feel-voorstel__var:focus-visible {
    outline: 2px solid var(--zendd-wb-mark-grondslag);
    outline-offset: 1px;
}

.zendd-wb-feel-voorstel__acties {
    display: flex;
    gap: var(--zendd-space-2);
    margin-top: var(--zendd-space-3);
}

/* --- Undo toast (US-03 AC7: 10s ongedaan-maken) --- */
.zendd-wb-mark-undo {
    display: inline-flex;
    margin-left: var(--zendd-space-1);
    vertical-align: middle;
}

/* --- Filter chips (betrokkene) --- */
.zendd-wb-filter-chips {
    display: flex;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-2) var(--zendd-space-4);
    overflow-x: auto;
    flex-wrap: nowrap;
}

.zendd-wb-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--zendd-space-1);
    padding: var(--zendd-space-1) var(--zendd-space-3);
    border: 1px dashed var(--zendd-border-default);
    border-radius: var(--zendd-radius-full);
    background: none;
    cursor: pointer;
    font-size: var(--zendd-font-size-sm);
    font-family: var(--zendd-font-family-body);
    color: var(--zendd-text-secondary);
    white-space: nowrap;
    transition: all var(--zendd-transition-fast);
}

.zendd-wb-filter-chip:hover {
    background: var(--zendd-surface-tertiary);
}

.zendd-wb-filter-chip--active {
    border-style: solid;
    background: var(--zendd-wb-mark-betrokkene-bg);
    border-color: var(--zendd-wb-mark-betrokkene);
    color: var(--zendd-text-primary);
}

.zendd-wb-filter-chip:focus-visible {
    outline: 2px solid var(--zendd-border-focus);
    outline-offset: 2px;
}

.zendd-wb-filter-chip__count {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
}

/* S2: Stap-indicator chip (niet verwijderbaar) — sky tokens + border-left */
.zendd-wb-zone-b__stap-indicator {
    margin-bottom: var(--zendd-space-1);
}
.zendd-wb-filter-chip--stap {
    background: var(--zendd-feedback-info-light);
    color: var(--zendd-color-sky-700);
    font-weight: 600;
    cursor: default;
    border-left: 3px solid var(--zendd-color-sky-400);
    border-style: solid;
    border-color: var(--zendd-color-sky-200);
    border-left-color: var(--zendd-color-sky-400);
}
.zendd-wb-filter-chip--stap:hover {
    background: var(--zendd-feedback-info-light);
}

/* --- Werkbank Loading Indicator --- */
.zendd-wb-loading {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-2) var(--zendd-space-4);
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
}

.zendd-wb-loading__icon {
    width: 16px;
    height: 16px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* --- Puzzel Dashboard (BUG-11: inline style replacement) --- */
.zendd-wb-puzzel__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--zendd-space-3);
    margin: var(--zendd-space-3) 0;
}

.zendd-wb-puzzel__stats .zendd-card__body {
    text-align: center;
    padding: var(--zendd-space-3);
}

.zendd-wb-puzzel__lens-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.zendd-wb-puzzel__label {
    margin-top: var(--zendd-space-1);
}

.zendd-wb-puzzel__count {
    margin-top: var(--zendd-space-1);
}

.zendd-wb-puzzel__blokkers {
    margin-top: var(--zendd-space-3);
}

.zendd-wb-puzzel__blokkers-list {
    margin-top: var(--zendd-space-2);
}

/* --- KOOP-koppeling (BUG-11) --- */
.zendd-wb-koop-koppeling .zendd-card {
    margin-top: var(--zendd-space-2);
}

.zendd-wb-koop-koppeling__acties {
    margin-top: var(--zendd-space-2);
}

.zendd-wb-koop-koppeling__no-match {
    margin-top: var(--zendd-space-2);
}

.zendd-wb-koop-koppeling__form {
    margin-top: var(--zendd-space-2);
}

/* --- Norm-betrokkene selector (BUG-11) --- */
.zendd-wb-norm-betrokkene .zendd-form {
    margin-top: var(--zendd-space-2);
}

.zendd-wb-norm-betrokkene__submit {
    margin-top: var(--zendd-space-2);
}

.zendd-wb-norm-betrokkene__empty {
    margin-top: var(--zendd-space-2);
}

/* --- Decision Table (BUG-11) --- */
.zendd-wb-decision-table .zendd-table {
    margin-top: var(--zendd-space-2);
}

.zendd-wb-decision-table__empty {
    margin-top: var(--zendd-space-2);
}

/* --- Excluded articles (BUG-11) --- */
.zendd-wb-artikellijst__item--excluded {
    opacity: 0.6;
}

.zendd-wb-artikellijst__restore-form {
    flex-shrink: 0;
}

/* --- Exclusie-overzicht (BUG-11) --- */
.zendd-wb-lens-gate--exclusie .zendd-wb-lens-gate__acties {
    margin-top: var(--zendd-space-3);
}

/* --- FEEL-voorstel container --- */
.zendd-wb-feel-voorstel-container:empty {
    display: none;
}

/* === Classificatie Panel (US-24, FO v0.5.0) === */
.zendd-wb-classificatie {
    padding: var(--zendd-space-4);
}
.zendd-wb-classificatie__title {
    font-weight: 600;
    font-size: var(--zendd-font-size-sm);
    margin-bottom: var(--zendd-space-1);
}
.zendd-wb-classificatie__term {
    font-family: var(--zendd-font-family-mono, monospace);
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    margin-bottom: var(--zendd-space-3);
}
.zendd-wb-classificatie__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--zendd-space-2);
}
.zendd-wb-classificatie__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--zendd-space-1);
    padding: var(--zendd-space-3);
    border: 2px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    background: var(--zendd-surface-primary);
    cursor: pointer;
    min-height: 44px;
    min-width: 44px;
    transition: border-color 0.15s, background-color 0.15s;
    text-align: center;
    font-family: var(--zendd-font-family-body);
}
.zendd-wb-classificatie__card:hover {
    background: var(--zendd-surface-secondary);
}
.zendd-wb-classificatie__card:focus-visible {
    outline: 2px solid var(--zendd-border-focus);
    outline-offset: 2px;
}
/* Active states per type */
.zendd-wb-classificatie__card--nader_classificeren.zendd-wb-classificatie__card--active {
    border-color: var(--zendd-wb-ann-nader);
    background: var(--zendd-wb-ann-nader-bg);
}
.zendd-wb-classificatie__card--berekening.zendd-wb-classificatie__card--active {
    border-color: var(--zendd-wb-ann-berekening);
    background: var(--zendd-wb-ann-berekening-bg);
}
.zendd-wb-classificatie__card--voorwaarde.zendd-wb-classificatie__card--active {
    border-color: var(--zendd-wb-mark-grondslag);
    background: var(--zendd-wb-mark-grondslag-bg);
}
.zendd-wb-classificatie__card--exclusie.zendd-wb-classificatie__card--active {
    border-color: var(--zendd-wb-mark-exclusie);
    background: var(--zendd-wb-mark-exclusie-bg);
}
.zendd-wb-classificatie__card--norm.zendd-wb-classificatie__card--active {
    border-color: var(--zendd-wb-mark-normwaarde);
    background: var(--zendd-wb-mark-norm-bg);
}
.zendd-wb-classificatie__card--attestatie.zendd-wb-classificatie__card--active {
    border-color: var(--zendd-wb-mark-betrokkene);
    background: var(--zendd-wb-mark-betrokkene-bg);
}
.zendd-wb-classificatie__label {
    font-weight: 600;
    font-size: var(--zendd-font-size-sm);
}
.zendd-wb-classificatie__desc {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
}
/* Hints */
.zendd-wb-classificatie__hint {
    margin-top: var(--zendd-space-2);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-xs);
}
.zendd-wb-classificatie__hint--info {
    background: var(--zendd-color-sky-50);
    color: var(--zendd-brand-primary);
}
.zendd-wb-classificatie__hint--warning {
    background: var(--zendd-color-amber-50);
    color: var(--zendd-color-amber-700);
}
/* Bevestig-knop */
.zendd-wb-classificatie__bevestig {
    width: 100%;
    margin-top: var(--zendd-space-4);
}

/* --- Error feedback --- */
.zendd-feedback--error {
    color: var(--zendd-feedback-error-color);
    background: var(--zendd-feedback-error-light);
    padding: var(--zendd-space-2) var(--zendd-space-3);
    border-radius: var(--zendd-radius-md);
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    font-size: var(--zendd-font-size-sm);
    margin-top: var(--zendd-space-2);
}

/* ============================================================
   WERKBANK: US-NORMEN-01 — Enrichment-annotaties onder volzin
   Alleen zichtbaar bij normen-lens via data-active-lens CSS.
   Review #2: horizontale correspondentie, geen verbindingslijnen.
   Review #6: alle kleuren via var(--zendd-*), geen HEX.
   ============================================================ */

/* --- Annotatie-regel: standaard verborgen --- */
.zendd-wb-annotatie-regel {
    display: none;
    flex-wrap: wrap;
    gap: var(--zendd-space-1);
    padding: var(--zendd-space-1) 0 var(--zendd-space-2) var(--zendd-space-8);
    border-top: 1px dashed var(--zendd-border-secondary);
    margin-top: var(--zendd-space-1);
}

/* Alleen zichtbaar bij normen-lens */
.zendd-wb-artikel-viewer-row[data-active-lens="normen"] .zendd-wb-annotatie-regel {
    display: flex;
}

/* --- Annotatie badge basis --- */
.zendd-wb-annotatie {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: var(--zendd-font-size-xs);
    padding: 2px var(--zendd-space-2);
    border-radius: var(--zendd-radius-sm);
    border: 1px solid transparent;
    white-space: nowrap;
    transition: background var(--zendd-transition-fast);
}

/* Badge per normtype (review #3: berekening, review #4: nader_classificeren) */
.zendd-wb-annotatie--voorwaarde {
    border-color: var(--zendd-wb-ann-voorwaarde);
    background: var(--zendd-wb-ann-voorwaarde-bg);
    color: var(--zendd-wb-ann-voorwaarde);
}
.zendd-wb-annotatie--exclusie {
    border-color: var(--zendd-wb-ann-exclusie);
    background: var(--zendd-wb-ann-exclusie-bg);
    color: var(--zendd-wb-ann-exclusie);
}
.zendd-wb-annotatie--norm {
    border-color: var(--zendd-wb-ann-norm);
    background: var(--zendd-wb-ann-norm-bg);
    color: var(--zendd-wb-ann-norm);
}
.zendd-wb-annotatie--attestatie {
    border-color: var(--zendd-wb-ann-attestatie);
    background: var(--zendd-wb-ann-attestatie-bg);
    color: var(--zendd-wb-ann-attestatie);
}
.zendd-wb-annotatie--berekening {
    border-color: var(--zendd-wb-ann-berekening);
    background: var(--zendd-wb-ann-berekening-bg);
    color: var(--zendd-wb-ann-berekening);
}
.zendd-wb-annotatie--nader_classificeren {
    border-color: var(--zendd-wb-ann-nader);
    background: var(--zendd-wb-ann-nader-bg);
    color: var(--zendd-wb-ann-nader);
}

/* Hover: oplichting + bijbehorend woord markeren via JS */
.zendd-wb-annotatie:hover {
    filter: brightness(0.95);
}

/* --- Sub-badges (register, waarde, operator, attestatie) --- */
.zendd-wb-annotatie__register {
    font-weight: 600;
    padding: 0 var(--zendd-space-1);
    background: var(--zendd-color-gray-100);
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-xs);
}
.zendd-wb-annotatie__waarde {
    font-weight: 600;
    font-size: var(--zendd-font-size-xs);
}
.zendd-wb-annotatie__operator {
    font-family: var(--zendd-font-family-mono);
    font-size: var(--zendd-font-size-xs);
    padding: 0 var(--zendd-space-1);
    background: var(--zendd-color-gray-100);
    border-radius: var(--zendd-radius-sm);
}

/* Attestatie status */
.zendd-wb-annotatie__att {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: var(--zendd-font-size-xs);
    padding: 0 var(--zendd-space-1);
    border-radius: var(--zendd-radius-sm);
}
.zendd-wb-annotatie__att--attesteerbaar {
    color: var(--zendd-wb-ann-attestatie);
    font-weight: 600;
}
.zendd-wb-annotatie__att--handmatig {
    color: var(--zendd-wb-ann-berekening);
}

/* --- Sprint 4: Inline merge-vergelijking (wettekst vs. Staatscourant) --- */
.zendd-wb-merge-vergelijking {
    padding: var(--zendd-space-2) 0 var(--zendd-space-2) var(--zendd-space-8);
    margin-top: var(--zendd-space-1);
    border-top: 1px dashed var(--zendd-border-secondary);
}
.zendd-wb-merge-regel {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-1) var(--zendd-space-2);
    border-radius: var(--zendd-radius-sm);
    font-size: var(--zendd-font-size-sm);
    margin-bottom: 2px;
}
.zendd-wb-merge-regel--overeenkomend {
    background: var(--zendd-color-green-50);
    border-left: 3px solid var(--zendd-color-green-500);
}
.zendd-wb-merge-regel--afwijking {
    background: var(--zendd-color-amber-50);
    border-left: 3px solid var(--zendd-color-amber-500);
}
.zendd-wb-merge-regel--geen_match {
    background: var(--zendd-color-gray-50);
    border-left: 3px solid var(--zendd-color-gray-400);
}
.zendd-wb-merge-regel--alleen_koop {
    background: var(--zendd-color-blue-50);
    border-left: 3px solid var(--zendd-color-blue-400);
}
.zendd-wb-merge-regel__icoon {
    font-weight: 700;
    min-width: 1.2em;
    text-align: center;
}
.zendd-wb-merge-regel__wet,
.zendd-wb-merge-regel__koop {
    font-family: var(--zendd-font-family-mono);
}
.zendd-wb-merge-regel__datum {
    color: var(--zendd-text-secondary);
    font-size: var(--zendd-font-size-xs);
}
.zendd-wb-merge-regel__doelgroep {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
    font-style: italic;
}
.zendd-wb-merge-bron {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
    padding-left: var(--zendd-space-2);
    margin-top: var(--zendd-space-1);
}

/* --- Sprint 2/3 CVDR merge + gemeente autocomplete --- */
.zendd-wb-merge-regel--alleen_cvdr {
    background: var(--zendd-color-indigo-50);
    border-left: 3px solid var(--zendd-color-indigo-400);
}
.zendd-wb-merge-regel__cvdr {
    font-family: var(--zendd-font-family-mono);
}
.zendd-wb-merge-regel__artikel,
.zendd-wb-merge-regel__gemeente {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
}
.zendd-wb-merge-bron--cvdr {
    font-style: italic;
}
.zendd-wb-gemeente-selector {
    padding: var(--zendd-space-2) var(--zendd-space-3);
    border-bottom: 1px solid var(--zendd-border-primary);
}
.zendd-wb-gemeente-selector__label {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-1);
    font-size: var(--zendd-font-size-sm);
    font-weight: 500;
    color: var(--zendd-text-secondary);
    margin-bottom: var(--zendd-space-1);
}
.zendd-wb-gemeente-selector__wrap {
    position: relative;
}
.zendd-wb-gemeente-selector__input {
    width: 100%;
    padding: var(--zendd-space-1) var(--zendd-space-2);
    padding-right: var(--zendd-space-6);
    font-size: var(--zendd-font-size-sm);
    border: 1px solid var(--zendd-border-primary);
    border-radius: var(--zendd-radius-sm);
    background: var(--zendd-bg-primary);
}
.zendd-wb-gemeente-selector__input:focus {
    outline: 2px solid var(--zendd-color-blue-400);
    outline-offset: -1px;
}
.zendd-wb-gemeente-selector__wis {
    position: absolute;
    right: var(--zendd-space-1);
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 1.2rem;
    color: var(--zendd-text-secondary);
    cursor: pointer;
    padding: 0 var(--zendd-space-1);
    line-height: 1;
}
.zendd-wb-gemeente-selector__wis:hover {
    color: var(--zendd-text-primary);
}
.zendd-wb-gemeente-selector__lijst {
    position: absolute;
    z-index: 10;
    width: 100%;
    max-height: 12rem;
    overflow-y: auto;
    background: var(--zendd-bg-primary);
    border: 1px solid var(--zendd-border-primary);
    border-radius: var(--zendd-radius-sm);
    box-shadow: var(--zendd-shadow-md);
    margin-top: 2px;
}
.zendd-wb-gemeente-selector__lijst:empty {
    display: none;
}
.zendd-wb-gemeente-optie {
    display: block;
    width: 100%;
    text-align: left;
    padding: var(--zendd-space-1) var(--zendd-space-2);
    font-size: var(--zendd-font-size-sm);
    background: none;
    border: none;
    cursor: pointer;
}
.zendd-wb-gemeente-optie:hover {
    background: var(--zendd-color-blue-50);
}
.zendd-wb-gemeente-geen {
    padding: var(--zendd-space-2);
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    text-align: center;
}
.zendd-wb-overlay--cvdr summary {
    color: var(--zendd-color-indigo-700);
}
.zendd-wb-cvdr-artikel__onbevestigd {
    color: var(--zendd-color-amber-600);
    font-weight: 600;
    cursor: help;
}
.zendd-wb-cvdr-artikel__acties {
    display: inline-flex;
    gap: var(--zendd-space-1);
    margin-left: var(--zendd-space-1);
}

/* --- Verwijst_naar chips --- */
.zendd-wb-verwijst-naar {
    display: none;
    flex-wrap: wrap;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-2) var(--zendd-space-4);
    border-bottom: 1px solid var(--zendd-border-secondary);
}

/* Alleen zichtbaar bij normen-lens */
.zendd-wb-artikel-viewer-row[data-active-lens="normen"] .zendd-wb-verwijst-naar {
    display: flex;
}

.zendd-wb-verwijst-naar__chip {
    display: inline-flex;
    align-items: center;
    gap: var(--zendd-space-1);
    padding: var(--zendd-space-1) var(--zendd-space-2);
    font-size: var(--zendd-font-size-xs);
    background: var(--zendd-color-gray-100);
    border-radius: var(--zendd-radius-sm);
    color: var(--zendd-text-primary);
    text-decoration: none;
    cursor: pointer;
    transition: background var(--zendd-transition-fast);
}
.zendd-wb-verwijst-naar__chip:hover {
    background: var(--zendd-color-gray-200);
}
.zendd-wb-verwijst-naar__context {
    color: var(--zendd-text-secondary);
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Artikel-viewer + Enrichment paneel row layout */
.zendd-wb-artikel-viewer-row {
    display: flex;
    height: 100%;
    overflow: hidden;
    min-width: 0;
}
.zendd-wb-artikel-viewer-row > .zendd-wb-artikel-viewer {
    flex: 1;
    overflow-y: auto;
    min-width: 0;
}

/* Enrichment context-paneel */
.zendd-wb-enrich-paneel {
    width: 17.5rem;
    flex-shrink: 0;
    border-left: 1px solid var(--zendd-border-default);
    overflow-y: auto;
    background: var(--zendd-surface-secondary);
    padding: var(--zendd-space-3);
    font-size: var(--zendd-font-size-xs);
}
/* Stelsel-laag: neutraal kader */
.zendd-wb-enrich-groep--stelsel {
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    padding: var(--zendd-space-3);
    margin-bottom: var(--zendd-space-3);
}
/* Staatscourant-laag: amber gestippelde rand */
.zendd-wb-enrich-groep--staatscourant {
    border: 2px dashed var(--zendd-warning);
    border-radius: var(--zendd-radius-md);
    padding: var(--zendd-space-3);
    margin-bottom: var(--zendd-space-3);
}
/* Verwijzingen-laag */
.zendd-wb-enrich-groep--verwijzingen {
    border: 1px solid var(--zendd-border-default);
    border-radius: var(--zendd-radius-md);
    padding: var(--zendd-space-3);
    margin-bottom: var(--zendd-space-3);
}
.zendd-wb-enrich-item--link {
    display: flex;
    align-items: baseline;
    gap: var(--zendd-space-1);
}
.zendd-wb-enrich-item__link {
    color: var(--zendd-primary);
    text-decoration: none;
    font-weight: 600;
    font-size: var(--zendd-font-size-xs);
    cursor: pointer;
}
.zendd-wb-enrich-item__link:hover { text-decoration: underline; }
.zendd-wb-enrich-item__context {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 160px;
}
.zendd-wb-enrich-groep__titel {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-1);
    font-family: var(--zendd-font-family-heading);
    font-size: var(--zendd-font-size-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--zendd-text-secondary);
    margin: 0 0 var(--zendd-space-2) 0;
    padding-bottom: var(--zendd-space-1);
    border-bottom: 1px solid var(--zendd-border-light);
}
.zendd-wb-enrich-item__geldig {
    color: var(--zendd-text-tertiary);
    font-size: 0.625rem;
    font-style: italic;
}
.zendd-wb-enrich-sectie {
    margin-bottom: var(--zendd-space-4);
}
.zendd-wb-enrich-sectie__titel {
    display: flex;
    align-items: center;
    gap: var(--zendd-space-1);
    font-family: var(--zendd-font-family-heading);
    font-size: var(--zendd-font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--zendd-text-tertiary);
    margin: 0 0 var(--zendd-space-2) 0;
    padding-bottom: var(--zendd-space-1);
    border-bottom: 1px solid var(--zendd-border-light);
}
.zendd-wb-enrich-lijst {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--zendd-space-1);
}
.zendd-wb-enrich-item {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--zendd-space-1);
    padding: var(--zendd-space-1) 0;
    border-bottom: 1px solid var(--zendd-border-light);
    line-height: 1.4;
}
.zendd-wb-enrich-item:last-child {
    border-bottom: none;
}
.zendd-wb-enrich-item__waarde {
    font-weight: 600;
    color: var(--zendd-text-primary);
}
.zendd-wb-enrich-item__naam {
    color: var(--zendd-text-primary);
    word-break: break-word;
}
.zendd-wb-enrich-item__categorie {
    color: var(--zendd-text-secondary);
    font-style: italic;
}
.zendd-wb-enrich-item__operator {
    font-family: monospace;
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
    background: var(--zendd-surface-tertiary);
    padding: 0 var(--zendd-space-1);
    border-radius: var(--zendd-radius-sm);
}
.zendd-wb-enrich-item__suffix {
    color: var(--zendd-text-tertiary);
    font-size: var(--zendd-font-size-xs);
}
.zendd-wb-enrich-item__register {
    color: var(--zendd-text-secondary);
    font-weight: 500;
}
.zendd-wb-enrich-item__badge {
    display: inline-flex;
    align-items: center;
    padding: 0 var(--zendd-space-1);
    border-radius: var(--zendd-radius-sm);
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    line-height: 1.6;
}
.zendd-wb-enrich-item__badge--bwb {
    background: var(--zendd-color-blue-100);
    color: var(--zendd-color-blue-700);
}
.zendd-wb-enrich-item__badge--koop {
    background: var(--zendd-color-amber-100);
    color: var(--zendd-color-amber-800);
}
.zendd-wb-enrich-item__badge--cvdr {
    background: var(--zendd-color-purple-100);
    color: var(--zendd-color-purple-700);
}
.zendd-wb-enrich-item__badge--overig {
    background: var(--zendd-color-gray-100);
    color: var(--zendd-color-gray-700);
}
.zendd-wb-enrich-item__badge--holder {
    background: var(--zendd-color-blue-100);
    color: var(--zendd-color-blue-700);
}
.zendd-wb-enrich-item__badge--attesteerbaar {
    background: var(--zendd-color-green-100);
    color: var(--zendd-color-green-700);
}
.zendd-wb-enrich-item__badge--handmatig {
    background: var(--zendd-color-amber-100);
    color: var(--zendd-color-amber-800);
}
.zendd-wb-enrich-item__badge--np {
    background: var(--zendd-color-blue-100);
    color: var(--zendd-color-blue-700);
}
.zendd-wb-enrich-item__badge--rp {
    background: var(--zendd-color-purple-100);
    color: var(--zendd-color-purple-700);
}
.zendd-wb-enrich-item__icon--attesteerbaar {
    color: var(--zendd-color-green-600);
}
.zendd-wb-enrich-item__icon--handmatig {
    color: var(--zendd-color-amber-600);
}
.zendd-wb-enrich-cluster {
    display: flex;
    gap: var(--zendd-space-2);
}
.zendd-wb-enrich-leeg {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--zendd-space-2);
    padding: var(--zendd-space-6) var(--zendd-space-3);
    color: var(--zendd-text-tertiary);
    text-align: center;
}
.zendd-wb-enrich-leeg p {
    margin: 0;
    font-size: var(--zendd-font-size-xs);
}

/* ── Consolidatie-view (FO-CONSOLIDATIE-VIEW v0.4.0) ──────────────── */

.zendd-consolidatie {
    max-width: 72rem;
    padding: 1.5rem 2rem;
}

.zendd-consolidatie__readonly-notice {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    margin-bottom: 1rem;
}
.zendd-consolidatie__readonly-notice a {
    color: var(--zendd-text-link);
    text-decoration: underline;
}

.zendd-consolidatie__badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.zendd-consolidatie__toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--zendd-surface-secondary);
    border: 1px solid var(--zendd-border-default);
    border-radius: 0.5rem;
}
.zendd-consolidatie__toolbar-divider {
    width: 1px;
    height: 1.5rem;
    background: var(--zendd-border-default);
    flex-shrink: 0;
}
.zendd-consolidatie__filter-group {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}
.zendd-consolidatie__filter-group--grow {
    flex: 1;
    min-width: 8rem;
}
.zendd-consolidatie__filter-label {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--zendd-text-secondary);
    white-space: nowrap;
}
.zendd-consolidatie__filter-chips {
    display: flex;
    gap: 0.25rem;
}
.zendd-consolidatie__toolbar-actions {
    display: flex;
    gap: 0.25rem;
    margin-left: auto;
}

/* Filter chips */
.zendd-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    font-size: 0.6875rem;
    font-weight: 500;
    border: 1px solid var(--zendd-border-default);
    border-radius: 1rem;
    background: var(--zendd-surface-primary);
    color: var(--zendd-text-secondary);
    cursor: pointer;
    transition: all var(--zendd-transition-fast);
    user-select: none;
}
.zendd-chip:hover {
    border-color: var(--zendd-border-strong);
    color: var(--zendd-text-primary);
}
.zendd-chip--active.zendd-chip--info {
    background: var(--zendd-alert-info-background-color);
    border-color: var(--zendd-border-info);
    color: var(--zendd-alert-info-color);
}
.zendd-chip--active.zendd-chip--warning {
    background: var(--zendd-alert-warning-background-color);
    border-color: var(--zendd-border-warning);
    color: var(--zendd-alert-warning-color);
}

/* Small select */
.zendd-select--sm {
    padding: 0.125rem 0.375rem;
    font-size: 0.6875rem;
    min-block-size: auto;
    min-width: 5rem;
}

/* Small input */
.zendd-input--sm {
    padding: 0.125rem 0.5rem;
    font-size: 0.75rem;
    border: 1px solid var(--zendd-input-border-color);
    border-radius: var(--zendd-input-border-radius);
    background: var(--zendd-surface-primary);
    color: var(--zendd-text-primary);
    width: 100%;
}
.zendd-input--sm:focus {
    outline: none;
    border-color: var(--zendd-input-focus-border-color);
    box-shadow: 0 0 0 2px var(--zendd-input-focus-ring-color);
}

.zendd-consolidatie__gemeente-selector {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.zendd-consolidatie__gemeente-selector .zendd-label {
    font-size: var(--zendd-font-size-sm);
    font-weight: 500;
    white-space: nowrap;
}
.zendd-consolidatie__gemeente-selector .zendd-select {
    min-width: 16rem;
    padding: var(--zendd-input-padding);
    font-size: var(--zendd-input-font-size);
    line-height: 1.5;
    color: var(--zendd-text-primary);
    background-color: var(--zendd-surface-primary);
    border: 1px solid var(--zendd-input-border-color);
    border-radius: var(--zendd-input-border-radius);
    min-block-size: var(--zendd-input-min-block-size);
    cursor: pointer;
    transition: border-color var(--zendd-transition-fast), box-shadow var(--zendd-transition-fast);
}
.zendd-consolidatie__gemeente-selector .zendd-select:focus {
    outline: none;
    border-color: var(--zendd-input-focus-border-color);
    box-shadow: 0 0 0 3px var(--zendd-input-focus-ring-color);
}
.zendd-consolidatie__gemeente-selector .zendd-select:hover {
    border-color: var(--zendd-border-strong);
}

/* View-indicator */
.zendd-consolidatie__view-indicator {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
    background: var(--zendd-surface-secondary);
    border: 1px solid var(--zendd-border-default);
    border-radius: 0.5rem;
    font-size: var(--zendd-font-size-sm);
}

/* Slot-blok (gebruikt als <details> in pivot-view, <section> in flat-view) */
.zendd-consolidatie__slot {
    margin-bottom: 1.5rem;
    border: 1px solid var(--zendd-border-default);
    border-radius: 0.5rem;
    background: var(--zendd-surface-primary);
    overflow: hidden;
}
.zendd-consolidatie__slot-titel {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--zendd-text-primary);
}
/* Flat-view: titel met padding + border */
section.zendd-consolidatie__slot .zendd-consolidatie__slot-titel {
    padding: 0.625rem 1rem;
    background: var(--zendd-surface-secondary);
    border-bottom: 1px solid var(--zendd-border-default);
}
/* Pivot-view: summary als clickable header */
.zendd-consolidatie__slot-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 1rem;
    background: var(--zendd-surface-secondary);
    border-bottom: 1px solid var(--zendd-border-default);
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.zendd-consolidatie__slot-summary::-webkit-details-marker {
    display: none;
}
.zendd-consolidatie__slot-summary::before {
    content: "▶";
    font-size: 0.625rem;
    margin-right: 0.5rem;
    transition: transform 0.15s ease;
    color: var(--zendd-text-secondary);
}
details[open] > .zendd-consolidatie__slot-summary::before {
    transform: rotate(90deg);
}
.zendd-consolidatie__slot-left {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.zendd-consolidatie__slot-body {
    padding: 0.75rem 1rem;
}

/* ── Artikel-groep (pivot-view niveau 2) ── */
.zendd-artikel-groep {
    border-left: 3px solid var(--zendd-border-info);
    padding-left: 1rem;
    margin-bottom: 1rem;
}
.zendd-artikel-groep--discretionair {
    border-left-style: dashed;
    border-left-color: var(--zendd-border-warning);
}
.zendd-artikel-groep__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.375rem 0;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid var(--zendd-border-default);
}
.zendd-artikel-groep__header-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.zendd-artikel-groep__drd-hint {
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--zendd-text-tertiary);
    padding: 0.125rem 0.375rem;
    border: 1px solid var(--zendd-border-default);
    border-radius: 0.25rem;
}

/* ── Analyse-toggle (sidebar filter) ── */
.zendd-wb-analyse-toggle {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--zendd-border-default);
}
.zendd-wb-analyse-toggle__label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.75rem;
    color: var(--zendd-text-secondary);
}
.zendd-wb-analyse-toggle__checkbox {
    accent-color: var(--zendd-color-primary);
}

/* ── Artikel-ref link (klikbaar in werkbank analyse-modus) ── */
.zendd-artikel-ref-link {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--zendd-text-link);
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 2px;
}
.zendd-artikel-ref-link:hover {
    color: var(--zendd-text-link-hover);
    text-decoration-style: solid;
}

/* ── Werkbank analyse-modus wrapper ── */
.zendd-wb-analyse {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.zendd-wb-analyse__content {
    overflow-y: auto;
    max-height: calc(100vh - 14rem);
    padding-right: 0.25rem;
}

/* ── Norm-groep (pivot-view niveau 3: register/parameter) ── */
.zendd-norm-groep {
    margin-bottom: 0.5rem;
}
.zendd-norm-groep + .zendd-norm-groep {
    margin-top: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--zendd-border-default);
}
.zendd-norm-groep__label {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.375rem;
}
.zendd-norm-groep--register .zendd-norm-groep__label {
    color: var(--zendd-alert-info-color);
}
.zendd-norm-groep--parameter .zendd-norm-groep__label {
    color: var(--zendd-alert-warning-color);
}

/* ── Norm-rij (CSS grid, 4 kolommen) ── */
.zendd-norm-rij {
    display: grid;
    grid-template-columns: 1fr 1fr auto auto;
    gap: 0.5rem;
    padding: 0.25rem 0;
    align-items: center;
    font-size: var(--zendd-font-size-sm);
    border-bottom: 1px solid var(--zendd-border-default);
}
.zendd-norm-rij:last-child {
    border-bottom: none;
}
.zendd-norm-rij__eigenschap {
    font-weight: 500;
    color: var(--zendd-text-primary);
}
.zendd-norm-rij__eigenschap[title] {
    cursor: help;
}
.zendd-norm-rij__norm {
    color: var(--zendd-text-secondary);
}

/* Spacer badge (behoudt grid-kolom breedte zonder zichtbare content) */
.zendd-badge--spacer {
    visibility: hidden;
}

/* Responsive: stack op mobiel */
@media (max-width: 640px) {
    .zendd-norm-rij {
        grid-template-columns: 1fr 1fr;
    }
    .zendd-consolidatie__slot-summary {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.375rem;
    }
}

/* Betrokkene-blok */
.zendd-consolidatie__betrokkene {
    margin-bottom: 1.5rem;
    border: 1px solid var(--zendd-border-default);
    border-radius: 0.5rem;
    background: var(--zendd-surface-primary);
    overflow: hidden;
}

.zendd-consolidatie__betrokkene-header {
    padding: 0.75rem 1rem;
    background: var(--zendd-surface-secondary);
    border-bottom: 1px solid var(--zendd-border-default);
}

.zendd-consolidatie__betrokkene-titel {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--zendd-text-primary);
}

.zendd-consolidatie__aliassen {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    margin: 0.25rem 0 0;
}

/* Normen-sectie */
.zendd-consolidatie__normen-sectie {
    padding: 0.75rem 1rem;
}
.zendd-consolidatie__normen-sectie + .zendd-consolidatie__normen-sectie {
    border-top: 1px solid var(--zendd-border-default);
}

.zendd-consolidatie__normen-kop {
    font-size: var(--zendd-font-size-sm);
    font-weight: 600;
    color: var(--zendd-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.5rem;
}

/* Normen-tabel */
.zendd-consolidatie__tabel {
    width: 100%;
    font-size: var(--zendd-font-size-sm);
    border-collapse: collapse;
}
.zendd-consolidatie__tabel th {
    text-align: left;
    font-weight: 500;
    color: var(--zendd-table-header-color);
    padding: 0.375rem 0.75rem;
    border-bottom: 1px solid var(--zendd-table-header-border-color);
    white-space: nowrap;
}
.zendd-consolidatie__tabel td {
    padding: 0.375rem 0.75rem;
    border-bottom: 1px solid var(--zendd-border-default);
    vertical-align: top;
    color: var(--zendd-text-primary);
}
.zendd-consolidatie__tabel tr:last-child td {
    border-bottom: none;
}
.zendd-consolidatie__tabel tbody tr:nth-child(even) td {
    background: var(--zendd-surface-secondary);
}
.zendd-consolidatie__tabel tr:hover td {
    background: var(--zendd-table-row-hover-background-color);
}

.zendd-consolidatie__waarde {
    display: block;
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-secondary);
}

.zendd-consolidatie__gemeentelijk {
    color: var(--zendd-text-tertiary);
}

/* Relaties */
.zendd-consolidatie__relaties {
    margin-bottom: 2rem;
}

.zendd-consolidatie__section-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: var(--zendd-text-primary);
}

/* Delta-samenvatting */
.zendd-consolidatie__delta-summary {
    padding: 0.75rem 1rem;
    background: var(--zendd-surface-secondary);
    border-radius: 0.375rem;
    margin-bottom: 1.5rem;
    font-size: var(--zendd-font-size-sm);
}

/* DRD / Beslismodel */
.zendd-consolidatie__drd {
    margin-top: 1.5rem;
    padding: 1rem;
    border: 1px solid var(--zendd-border-default);
    border-radius: 0.5rem;
    background: var(--zendd-surface-primary);
}
.zendd-consolidatie__drd-stats {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    font-size: var(--zendd-font-size-sm);
    margin-bottom: 0.75rem;
    color: var(--zendd-text-primary);
}
.zendd-consolidatie__progress {
    position: relative;
    height: 1.25rem;
    background: var(--zendd-surface-tertiary);
    border-radius: 9999px;
    overflow: hidden;
}
.zendd-consolidatie__progress-bar {
    height: 100%;
    background: var(--zendd-action-primary-color);
    border-radius: 9999px;
    transition: width 0.3s ease;
}
.zendd-consolidatie__progress-label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--zendd-font-size-xs);
    font-weight: 500;
    color: var(--zendd-text-primary);
}

/* Schema modal — gecentreerd, dark-mode compatible */
.zendd-modal {
    border: none;
    border-radius: 0.75rem;
    padding: 0;
    max-width: 40rem;
    width: 90vw;
    max-height: 85vh;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    background: var(--zendd-dialog-background-color);
    color: var(--zendd-text-primary);
    /* Centreren */
    margin: auto;
    position: fixed;
    inset: 0;
    height: fit-content;
}
.zendd-modal::backdrop {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
}
.zendd-modal__content {
    display: flex;
    flex-direction: column;
    max-height: 85vh;
}
.zendd-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--zendd-border-default);
}
.zendd-modal__title {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
    color: var(--zendd-text-primary);
}
.zendd-modal__close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--zendd-text-tertiary);
    padding: 0.25rem;
    line-height: 1;
}
.zendd-modal__close:hover {
    color: var(--zendd-text-primary);
}
.zendd-modal__body {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
}
.zendd-modal__intro {
    margin: 0 0 1.25rem;
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
}
.zendd-modal__schema-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
    padding: 0;
}
.zendd-modal__schema-item {
    padding: 0.75rem 1rem;
    background: var(--zendd-surface-secondary);
    border-radius: 0.375rem;
}
.zendd-modal__schema-term {
    font-weight: 600;
    font-size: var(--zendd-font-size-sm);
    margin: 0 0 0.25rem;
    color: var(--zendd-text-primary);
}
.zendd-modal__schema-class {
    font-weight: 400;
    color: var(--zendd-action-primary-color);
}
.zendd-modal__schema-def {
    font-size: var(--zendd-font-size-sm);
    color: var(--zendd-text-secondary);
    margin: 0;
}
.zendd-modal__footer {
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--zendd-border-default);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.zendd-modal__source {
    font-size: var(--zendd-font-size-xs);
    color: var(--zendd-text-tertiary);
    margin: 0;
    flex: 1;
}

/* Utility: text color helpers */
.zendd-text--success { color: var(--zendd-feedback-success-color); }
.zendd-text--danger { color: var(--zendd-feedback-error-color); }

/* ═══════════════════════════════════════════════════════════════
   Werkbank Lid Component (TO-werkbank-lid-component v0.3.0)
   C-02 ingeklapt, C-03 inspecteer, C-04 bewerk
   ═══════════════════════════════════════════════════════════════ */

.zendd-wb-lid {
  border: 1px solid var(--zendd-border-default-color, #e2e8f0);
  border-radius: var(--zendd-border-radius, 0.5rem);
  margin-block-end: var(--zendd-space-200, 0.5rem);
  background: var(--zendd-surface-color, #fff);
  transition: border-color 0.15s ease;
}

.zendd-wb-lid--empty { border-style: dashed; border-color: var(--zendd-border-default-color, #cbd5e1); }
.zendd-wb-lid--error { border-color: var(--zendd-feedback-error-color, #dc2626); }
.zendd-wb-lid--expanded { border-color: var(--zendd-action-primary-color, #2563eb); border-width: 1.5px; }
.zendd-wb-lid--bewerk { border-color: var(--zendd-feedback-warning-color, #d97706); border-width: 1.5px; }
.zendd-wb-lid--definitie { border-color: var(--zendd-border-default-color, #cbd5e1); opacity: 0.7; }

.zendd-wb-lid__header {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-300, 0.75rem);
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  width: 100%;
  min-block-size: 44px; /* WCAG touch target */
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: start;
  font: inherit;
  color: inherit;
}

.zendd-wb-lid__header:hover { background: var(--zendd-surface-hover-color, #f8fafc); }
.zendd-wb-lid__header:focus-visible {
  outline: 2px solid var(--zendd-action-primary-color, #2563eb);
  outline-offset: -2px;
  border-radius: var(--zendd-border-radius, 0.5rem);
}

.zendd-wb-lid__label {
  font-weight: 600;
  white-space: nowrap;
  font-size: var(--zendd-font-size-100, 0.875rem);
}

.zendd-wb-lid__tekst-preview {
  color: var(--zendd-text-secondary-color, #64748b);
  font-size: var(--zendd-font-size-100, 0.875rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.zendd-wb-lid__badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background: var(--zendd-surface-info-color, #eff6ff);
  color: var(--zendd-action-primary-color, #2563eb);
  white-space: nowrap;
}

.zendd-wb-lid__classificatie {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background: var(--zendd-surface-info-color, #eff6ff);
  color: var(--zendd-action-primary-color, #2563eb);
}

.zendd-wb-lid__modus-label {
  color: var(--zendd-feedback-warning-color, #d97706);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.zendd-wb-lid__chevron {
  flex-shrink: 0;
  color: var(--zendd-text-secondary-color, #94a3b8);
  transition: transform 0.15s ease;
}

.zendd-wb-lid__body {
  padding: 0 var(--zendd-space-400, 1rem) var(--zendd-space-400, 1rem);
}

.zendd-wb-lid__wettekst {
  font-style: italic;
  color: var(--zendd-text-primary-color, #1e293b);
  margin-block-end: var(--zendd-space-300, 0.75rem);
  line-height: 1.6;
}

.zendd-wb-lid__samenvatting {
  font-size: var(--zendd-font-size-100, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
  margin-block-end: var(--zendd-space-200, 0.5rem);
}

.zendd-wb-lid__empty-state {
  color: var(--zendd-text-secondary-color, #64748b);
  font-style: italic;
  margin-block-end: var(--zendd-space-300, 0.75rem);
}

.zendd-wb-lid__error-detail {
  color: var(--zendd-feedback-error-color, #dc2626);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  background: var(--zendd-surface-error-color, #fff5f5);
  border: 1px solid var(--zendd-feedback-error-color, #dc2626);
  border-radius: var(--zendd-border-radius, 0.5rem);
  margin-block-end: var(--zendd-space-300, 0.75rem);
}

.zendd-wb-lid__acties {
  display: flex;
  gap: var(--zendd-space-200, 0.5rem);
  margin-block-start: var(--zendd-space-300, 0.75rem);
}

.zendd-wb-lid__delta-slot:empty { display: none; }

/* ═══ Werkbank Rebuild — dim state ═══ */

.zendd-wb-lid--dim {
  opacity: 0.5;
  border-style: dashed;
  border-color: var(--zendd-border-default-color, #cbd5e1);
}
.zendd-wb-lid--dim .zendd-wb-lid__header { cursor: default; }
.zendd-wb-lid--dim .zendd-wb-lid__header:hover { background: transparent; }

/* ═══ Werkbank Rebuild — Tab-navigatie ═══ */

.zendd-wb-tabs {
  display: flex;
  gap: var(--zendd-space-100, 0.25rem);
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
  padding-inline: var(--zendd-space-300, 0.75rem);
}

.zendd-wb-tabs__tab {
  position: relative;
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-400, 1rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  font-weight: 500;
  color: var(--zendd-text-secondary-color, #64748b);
  background: transparent;
  border: none;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}

.zendd-wb-tabs__tab:hover {
  color: var(--zendd-text-primary-color, #1e293b);
}

.zendd-wb-tabs__tab--active {
  color: var(--zendd-action-primary-color, #2563eb);
  border-bottom-color: var(--zendd-action-primary-color, #2563eb);
}

.zendd-wb-tabs__tab--stale {
  color: var(--zendd-text-secondary-color, #64748b);
}

.zendd-wb-tabs__stale-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--zendd-feedback-warning-color, #d97706);
  margin-inline-start: var(--zendd-space-100, 0.25rem);
  vertical-align: middle;
}

/* ═══ Werkbank Rebuild — Trechter-toggles ═══ */

.zendd-wb-trechter {
  display: flex;
  gap: var(--zendd-space-100, 0.25rem);
  padding: var(--zendd-space-100, 0.25rem);
  background: var(--zendd-surface-secondary-color, #f1f5f9);
  border-radius: var(--zendd-border-radius-md, 0.375rem);
}

.zendd-wb-trechter__btn {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  font-weight: 500;
  color: var(--zendd-text-secondary-color, #64748b);
  background: transparent;
  border: none;
  border-radius: var(--zendd-border-radius-sm, 0.25rem);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.zendd-wb-trechter__btn:hover {
  background: var(--zendd-surface-hover-color, #e2e8f0);
}

.zendd-wb-trechter__btn--active {
  background: #fff;
  color: var(--zendd-text-primary-color, #1e293b);
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

.zendd-wb-trechter__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 var(--zendd-space-100, 0.25rem);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 600;
  border-radius: 9999px;
  background: var(--zendd-surface-secondary-color, #e2e8f0);
  color: var(--zendd-text-secondary-color, #64748b);
}

.zendd-wb-trechter__btn--active .zendd-wb-trechter__count {
  background: var(--zendd-action-primary-color, #2563eb);
  color: #fff;
}

/* ═══ Werkbank Rebuild — Trechter-reden ═══ */

.zendd-wb-trechter-reden {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-100, 0.25rem) var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  font-style: italic;
}

.zendd-wb-trechter-reden__dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--zendd-border-default-color, #cbd5e1);
  flex-shrink: 0;
}

/* ═══ Werkbank Rebuild — Shell layout (TO-werkblad-leesview v0.6.0) ═══ */

.zendd-wb-shell {
  display: grid;
  grid-template-columns: 1fr 320px;
  height: calc(100vh - 56px); /* minus header */
  overflow: hidden;
}

@media (max-width: 1024px) {
  .zendd-wb-shell {
    grid-template-columns: 1fr;
    height: auto;
    overflow: auto;
  }
  .zendd-wb-chat { display: none; }
}

/* ── Werkbank tabs ── */

.zendd-wb-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--zendd-color-neutral-200, #e5e7eb);
  padding: 0 var(--zendd-space-400, 1rem);
  background: var(--zendd-color-neutral-50, #f9fafb);
}

.zendd-wb-tabs__tab {
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--zendd-color-neutral-500, #6b7280);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.zendd-wb-tabs__tab:hover {
  color: var(--zendd-color-primary-600, #6d28d9);
}

.zendd-wb-tabs__tab--active {
  color: var(--zendd-color-primary-600, #6d28d9);
  border-bottom-color: var(--zendd-color-primary-600, #6d28d9);
  font-weight: 600;
}

.zendd-wb-main {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zendd-wb-main__content {
  flex: 1;
  overflow-y: auto;
  padding: var(--zendd-space-400, 1rem);
}

/* ── Werkblad leesview (TO-werkblad-leesview S2) ── */

.zendd-wb-werkblad {
  display: flex;
  flex-direction: column;
  gap: var(--zendd-space-400, 1rem);
}

/* Grondslag-blok */
.zendd-wb-grondslag {
  border: 2px solid var(--zendd-accent-color, #2563eb);
  border-radius: var(--zendd-radius-md, 0.5rem);
  padding: var(--zendd-space-400, 1rem);
  background: var(--zendd-surface-accent-subtle, #eff6ff);
}
.zendd-wb-grondslag__label {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--zendd-accent-color, #2563eb);
  margin-bottom: var(--zendd-space-100, 0.25rem);
}
.zendd-wb-grondslag__header {
  display: flex;
  align-items: baseline;
  gap: var(--zendd-space-200, 0.5rem);
  margin-bottom: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-grondslag__artikel {
  font-weight: 600;
  font-size: var(--zendd-font-size-base, 1rem);
  color: var(--zendd-text-primary-color, #1e293b);
}
.zendd-wb-grondslag__wet {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
}
.zendd-wb-grondslag__tekst {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  line-height: 1.6;
  color: var(--zendd-text-primary-color, #1e293b);
  white-space: pre-line;
}

/* Lens-filter knoppen */
.zendd-wb-lens {
  display: flex;
  gap: var(--zendd-space-100, 0.25rem);
  padding: var(--zendd-space-200, 0.5rem) 0;
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
}
.zendd-wb-lens__btn {
  padding: var(--zendd-space-100, 0.25rem) var(--zendd-space-300, 0.75rem);
  border: 1px solid var(--zendd-border-default-color, #e2e8f0);
  border-radius: var(--zendd-radius-sm, 0.25rem);
  background: var(--zendd-surface-primary-color, #fff);
  color: var(--zendd-text-secondary-color, #64748b);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  cursor: pointer;
  transition: all 0.15s;
}
.zendd-wb-lens__btn:hover {
  background: var(--zendd-surface-secondary-color, #f8fafc);
  color: var(--zendd-text-primary-color, #1e293b);
}
.zendd-wb-lens__btn--active {
  background: var(--zendd-accent-color, #2563eb);
  color: #fff;
  border-color: var(--zendd-accent-color, #2563eb);
}

/* Widget-container */
.zendd-wb-widgets {
  display: flex;
  flex-direction: column;
  gap: var(--zendd-space-600, 1.5rem);
}

/* Tekst-widget */
.zendd-wb-widget {
  border: 1px solid var(--zendd-border-default-color, #e2e8f0);
  border-radius: var(--zendd-radius-md, 0.5rem);
  overflow: hidden;
}
.zendd-wb-widget__header {
  display: flex;
  align-items: baseline;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  background: var(--zendd-surface-secondary-color, #f8fafc);
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
}
.zendd-wb-widget__titel {
  font-size: var(--zendd-font-size-base, 1rem);
  font-weight: 600;
  color: var(--zendd-text-primary-color, #1e293b);
  margin: 0;
}
.zendd-wb-widget__bron {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  font-family: var(--zendd-font-family-mono, ui-monospace, monospace);
}
.zendd-wb-widget__artikelen {
  padding: var(--zendd-space-200, 0.5rem);
}

/* Artikel-blok */
.zendd-wb-artikel {
  margin-bottom: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-artikel__header {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  font-weight: 600;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-primary-color, #1e293b);
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
}
.zendd-wb-artikel--relevant .zendd-wb-artikel__header {
  border-left: 3px solid var(--zendd-accent-color, #2563eb);
}
.zendd-wb-artikel--vertaald .zendd-wb-artikel__header {
  border-left: 3px solid var(--zendd-success-color, #16a34a);
}

/* Badge */
.zendd-wb-badge { font-size: var(--zendd-font-size-xs, 0.75rem); }
.zendd-wb-badge--relevant { color: var(--zendd-accent-color, #2563eb); }
.zendd-wb-badge--vertaald { color: var(--zendd-success-color, #16a34a); }

/* Lid-blok — leesview (scoped onder .zendd-wb-widget, voorkomt conflict met lid-component) */
.zendd-wb-widget .zendd-wb-lid {
  display: flex;
  align-items: flex-start;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  line-height: 1.6;
  color: var(--zendd-text-primary-color, #1e293b);
  border: none;
  border-radius: 0;
  margin-block-end: 0;
  background: transparent;
  transition: opacity 0.2s;
  cursor: pointer;
}
.zendd-wb-widget .zendd-wb-lid:hover {
  background: var(--zendd-surface-secondary-color, #f8fafc);
}
.zendd-wb-widget .zendd-wb-lid__tekst {
  flex: 1;
  white-space: pre-line;
}
.zendd-wb-widget .zendd-wb-lid__select {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--zendd-border-default-color, #e2e8f0);
  border-radius: 50%;
  background: var(--zendd-surface-primary-color, #fff);
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.15s;
}
.zendd-wb-widget .zendd-wb-lid__select:hover {
  border-color: var(--zendd-accent-color, #2563eb);
  background: var(--zendd-surface-accent-subtle, #eff6ff);
}

/* Hoofdstuk-accordion (BWB lazy load) */
.zendd-wb-widget__hoofdstukken {
  padding: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-hoofdstuk {
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
}
.zendd-wb-hoofdstuk__header {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-300, 0.75rem);
  cursor: pointer;
  user-select: none;
  list-style: none;
}
.zendd-wb-hoofdstuk__header::-webkit-details-marker { display: none; }
.zendd-wb-hoofdstuk__header::before {
  content: "▶";
  font-size: 0.65rem;
  color: var(--zendd-text-secondary-color, #64748b);
  transition: transform 0.15s;
}
details.zendd-wb-hoofdstuk[open] > .zendd-wb-hoofdstuk__header::before {
  transform: rotate(90deg);
}
.zendd-wb-hoofdstuk__titel {
  font-weight: 600;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-primary-color, #1e293b);
}
.zendd-wb-hoofdstuk__count {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
}
.zendd-wb-hoofdstuk--grondslag > .zendd-wb-hoofdstuk__header {
  background: var(--zendd-surface-accent-subtle, #eff6ff);
}
.zendd-wb-hoofdstuk__content {
  padding: 0 var(--zendd-space-200, 0.5rem) var(--zendd-space-200, 0.5rem);
}

/* Lid-blok dimming (lens-filter S6) — scoped onder widget */
.zendd-wb-widget .zendd-wb-lid.--dim { opacity: 0.3; }
.zendd-wb-widget .zendd-wb-lid.--dim .zendd-wb-lid__select { opacity: 1; } /* knop altijd klikbaar */
.zendd-wb-widget .zendd-wb-lid--concept { border-left: 3px dashed var(--zendd-accent-color, #2563eb); }
.zendd-wb-widget .zendd-wb-lid--concept .zendd-wb-lid__select { color: var(--zendd-accent-color, #2563eb); }

/* Artikel-niveau dimming: alle leden gedempt → artikel ook gedempt */
.zendd-wb-widget .zendd-wb-artikel.--dim { opacity: 0.3; transition: opacity 0.2s; }
.zendd-wb-widget .zendd-wb-artikel.--dim .zendd-wb-lid { opacity: 1; } /* voorkom dubbele dim */

/* Classificatie-label naast ★/● */
.zendd-wb-lid__cls {
  font-size: var(--zendd-font-size-xs, 0.625rem);
  color: var(--zendd-success-color, #16a34a);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
  font-weight: 600;
}
.zendd-wb-lid__cls--schema {
  color: var(--zendd-text-secondary-color, #64748b);
  font-weight: 400;
}
/* S4: Klikbare classificatie-badge met decision link */
.zendd-wb-lid__cls[data-jump-decision] {
  cursor: pointer;
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}
.zendd-wb-lid__cls[data-jump-decision]:hover {
  color: var(--zendd-accent-color, #2563eb);
}

/* Focused lid (S7: geselecteerd voor chat-context) — scoped */
.zendd-wb-widget .zendd-wb-lid--focused {
  outline: 2px solid var(--zendd-accent-color, #2563eb);
  outline-offset: -1px;
  background: var(--zendd-surface-accent-subtle, #eff6ff);
}

/* ═══ Chat lid-context (S7) ═══ */
.zendd-wb-chat-context {
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
}
.zendd-wb-chat-context__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-chat-context__titel {
  font-weight: 600;
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-chat-context__bron {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  font-weight: 500;
}
.zendd-wb-chat-context__bron--bwb { background: #dbeafe; color: #1e40af; }
.zendd-wb-chat-context__bron--cvdr { background: #dcfce7; color: #166534; }
.zendd-wb-chat-context__status {
  display: flex;
  gap: var(--zendd-space-200, 0.5rem);
  align-items: center;
  margin-bottom: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-chat-context__badge {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 500;
}
.zendd-wb-chat-context__badge--vertaald { color: var(--zendd-success-color, #16a34a); }
.zendd-wb-chat-context__badge--relevant { color: var(--zendd-accent-color, #2563eb); }
.zendd-wb-chat-context__badge--geen { color: var(--zendd-text-secondary-color, #64748b); }
.zendd-wb-chat-context__classificatie {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  background: var(--zendd-surface-secondary-color, #f1f5f9);
  color: var(--zendd-text-secondary-color, #64748b);
}
.zendd-wb-chat-context__tekst {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  line-height: 1.6;
  color: var(--zendd-text-primary-color, #1e293b);
  padding: var(--zendd-space-200, 0.5rem);
  background: #fff;
  border: 1px solid var(--zendd-border-default-color, #e2e8f0);
  border-radius: var(--zendd-border-radius, 0.5rem);
  margin-bottom: var(--zendd-space-300, 0.75rem);
  white-space: pre-line;
  max-height: 12rem;
  overflow-y: auto;
}
.zendd-wb-chat-context__tekst--leeg { font-style: italic; color: var(--zendd-text-secondary-color, #64748b); }
.zendd-wb-chat-context__acties {
  display: flex;
  gap: var(--zendd-space-200, 0.5rem);
  flex-wrap: wrap;
}
.zendd-wb-chat-context__actie {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  padding: var(--zendd-space-100, 0.25rem) var(--zendd-space-300, 0.75rem);
  border: 1px solid var(--zendd-border-default-color, #e2e8f0);
  border-radius: var(--zendd-border-radius, 0.5rem);
  background: #fff;
  cursor: pointer;
  transition: all 0.15s;
}
.zendd-wb-chat-context__actie:hover:not(:disabled) {
  background: var(--zendd-surface-secondary-color, #f8fafc);
  border-color: var(--zendd-accent-color, #2563eb);
}
.zendd-wb-chat-context__actie:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.zendd-wb-chat-context__actie--primary {
  background: var(--zendd-accent-color, #2563eb);
  color: #fff;
  border-color: var(--zendd-accent-color, #2563eb);
}
.zendd-wb-chat-context__actie--success {
  background: var(--zendd-success-color, #16a34a);
  color: #fff;
  border-color: var(--zendd-success-color, #16a34a);
}
.zendd-wb-chat-context__agents {
  display: flex;
  gap: var(--zendd-space-200, 0.5rem);
  flex-wrap: wrap;
  margin-bottom: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-chat-context__response {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  margin-bottom: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-chat-context__response:empty {
  display: none;
}
.zendd-wb-chat-context__spinner {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  padding: var(--zendd-space-200, 0.5rem) 0;
}

/* ─── Instapknop: chat-driven werkbank interactie (TO-chat-driven S4) ─── */
.zendd-wb-instap {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-sm, 0.25rem);
  background: transparent;
  color: var(--zendd-text-secondary-color, #64748b);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
  flex-shrink: 0;
}
.zendd-wb-instap:hover {
  border-color: var(--zendd-primary-color, #3b82f6);
  color: var(--zendd-primary-color, #3b82f6);
  background: var(--zendd-primary-bg, #eff6ff);
}
.zendd-wb-instap__icon {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.zendd-wb-instap__label {
  line-height: 1;
}
.zendd-wb-werkblad__toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 0.25rem 0;
}

/* ─── Betrokkene-chips in chat-lid-context ─── */
.zendd-wb-chat-context__betrokkenen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0;
}
.zendd-wb-chat-context__betrokkenen .zendd-wb-chat-context__label {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  margin-right: 0.125rem;
}
.zendd-wb-chat-context__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  border-radius: var(--zendd-radius-full, 9999px);
  background: var(--zendd-color-purple-50, #faf5ff);
  color: var(--zendd-color-purple-700, #7e22ce);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 500;
  cursor: default;
}
.zendd-wb-chat-context__chip .zendd-wb-instap {
  border: none;
  padding: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  opacity: 0.6;
}
.zendd-wb-chat-context__chip .zendd-wb-instap:hover {
  opacity: 1;
  background: transparent;
  color: var(--zendd-color-purple-900, #581c87);
}
.zendd-wb-chat-context__chip .zendd-wb-instap__label {
  display: none;
}
.zendd-wb-chat-context__chip .zendd-wb-instap__icon {
  width: 0.75rem;
  height: 0.75rem;
}

/* ── Classificatie badge ── */
.zendd-cls-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  border: 1px solid transparent;
  white-space: nowrap;
  vertical-align: middle;
}
.zendd-cls-badge__icon {
  font-size: 0.875rem;
}
.zendd-cls-badge__label {
  font-weight: 500;
}
.zendd-cls-badge__cat {
  font-size: 0.625rem;
  opacity: 0.7;
  text-transform: lowercase;
}

/* Status kleuren */
.zendd-cls-badge--nieuw {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #64748b;
}
.zendd-cls-badge--ai_geclassificeerd {
  background: #ede9fe;
  border-color: #c4b5fd;
  color: #6d28d9;
}
.zendd-cls-badge--vhic_beoordeeld {
  background: #dcfce7;
  border-color: #86efac;
  color: #15803d;
}
.zendd-cls-badge--ai_fout {
  background: #fef2f2;
  border-color: #fca5a5;
  color: #b91c1c;
}
.zendd-cls-badge--herclassificatie_aangevraagd {
  background: #fef9c3;
  border-color: #fde047;
  color: #a16207;
}
.zendd-cls-badge--signaalwoord_actief {
  background: #fff7ed;
  border-color: #fdba74;
  color: #c2410c;
}

/* Oordeel labels */
.zendd-cls-badge__label--ja {
  color: inherit;
}
.zendd-cls-badge__label--nee {
  opacity: 0.8;
}
.zendd-cls-badge__label--fout {
  color: inherit;
  font-style: italic;
}

/* Herclassificeer-knop */
.zendd-cls-badge__herclassificeer {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.75rem;
  padding: 0 0.125rem;
  margin-left: 0.125rem;
  opacity: 0.5;
  transition: opacity 0.15s;
  color: inherit;
  line-height: 1;
}
.zendd-cls-badge__herclassificeer:hover {
  opacity: 1;
}
.zendd-cls-badge__herclassificeer:disabled {
  cursor: wait;
  opacity: 0.3;
}

.zendd-wb-chat {
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--zendd-border-default-color, #e2e8f0);
  overflow: hidden;
  background: var(--zendd-surface-secondary-color, #fafbfc);
}
/* Lid-context boven chat: scrollbaar, max 40% hoogte */
.zendd-wb-chat > #chat-context:not(:empty) {
  max-height: 40%;
  overflow-y: auto;
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
}
/* Chat-panel vult resterende ruimte */
.zendd-wb-chat > .zendd-chat-panel {
  flex: 1;
  min-height: 0;
}

.zendd-wb-chat__header {
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
}

.zendd-wb-chat__titel {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  font-weight: 600;
  color: var(--zendd-text-primary-color, #1e293b);
}

.zendd-wb-chat__body {
  flex: 1;
  overflow-y: auto;
  padding: var(--zendd-space-300, 0.75rem);
}

/* ═══ Werkbank Rebuild — Placeholder ═══ */

.zendd-wb-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--zendd-space-300, 0.75rem);
  padding: var(--zendd-space-800, 3rem);
  color: var(--zendd-text-secondary-color, #94a3b8);
  text-align: center;
}

.zendd-wb-placeholder p {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  max-width: 280px;
}

/* ═══ Werkbank Rebuild S2 — Artikellijst + Werkblad ═══ */

.zendd-wb-bron-label {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-100, 0.25rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  border-bottom: 1px solid var(--zendd-border-color, #e2e8f0);
}

.zendd-wb-bron-label__type {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background: var(--zendd-surface-info, #eff6ff);
  color: var(--zendd-text-info, #1d4ed8);
}

.zendd-wb-bron-label__code {
  font-family: var(--zendd-font-mono, monospace);
  font-size: 0.6875rem;
}

.zendd-wb-artikel-nav {
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow-y: auto;
  flex: 1;
}

.zendd-wb-artikel-nav__item {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-default-color, #1e293b);
  transition: background-color 0.15s ease;
  width: 100%;
  border-left: 3px solid transparent;
}

.zendd-wb-artikel-nav__item:hover:not(.zendd-wb-artikel-nav__item--dim) {
  background: var(--zendd-surface-secondary-color, #f8fafc);
  border-left-color: var(--zendd-color-primary, #6366f1);
}

.zendd-wb-artikel-nav__item--active {
  background: var(--zendd-surface-secondary-color, #f8fafc);
  border-left-color: var(--zendd-color-primary, #6366f1);
  font-weight: 600;
}

.zendd-wb-artikel-nav__item--dim {
  opacity: 0.5;
  cursor: default;
}

.zendd-wb-artikel-nav__nr {
  font-weight: 600;
  white-space: nowrap;
  min-width: 3.5rem;
  color: var(--zendd-text-muted-color, #64748b);
  font-size: var(--zendd-font-size-xs, 0.75rem);
}

.zendd-wb-artikel-nav__titel {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zendd-wb-artikel-nav__count {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  background: var(--zendd-color-primary, #6366f1);
  color: white;
  border-radius: 9999px;
  min-width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.375rem;
  font-weight: 600;
}

.zendd-wb-artikel-nav__dim-reden {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-muted-color, #64748b);
  font-style: italic;
  margin-left: auto;
}

/* ═══ Werkbank Rebuild — Decision-detail card ═══ */

.zendd-wb-decision {
  border: 1px solid var(--zendd-border-default-color, #e2e8f0);
  border-radius: var(--zendd-border-radius-md, 0.375rem);
  overflow: hidden;
}

.zendd-wb-decision__header {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  background: var(--zendd-surface-secondary-color, #f8fafc);
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
}

.zendd-wb-decision__naam {
  font-family: var(--zendd-font-family-mono, ui-monospace, monospace);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  font-weight: 600;
  color: var(--zendd-text-primary-color, #1e293b);
}

.zendd-wb-decision__meta {
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-400, 1rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
}

.zendd-wb-decision__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--zendd-font-size-sm, 0.875rem);
}

.zendd-wb-decision__table th {
  text-align: left;
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-400, 1rem);
  background: var(--zendd-surface-secondary-color, #f1f5f9);
  border-bottom: 1px solid var(--zendd-border-default-color, #e2e8f0);
  font-weight: 600;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--zendd-text-secondary-color, #64748b);
}

.zendd-wb-decision__table td {
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-400, 1rem);
  border-bottom: 1px solid var(--zendd-border-default-color, #f1f5f9);
  color: var(--zendd-text-primary-color, #1e293b);
}

.zendd-wb-decision__table code {
  font-family: var(--zendd-font-family-mono, ui-monospace, monospace);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  background: var(--zendd-surface-secondary-color, #f1f5f9);
  padding: 0.125rem 0.375rem;
  border-radius: var(--zendd-border-radius-sm, 0.25rem);
}

.zendd-wb-decision__stubs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  border-top: 1px solid var(--zendd-border-default-color, #e2e8f0);
  background: var(--zendd-surface-secondary-color, #fefce8);
}

.zendd-wb-decision__stub-label {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 600;
  color: var(--zendd-text-secondary-color, #64748b);
}

.zendd-wb-decision__stub {
  font-family: var(--zendd-font-family-mono, ui-monospace, monospace);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  border: 1px dashed var(--zendd-feedback-warning-color, #d97706);
  color: var(--zendd-feedback-warning-color, #92400e);
  background: transparent;
}

/* ═══ Status Dot ═══ */

.zendd-status-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  font-size: 0.625rem;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}

.zendd-status-dot--ok { background: var(--zendd-feedback-success-color, #16a34a); color: #fff; }
.zendd-status-dot--validated { background: var(--zendd-feedback-success-color, #16a34a); color: #fff; }
.zendd-status-dot--error { background: var(--zendd-feedback-error-color, #dc2626); color: #fff; }
.zendd-status-dot--empty { border: 1.5px dashed var(--zendd-border-default-color, #94a3b8); background: transparent; }
.zendd-status-dot--definitie { background: var(--zendd-border-default-color, #94a3b8); color: #fff; }

/* ═══ A2 Uitleg ═══ */

.zendd-a2-uitleg {
  background: var(--zendd-surface-info-color, #eff6ff);
  border-left: 3px solid var(--zendd-action-primary-color, #2563eb);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  border-radius: 0 var(--zendd-border-radius, 0.5rem) var(--zendd-border-radius, 0.5rem) 0;
  margin-block-end: var(--zendd-space-300, 0.75rem);
}

.zendd-a2-uitleg__label {
  font-weight: 600;
  font-size: 0.75rem;
  color: var(--zendd-action-primary-color, #2563eb);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  margin-block-end: 0.25rem;
}

.zendd-a2-uitleg__tekst {
  font-size: var(--zendd-font-size-100, 0.875rem);
  color: var(--zendd-text-primary-color, #1e293b);
  line-height: 1.5;
  margin: 0;
}

/* ═══ Regels-tab — TO §7 S3a ═══ */

.zendd-wb-regels {
  display: flex;
  flex-direction: column;
  gap: var(--zendd-space-300, 0.75rem);
}

/* DAG container */
.zendd-wb-dag {
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-md, 8px);
  overflow: hidden;
  background: var(--zendd-surface-raised, #f8fafc);
}
.zendd-wb-dag__canvas {
  width: 100%;
  height: 360px;
}
.zendd-wb-dag__empty {
  padding: var(--zendd-space-400, 1rem) var(--zendd-space-600, 1.5rem);
  color: var(--zendd-text-secondary, #64748b);
  font-size: 0.875rem;
  text-align: center;
}
.zendd-wb-dag__empty-detail {
  font-size: 0.75rem;
  margin-top: var(--zendd-space-100, 0.25rem);
  opacity: 0.7;
}

/* Twee-koloms body: lijst links, detail rechts */
.zendd-wb-regels__body {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 2fr;
  gap: var(--zendd-space-400, 1rem);
  min-height: 200px;
}
@media (max-width: 900px) {
  .zendd-wb-regels__body {
    grid-template-columns: 1fr;
  }
}
.zendd-wb-regels__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: var(--zendd-space-200, 0.5rem);
  border-bottom: 1px solid var(--zendd-border-color, #e2e8f0);
}
.zendd-wb-regels__titel {
  margin: 0;
  font-size: var(--zendd-font-size-lg, 1.125rem);
}
.zendd-wb-regels__stats {
  display: flex;
  gap: var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
}
.zendd-wb-regels__stat--stub {
  color: var(--zendd-warning-color, #d97706);
}

/* Decision list items */
.zendd-wb-regels__lijst {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-y: auto;
  max-height: 600px;
}
.zendd-wb-regels__decision {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-300, 0.75rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  border-radius: var(--zendd-radius-sm, 4px);
  cursor: pointer;
  transition: background-color 0.15s;
}
.zendd-wb-regels__decision:hover {
  background-color: var(--zendd-surface-hover, #f1f5f9);
}
.zendd-wb-regels__decision--stub {
  opacity: 0.7;
}
.zendd-wb-regels__decision--active {
  background-color: var(--zendd-surface-hover, #f1f5f9);
  box-shadow: inset 3px 0 0 var(--zendd-action-primary, #2563eb);
}

/* Type badge */
.zendd-wb-regels__type {
  display: inline-block;
  padding: 2px 6px;
  border-radius: var(--zendd-radius-sm, 4px);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
  min-width: 5rem;
  text-align: center;
}
.zendd-wb-regels__type--aggregator { background: #dbeafe; color: #1e40af; }
.zendd-wb-regels__type--uitsluiting { background: #fecaca; color: #991b1b; }
.zendd-wb-regels__type--voorwaarde { background: #fef3c7; color: #92400e; }
.zendd-wb-regels__type--normtoets { background: #d1fae5; color: #065f46; }
.zendd-wb-regels__type--berekening { background: #e0e7ff; color: #3730a3; }
.zendd-wb-regels__type--normenkader { background: #ede9fe; color: #5b21b6; }
.zendd-wb-regels__type--input_stub { background: #f1f5f9; color: #475569; }

/* Decision info */
.zendd-wb-regels__info {
  flex: 1;
  min-width: 0;
}
.zendd-wb-regels__naam {
  display: block;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zendd-wb-regels__artikel {
  display: block;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
}

/* Counts */
.zendd-wb-regels__counts {
  display: flex;
  gap: var(--zendd-space-100, 0.25rem);
}
.zendd-wb-regels__count {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  background: var(--zendd-surface-raised, #f8fafc);
  padding: 1px 4px;
  border-radius: 3px;
}
.zendd-wb-regels__count--stub {
  color: var(--zendd-warning-color, #d97706);
}

/* Hit policy badge */
.zendd-wb-regels__hp {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  font-weight: 600;
  white-space: nowrap;
}

/* Detail container — rechterkolom naast lijst */
.zendd-wb-regels__detail:empty {
  display: none;
}
.zendd-wb-regels__detail:empty + .zendd-wb-regels__lijst {
  grid-column: 1 / -1;
}
.zendd-wb-regels__detail {
  border-left: 1px solid var(--zendd-border-color, #e2e8f0);
  padding-left: var(--zendd-space-400, 1rem);
  overflow-y: auto;
  max-height: 600px;
}

/* ═══ Decision detail ═══ */

.zendd-wb-decision-detail__header {
  display: flex;
  align-items: baseline;
  gap: var(--zendd-space-300, 0.75rem);
  margin-bottom: var(--zendd-space-300, 0.75rem);
}
.zendd-wb-decision-detail__naam {
  margin: 0;
  font-size: var(--zendd-font-size-md, 1rem);
}
.zendd-wb-decision-detail__meta {
  display: flex;
  gap: var(--zendd-space-200, 0.5rem);
  align-items: center;
}
.zendd-wb-decision-detail__hp,
.zendd-wb-decision-detail__artikel {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
}

/* Stub metadata */
.zendd-wb-decision-detail__stub {
  margin-bottom: var(--zendd-space-300, 0.75rem);
}
.zendd-wb-decision-detail__stub-tabel {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  border-collapse: collapse;
}
.zendd-wb-decision-detail__stub-tabel td {
  padding: 2px var(--zendd-space-300, 0.75rem) 2px 0;
}
.zendd-wb-decision-detail__stub-tabel td:first-child {
  font-weight: 600;
  color: var(--zendd-text-secondary-color, #64748b);
}

/* Dependencies */
.zendd-wb-decision-detail__deps {
  margin-bottom: var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-decision-detail__dep {
  display: inline-block;
  background: var(--zendd-surface-raised, #f8fafc);
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: var(--zendd-space-100, 0.25rem);
  font-size: var(--zendd-font-size-xs, 0.75rem);
}

/* Decision table */
.zendd-wb-decision-detail__tabel-wrap {
  overflow-x: auto;
}
.zendd-wb-decision-detail__tabel {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-decision-detail__tabel th,
.zendd-wb-decision-detail__tabel td {
  padding: var(--zendd-space-100, 0.25rem) var(--zendd-space-200, 0.5rem);
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  text-align: left;
}
.zendd-wb-decision-detail__tabel thead th {
  background: var(--zendd-surface-raised, #f8fafc);
  font-weight: 600;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.zendd-wb-decision-detail__th--nr {
  width: 2rem;
  text-align: center;
}
.zendd-wb-decision-detail__td--nr {
  text-align: center;
  color: var(--zendd-text-secondary-color, #64748b);
}
.zendd-wb-decision-detail__th--input {
  background: #eff6ff !important;
}
.zendd-wb-decision-detail__th--output {
  background: #f0fdf4 !important;
}
.zendd-wb-decision-detail__td--input {
  font-family: monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
}
.zendd-wb-decision-detail__td--output {
  font-family: monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  background: #f0fdf4;
}
.zendd-wb-decision-detail__td--desc {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  max-width: 20rem;
}
.zendd-wb-decision-detail__leeg {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
  font-style: italic;
}

/* ═══ DMN Decision Table — TO §7.2 classes ═══ */

.zendd-wb-dt {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-dt th,
.zendd-wb-dt td {
  padding: var(--zendd-space-100, 0.25rem) var(--zendd-space-200, 0.5rem);
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  text-align: left;
}
.zendd-wb-dt thead th {
  background: var(--zendd-surface-raised, #f8fafc);
  font-weight: 600;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  position: sticky;
  top: 0;
  z-index: 1;
}
.zendd-wb-dt__nr {
  width: 2rem;
  text-align: center;
}
.zendd-wb-dt__input {
  background: #eff6ff !important;
}
.zendd-wb-dt__output {
  background: #f0fdf4 !important;
}
.zendd-wb-dt__beschrijving {
  max-width: 16rem;
}
.zendd-wb-dt__input-cel {
  font-family: monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
}
.zendd-wb-dt__output-cel {
  font-family: monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  background: #f0fdf4;
}
.zendd-wb-dt__desc {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
}
/* Fired rule highlight — S3b trace prep */
.zendd-wb-dt__rule--fired {
  background: #dcfce7 !important;
}
.zendd-wb-dt__rule--fired-fail {
  background: #fecaca !important;
}
/* Trace classes — Cytoscape node kleuring (S3b prep) */

/* ═══ Betrokkenen-tab — TO Fase 2, S6 ═══ */

.zendd-wb-betrokkenen {
  display: flex;
  flex-direction: column;
  gap: var(--zendd-space-400, 1rem);
}

.zendd-wb-betrokkenen__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: var(--zendd-space-200, 0.5rem);
  border-bottom: 1px solid var(--zendd-border-color, #e2e8f0);
}
.zendd-wb-betrokkenen__titel {
  margin: 0;
  font-size: var(--zendd-font-size-lg, 1.125rem);
}
.zendd-wb-betrokkenen__stats {
  display: flex;
  gap: var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
}

/* Subject-kaarten grid */
.zendd-wb-betrokkenen__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: var(--zendd-space-400, 1rem);
}
@media (max-width: 900px) {
  .zendd-wb-betrokkenen__grid {
    grid-template-columns: 1fr;
  }
}

/* Subject-kaart */
.zendd-wb-betrokkenen__subject {
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-md, 8px);
  padding: var(--zendd-space-300, 0.75rem);
  background: var(--zendd-surface-raised, #f8fafc);
}
.zendd-wb-betrokkenen__subject-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-betrokkenen__subject-naam {
  margin: 0;
  font-size: var(--zendd-font-size-md, 1rem);
  font-weight: 600;
}
.zendd-wb-betrokkenen__subject-count {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
}

/* Type-badges rij */
.zendd-wb-betrokkenen__type-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--zendd-space-100, 0.25rem);
  margin-bottom: var(--zendd-space-300, 0.75rem);
}

/* Decision-lijst in subject-kaart */
.zendd-wb-betrokkenen__decisions {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 400px;
  overflow-y: auto;
}

/* Decision-rij */
.zendd-wb-betrokkenen__decision {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-100, 0.25rem) var(--zendd-space-200, 0.5rem);
  border-radius: var(--zendd-radius-sm, 4px);
  cursor: pointer;
  transition: background-color 0.15s;
}
.zendd-wb-betrokkenen__decision:hover {
  background-color: var(--zendd-surface-hover, #e2e8f0);
}
.zendd-wb-betrokkenen__decision:focus-visible {
  outline: none;
  box-shadow: inset 3px 0 0 var(--zendd-action-primary, #2563eb);
  background-color: var(--zendd-surface-hover, #f1f5f9);
}
.zendd-wb-betrokkenen__decision-info {
  flex: 1;
  min-width: 0;
}
.zendd-wb-betrokkenen__decision-label {
  display: block;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zendd-wb-betrokkenen__decision-ref {
  display: block;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
}
.zendd-wb-betrokkenen__decision-counts {
  display: flex;
  gap: var(--zendd-space-100, 0.25rem);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
}

/* Gedeelde decisions (details/summary) */
.zendd-wb-betrokkenen__gedeeld {
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-md, 8px);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
}
.zendd-wb-betrokkenen__gedeeld-header {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
  cursor: pointer;
  padding: var(--zendd-space-100, 0.25rem) 0;
}


/* ── Developer Tab (TO-werkbank-rebuild-fase1 §9, Fase 5) ───────── */

.zendd-wb-developer {
  display: flex;
  flex-direction: column;
  gap: var(--zendd-space-500, 1.25rem);
  padding: var(--zendd-space-400, 1rem);
}

/* Widget container */
.zendd-wb-developer__widget {
  background: var(--zendd-surface-default, #fff);
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-lg, 12px);
  overflow: hidden;
}
.zendd-wb-developer__widget-header {
  padding: var(--zendd-space-400, 1rem) var(--zendd-space-500, 1.25rem);
  border-bottom: 1px solid var(--zendd-border-color, #e2e8f0);
  background: var(--zendd-surface-subtle, #f8fafc);
}
.zendd-wb-developer__widget-title {
  font-size: var(--zendd-font-size-base, 1rem);
  font-weight: 600;
  color: var(--zendd-text-color, #1e293b);
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  margin: 0;
}

/* Keys table */
.zendd-wb-developer__keys-body {
  padding: var(--zendd-space-400, 1rem) var(--zendd-space-500, 1.25rem);
}
.zendd-wb-developer__keys-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-developer__keys-table thead {
  background: var(--zendd-surface-subtle, #f8fafc);
}
.zendd-wb-developer__keys-table th {
  text-align: left;
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  font-weight: 500;
  color: var(--zendd-text-secondary-color, #64748b);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.zendd-wb-developer__keys-table td {
  padding: var(--zendd-space-300, 0.75rem);
  border-top: 1px solid var(--zendd-border-color, #e2e8f0);
  color: var(--zendd-text-color, #1e293b);
}
.zendd-wb-developer__keys-table code {
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  background: var(--zendd-color-navy-50, #f0f4ff);
  padding: 0.125rem 0.375rem;
  border-radius: var(--zendd-radius-sm, 4px);
}

/* Key row states */
.zendd-wb-developer__key-row--revoked {
  opacity: 0.5;
}
.zendd-wb-developer__empty {
  text-align: center;
  color: var(--zendd-text-secondary-color, #64748b);
  padding: var(--zendd-space-600, 1.5rem);
}

/* Badges */
.zendd-wb-developer__badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 500;
}
.zendd-wb-developer__badge--active {
  background: var(--zendd-feedback-success-light, #dcfce7);
  color: var(--zendd-feedback-success-color, #16a34a);
}
.zendd-wb-developer__badge--revoked {
  background: var(--zendd-color-coral-50, #fff1f2);
  color: var(--zendd-color-coral-600, #e11d48);
}

/* Expiry warning */
.zendd-wb-developer__expiry-warning {
  color: var(--zendd-feedback-warning-color, #d97706);
  font-weight: 600;
}

/* Create form */
.zendd-wb-developer__create-form {
  display: flex;
  gap: var(--zendd-space-300, 0.75rem);
  margin-top: var(--zendd-space-400, 1rem);
  align-items: center;
}
.zendd-wb-developer__input {
  flex: 1;
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-md, 8px);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  background: var(--zendd-surface-default, #fff);
  color: var(--zendd-text-color, #1e293b);
}
.zendd-wb-developer__input:focus {
  outline: none;
  border-color: var(--zendd-action-primary-color, #7c3aed);
  box-shadow: 0 0 0 3px var(--zendd-action-primary-light, rgba(124, 58, 237, 0.1));
}

/* Buttons */
.zendd-wb-developer__btn {
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-400, 1rem);
  border-radius: var(--zendd-radius-md, 8px);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}
.zendd-wb-developer__btn--create {
  background: var(--zendd-action-primary-color, #7c3aed);
  color: #fff;
  white-space: nowrap;
}
.zendd-wb-developer__btn--create:hover {
  background: var(--zendd-action-primary-hover, #6d28d9);
}
.zendd-wb-developer__btn--revoke {
  background: transparent;
  color: var(--zendd-color-coral-600, #e11d48);
  border: 1px solid var(--zendd-color-coral-200, #fecdd3);
  padding: var(--zendd-space-100, 0.25rem) var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-xs, 0.75rem);
}
.zendd-wb-developer__btn--revoke:hover {
  background: var(--zendd-color-coral-50, #fff1f2);
}

/* Flash messages */
.zendd-wb-developer__flash {
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  border-radius: var(--zendd-radius-md, 8px);
  margin-top: var(--zendd-space-300, 0.75rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-developer__flash--success {
  background: var(--zendd-feedback-success-light, #dcfce7);
  border: 1px solid var(--zendd-feedback-success-muted, #86efac);
  color: var(--zendd-feedback-success-color, #16a34a);
}
.zendd-wb-developer__flash--error {
  background: var(--zendd-color-coral-50, #fff1f2);
  border: 1px solid var(--zendd-color-coral-200, #fecdd3);
  color: var(--zendd-color-coral-600, #e11d48);
}
.zendd-wb-developer__raw-key {
  display: block;
  margin-top: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  background: var(--zendd-surface-dark, #1e293b);
  color: var(--zendd-feedback-success-light, #dcfce7);
  border-radius: var(--zendd-radius-sm, 4px);
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  word-break: break-all;
  cursor: pointer;
}
.zendd-wb-developer__flash small {
  display: block;
  margin-top: var(--zendd-space-100, 0.25rem);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  opacity: 0.8;
}

/* API Docs widget */
.zendd-wb-developer__docs-body {
  padding: var(--zendd-space-400, 1rem) var(--zendd-space-500, 1.25rem);
}
.zendd-wb-developer__docs-intro {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-secondary-color, #64748b);
  margin-bottom: var(--zendd-space-400, 1rem);
  line-height: 1.6;
}
.zendd-wb-developer__docs-intro code {
  background: var(--zendd-color-navy-50, #f0f4ff);
  padding: 0.125rem 0.375rem;
  border-radius: var(--zendd-radius-sm, 4px);
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
}

/* Endpoint groups */
.zendd-wb-developer__endpoint-group {
  margin-bottom: var(--zendd-space-500, 1.25rem);
}
.zendd-wb-developer__group-title {
  font-size: var(--zendd-font-size-sm, 0.875rem);
  font-weight: 600;
  color: var(--zendd-text-color, #1e293b);
  margin: 0 0 var(--zendd-space-300, 0.75rem) 0;
  padding-bottom: var(--zendd-space-200, 0.5rem);
  border-bottom: 1px solid var(--zendd-border-color, #e2e8f0);
}

/* Individual endpoint */
.zendd-wb-developer__endpoint {
  padding: var(--zendd-space-300, 0.75rem);
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-md, 8px);
  margin-bottom: var(--zendd-space-200, 0.5rem);
  transition: border-color 0.15s;
}
.zendd-wb-developer__endpoint:hover {
  border-color: var(--zendd-action-primary-muted, #c4b5fd);
}
.zendd-wb-developer__endpoint-header {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-developer__endpoint-desc {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  margin: var(--zendd-space-100, 0.25rem) 0 0 0;
}

/* HTTP method badges */
.zendd-wb-developer__method {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border-radius: var(--zendd-radius-sm, 4px);
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 700;
  text-transform: uppercase;
}
.zendd-wb-developer__method--get {
  background: var(--zendd-feedback-success-light, #dcfce7);
  color: var(--zendd-feedback-success-color, #16a34a);
}
.zendd-wb-developer__method--post {
  background: var(--zendd-color-amber-100, #fef3c7);
  color: var(--zendd-color-amber-700, #b45309);
}
.zendd-wb-developer__path {
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-text-color, #1e293b);
}

/* Curl examples */
.zendd-wb-developer__curl {
  margin-top: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-developer__curl summary {
  font-size: var(--zendd-font-size-xs, 0.75rem);
  color: var(--zendd-action-primary-color, #7c3aed);
  cursor: pointer;
  font-weight: 500;
}
.zendd-wb-developer__curl pre {
  margin: var(--zendd-space-200, 0.5rem) 0 0 0;
  padding: var(--zendd-space-300, 0.75rem);
  background: var(--zendd-surface-dark, #1e293b);
  color: var(--zendd-color-green-300, #86efac);
  border-radius: var(--zendd-radius-md, 8px);
  overflow-x: auto;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  line-height: 1.6;
}
.zendd-wb-developer__curl code {
  font-family: 'JetBrains Mono', monospace;
  background: transparent;
  padding: 0;
}

/* Tip box */
.zendd-wb-developer__tip {
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  background: var(--zendd-color-purple-50, #faf5ff);
  border: 1px solid var(--zendd-color-purple-200, #e9d5ff);
  border-radius: var(--zendd-radius-md, 8px);
  font-size: var(--zendd-font-size-sm, 0.875rem);
  color: var(--zendd-color-purple-800, #5b21b6);
}


/* ── Informatie Tab (TO-werkbank-rebuild-fase1 §Fase 4) ──────────── */

.zendd-wb-informatie {
  display: flex;
  flex-direction: column;
  gap: var(--zendd-space-500, 1.25rem);
  padding: var(--zendd-space-400, 1rem);
}

.zendd-wb-informatie__body {
  padding: var(--zendd-space-400, 1rem) var(--zendd-space-500, 1.25rem);
}

/* Property table (key-value pairs) */
.zendd-wb-informatie__props {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-informatie__props th {
  text-align: left;
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  color: var(--zendd-text-secondary-color, #64748b);
  font-weight: 500;
  width: 180px;
  vertical-align: top;
  white-space: nowrap;
}
.zendd-wb-informatie__props td {
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  color: var(--zendd-text-color, #1e293b);
}
.zendd-wb-informatie__props tr + tr th,
.zendd-wb-informatie__props tr + tr td {
  border-top: 1px solid var(--zendd-border-color, #e2e8f0);
}
.zendd-wb-informatie__props code {
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  background: var(--zendd-color-navy-50, #f0f4ff);
  padding: 0.125rem 0.375rem;
  border-radius: var(--zendd-radius-sm, 4px);
}
.zendd-wb-informatie__props a {
  color: var(--zendd-action-primary-color, #7c3aed);
  text-decoration: none;
}
.zendd-wb-informatie__props a:hover {
  text-decoration: underline;
}

/* Badges */
.zendd-wb-informatie__badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 500;
}
.zendd-wb-informatie__badge--burger {
  background: var(--zendd-color-sky-100, #e0f2fe);
  color: var(--zendd-color-sky-700, #0369a1);
}
.zendd-wb-informatie__badge--bedrijf {
  background: var(--zendd-color-amber-100, #fef3c7);
  color: var(--zendd-color-amber-700, #b45309);
}
.zendd-wb-informatie__badge--inav {
  background: var(--zendd-color-navy-100, #e2e8f0);
  color: var(--zendd-color-navy-700, #334155);
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--zendd-font-size-xs, 0.75rem);
}
.zendd-wb-informatie__badge--inkomend {
  background: var(--zendd-color-sky-100, #e0f2fe);
  color: var(--zendd-color-sky-700, #0369a1);
}
.zendd-wb-informatie__badge--uitgaand {
  background: var(--zendd-color-green-100, #dcfce7);
  color: var(--zendd-color-green-700, #15803d);
}
.zendd-wb-informatie__badge--intern {
  background: var(--zendd-color-navy-50, #f0f4ff);
  color: var(--zendd-color-navy-600, #475569);
}
.zendd-wb-informatie__badge--success {
  background: var(--zendd-color-green-100, #dcfce7);
  color: var(--zendd-color-green-700, #15803d);
}
.zendd-wb-informatie__badge--muted {
  background: var(--zendd-color-navy-50, #f8fafc);
  color: var(--zendd-color-navy-400, #94a3b8);
}
.zendd-wb-informatie__badge--fsc {
  background: var(--zendd-color-navy-100, #e2e8f0);
  color: var(--zendd-color-navy-600, #475569);
  font-size: var(--zendd-font-size-xs, 0.75rem);
  margin-left: 0.25rem;
}
.zendd-wb-informatie__fsc-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--zendd-color-navy-300, #94a3b8);
  vertical-align: middle;
  margin: 0 0.125rem;
}

/* Section with details/summary */
.zendd-wb-informatie__section {
  margin-top: var(--zendd-space-400, 1rem);
  border: 1px solid var(--zendd-border-color, #e2e8f0);
  border-radius: var(--zendd-radius-md, 8px);
  overflow: hidden;
}
.zendd-wb-informatie__section-title {
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  font-weight: 600;
  font-size: var(--zendd-font-size-sm, 0.875rem);
  cursor: pointer;
  background: var(--zendd-surface-subtle, #f8fafc);
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
}
.zendd-wb-informatie__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.375rem;
  border-radius: 9999px;
  background: var(--zendd-action-primary-color, #7c3aed);
  color: #fff;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 600;
}

/* Flow visualization (statustypen) */
.zendd-wb-informatie__flow {
  display: flex;
  flex-wrap: wrap;
  gap: var(--zendd-space-100, 0.25rem);
  padding: var(--zendd-space-300, 0.75rem) var(--zendd-space-400, 1rem);
  align-items: center;
}
.zendd-wb-informatie__flow-step {
  display: flex;
  align-items: center;
  gap: var(--zendd-space-200, 0.5rem);
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  background: var(--zendd-color-purple-50, #faf5ff);
  border: 1px solid var(--zendd-color-purple-200, #e9d5ff);
  border-radius: var(--zendd-radius-md, 8px);
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-informatie__flow-step + .zendd-wb-informatie__flow-step::before {
  content: "→";
  position: relative;
  left: calc(-1 * var(--zendd-space-300, 0.75rem) - var(--zendd-space-100, 0.25rem));
  color: var(--zendd-text-secondary-color, #64748b);
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
.zendd-wb-informatie__flow-nr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  background: var(--zendd-action-primary-color, #7c3aed);
  color: #fff;
  font-size: var(--zendd-font-size-xs, 0.75rem);
  font-weight: 700;
  flex-shrink: 0;
}
.zendd-wb-informatie__flow-label {
  color: var(--zendd-text-color, #1e293b);
  font-weight: 500;
}

/* Mini table (documenttypen, checks, resultaattypen) */
.zendd-wb-informatie__mini-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--zendd-font-size-xs, 0.75rem);
}
.zendd-wb-informatie__mini-table thead {
  background: var(--zendd-surface-subtle, #f8fafc);
}
.zendd-wb-informatie__mini-table th {
  text-align: left;
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  font-weight: 500;
  color: var(--zendd-text-secondary-color, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.zendd-wb-informatie__mini-table td {
  padding: var(--zendd-space-200, 0.5rem) var(--zendd-space-300, 0.75rem);
  border-top: 1px solid var(--zendd-border-color, #e2e8f0);
  color: var(--zendd-text-color, #1e293b);
}
.zendd-wb-informatie__wrap {
  max-width: 300px;
  word-wrap: break-word;
}

/* CBS form */
.zendd-wb-informatie__cbs-form {
  margin-bottom: var(--zendd-space-400, 1rem);
}
.zendd-wb-informatie__cbs-fields {
  display: flex;
  gap: var(--zendd-space-300, 0.75rem);
  align-items: center;
}
.zendd-wb-informatie__cbs-fields select {
  flex: 1;
}
.zendd-wb-informatie__spinner {
  text-align: center;
  padding: var(--zendd-space-400, 1rem);
  color: var(--zendd-text-secondary-color, #64748b);
  font-size: var(--zendd-font-size-sm, 0.875rem);
}

/* Empty state */
.zendd-wb-informatie__empty {
  color: var(--zendd-text-secondary-color, #64748b);
  text-align: center;
  padding: var(--zendd-space-600, 1.5rem);
  font-size: var(--zendd-font-size-sm, 0.875rem);
}
