:root {
    /* Approved Dygg UI Design System v2.0.0 palette */
    --dygg-primary: #067d32;
    --dygg-primary-hover: #0f5c24;
    --dygg-primary-dark: #0b3d20;
    --dygg-secondary: #4caf50;
    --dygg-background: #f6fdf6;
    --dygg-surface: #ffffff;
    --dygg-surface-alt: #fbfdfb;
    --dygg-border: #e0e0e0;
    --dygg-text-primary: #212121;
    --dygg-text-secondary: #757575;
    --dygg-link: #0f5c24;

    --dygg-state-success: #43a047;
    --dygg-state-warning: #fbc02d;
    --dygg-state-error: #e53935;
    --dygg-state-info: #1e88e5;
    --dygg-state-updating: #1e88e5;
    --dygg-state-changed: #fbc02d;
    --dygg-state-current: #43a047;
    --dygg-state-disabled: #757575;

    --dygg-state-success-surface: #e9f6e8;
    --dygg-state-warning-surface: #fff3d6;
    --dygg-state-error-surface: #fde8e8;
    --dygg-state-info-surface: #e7f2fd;
    --dygg-state-error-text: #8f1815;
    --dygg-state-warning-text: #5d4300;

    --dygg-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --dygg-text-xs: 0.78rem;
    --dygg-text-sm: 0.9rem;
    --dygg-text-md: 1rem;
    --dygg-text-lg: 1.15rem;
    --dygg-text-xl: clamp(1.55rem, 1.35rem + 0.7vw, 1.9rem);
    --dygg-font-weight-normal: 400;
    --dygg-font-weight-medium: 500;
    --dygg-font-weight-semibold: 650;
    --dygg-font-weight-bold: 700;
    --dygg-font-weight-strong: 750;
    --dygg-font-weight-heavy: 800;

    --dygg-space-xs: 0.25rem;
    --dygg-space-sm: 0.5rem;
    --dygg-space-md: 1rem;
    --dygg-space-lg: 1.5rem;
    --dygg-space-xl: 2rem;
    --dygg-space-3: 0.75rem;

    --dygg-border-width: 1px;
    --dygg-border-width-accent: 0.25rem;
    --dygg-border-width-heading-accent: 0.35rem;
    --dygg-border-radius-sm: 0.35rem;
    --dygg-border-radius-md: 0.5rem;
    --dygg-border-radius-lg: 0.75rem;
    --dygg-border-radius-pill: 999px;
    --dygg-border-strong: #c9d4c9;

    --dygg-shadow-none: none;
    --dygg-shadow-sm: 0 1px 2px rgb(33 33 33 / 0.08);
    --dygg-shadow-md: 0 8px 24px rgb(33 33 33 / 0.10);
    --dygg-shadow-lg: 0 12px 32px rgb(33 33 33 / 0.14);

    --dygg-focus-ring: 0 0 0 3px rgb(76 175 80 / 0.32);
    --dygg-focus-border: var(--dygg-secondary);

    --dygg-content-width: 54rem;
    --dygg-auth-panel-width: 27rem;
    --dygg-header-height: 3rem;
    --dygg-header-min-height: 4rem;
    --dygg-card-padding: var(--dygg-space-md);
    --dygg-form-gap: var(--dygg-space-3);
    --dygg-control-min-height: 3rem;
    --dygg-control-min-height-sm: 2.5rem;
    --dygg-control-min-height-xs: 2.35rem;
    --dygg-form-textarea-min-height: 7rem;
    --dygg-logo-size-sm: 3.1rem;
    --dygg-logo-size-md: 3.75rem;
    --dygg-login-logo-width: min(10rem, 58vw);
    --dygg-user-context-gap: 0.15rem;
    --dygg-nav-item-min-height: 2.75rem;
    --dygg-action-padding-block: 0.65rem;
    --dygg-action-padding-inline: var(--dygg-space-md);
    --dygg-logout-padding: 0.55rem 0.85rem;
    --dygg-form-control-padding: 0.7rem 0.8rem;
    --dygg-status-padding: 0.25rem 0.65rem;
    --dygg-status-text-size: 0.8rem;
    --dygg-copy-padding: 0.4rem 0.75rem;

    --dygg-breakpoint-actions: 40rem;
    --dygg-breakpoint-page: 42rem;

    --dygg-surface-gradient: linear-gradient(180deg, var(--dygg-surface), var(--dygg-surface-alt));
    --dygg-app-background-gradient: linear-gradient(180deg, rgb(246 253 246 / 0.98), var(--dygg-surface) 18rem);
    --dygg-primary-action-background: var(--dygg-primary);
    --dygg-primary-action-background-hover: var(--dygg-primary-hover);
    --dygg-primary-action-hover-filter: brightness(1.04);
    --dygg-primary-action-text: #ffffff;
    --dygg-nav-background: var(--dygg-surface);
    --dygg-nav-text: var(--dygg-text-primary);
    --dygg-link-hover: var(--dygg-primary-dark);
    --dygg-secondary-action-border: var(--dygg-primary);
    --dygg-secondary-action-hover-surface: #e8f4e6;
    --dygg-disabled-surface: #f3f5f3;
    --dygg-disabled-text: var(--dygg-state-disabled);
    --dygg-disabled-border: var(--dygg-border);

    --dygg-accent-visits: var(--dygg-primary);
    --dygg-accent-schedule: #00897b;
    --dygg-accent-customers: #8d6e63;
    --dygg-accent-staff: #607d8b;
    --dygg-accent-work: #689f38;
    --dygg-accent-accounting: #f9a825;
    --dygg-accent-visits-soft: rgb(46 125 50 / 0.10);
    --dygg-accent-schedule-soft: rgb(0 137 123 / 0.10);
    --dygg-accent-customers-soft: rgb(141 110 99 / 0.12);
    --dygg-accent-staff-soft: rgb(96 125 139 / 0.12);
    --dygg-accent-work-soft: rgb(104 159 56 / 0.12);
    --dygg-accent-accounting-soft: rgb(249 168 37 / 0.16);

    --dygg-status-border: rgb(6 125 50 / 0.22);
    --dygg-status-text: var(--dygg-primary-hover);
    --dygg-error-border: var(--dygg-state-error);
    --dygg-message-success-border: rgb(67 160 71 / 0.35);
    --dygg-message-warning-border: rgb(251 192 45 / 0.45);
    --dygg-message-error-border: rgb(229 57 53 / 0.35);
    --dygg-copy-border: rgb(249 168 37 / 0.45);
    --dygg-copy-text: #6d4a00;
    --dygg-copy-hover-surface: #fff3cf;
    --dygg-copy-success-border: rgb(67 160 71 / 0.45);
    --dygg-copy-success-surface: var(--dygg-state-success-surface);
    --dygg-copy-success-text: var(--dygg-primary-hover);
    --dygg-task-required-border: var(--dygg-primary);
    --dygg-task-required-surface: var(--dygg-surface);
    --dygg-task-current-border: rgb(67 160 71 / 0.35);
    --dygg-task-current-surface: #f8fbf8;
    --dygg-task-updating-border: rgb(30 136 229 / 0.35);
    --dygg-task-failed-border: rgb(229 57 53 / 0.45);

    /* Compatibility aliases retained while dygg.css is migrated incrementally. */
    --color-brand-900: #0b3d20;
    --color-brand-800: var(--dygg-primary-hover);
    --color-brand-700: #2e7d32;
    --color-brand-500: var(--dygg-secondary);
    --color-brand-100: #e8f4e6;
    --color-accent-700: var(--dygg-accent-accounting);
    --color-accent-100: var(--dygg-copy-hover-surface);
    --color-success: var(--dygg-state-success);
    --color-success-bg: var(--dygg-state-success-surface);
    --color-warning: var(--dygg-state-warning);
    --color-warning-bg: var(--dygg-state-warning-surface);
    --color-error: var(--dygg-state-error);
    --color-error-bg: var(--dygg-state-error-surface);
    --color-info: var(--dygg-state-info);
    --color-info-bg: var(--dygg-state-info-surface);
    --color-ink: var(--dygg-text-primary);
    --color-muted: var(--dygg-text-secondary);
    --color-background: var(--dygg-background);
    --color-background-secondary: var(--dygg-surface);
    --color-surface: var(--dygg-surface);
    --color-surface-raised: var(--dygg-surface);
    --color-border: var(--dygg-border);
    --color-border-strong: var(--dygg-border-strong);

    --space-1: var(--dygg-space-xs);
    --space-2: var(--dygg-space-sm);
    --space-3: var(--dygg-space-3);
    --space-4: var(--dygg-space-md);
    --space-5: var(--dygg-space-lg);
    --space-6: var(--dygg-space-xl);

    --radius-sm: var(--dygg-border-radius-sm);
    --radius-md: var(--dygg-border-radius-md);
    --radius-lg: var(--dygg-border-radius-lg);
    --radius-pill: var(--dygg-border-radius-pill);
    --shadow-sm: var(--dygg-shadow-sm);
    --shadow-md: var(--dygg-shadow-md);
    --focus-ring: var(--dygg-focus-ring);

    --dygg-green: var(--color-brand-700);
    --dygg-green-dark: var(--color-brand-900);
    --dygg-green-soft: var(--color-brand-100);
    --dygg-orange: var(--dygg-accent-accounting);
    --dygg-ink: var(--dygg-text-primary);
    --dygg-muted: var(--dygg-text-secondary);
}
