:root,
.pb-canvas-viewport,
.pb-preview-dialog-viewport,
.pb-preview-viewport {
  --app-bg: #f8f9fa;
  --app-surface: #ffffff;
  --app-surface-alt: #f8f9fa;
  --app-surface-hover: #e9ecef;
  --app-text: #212529;
  --app-text-secondary: #6c757d;
  --app-text-muted: #adb5bd;
  --app-border: #dee2e6;
  --app-border-light: #e9ecef;
  --app-border-hover: #adb5bd;
  --app-primary: #0d6efd;
  --app-primary-rgb: 13, 110, 253;
  --app-success: #198754;
  --app-success-rgb: 25, 135, 84;
  --app-warning: #e67700;
  --app-warning-rgb: 230, 119, 0;
  --app-danger: #dc3545;
  --app-danger-rgb: 220, 53, 69;
  --app-info: #0dcaf0;
  --app-info-rgb: 13, 202, 240;
  --app-control-bg: #ffffff;
  --app-control-border: #ced4da;
  --app-control-hover-bg: #f8f9fa;
  --app-control-focus-ring: rgba(var(--app-primary-rgb), 0.2);
  --app-control-disabled-bg: #e9ecef;
  --app-control-disabled-text: #6c757d;
  --app-control-invalid: #dc3545;
  --app-control-invalid-ring: rgba(var(--app-danger-rgb), 0.18);
  --app-radius-sm: 6px;
  --app-radius-md: 10px;
  --app-radius-lg: 14px;
  --app-radius-xl: 18px;
  --app-radius-pill: 9999px;
  --bs-border-radius: 10px;
  --bs-border-radius-sm: 6px;
  --bs-border-radius-lg: 14px;
  --bs-border-radius-xl: 18px;
  --bs-border-radius-2xl: 24px;
  --bs-border-radius-pill: 9999px;
  --app-focus-ring: rgba(var(--app-primary-rgb), 0.18);
  --app-accent-contrast: #ffffff;
  --app-font-sans: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --app-font-heading: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
  --app-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  --pb-font-sans: var(--app-font-sans);
  --pb-font-heading: var(--app-font-heading);
  --pb-font-mono: var(--app-font-mono);
  --app-nav-bg: var(--app-surface);
  --app-nav-border: var(--app-border);
  --app-nav-text: var(--app-text);
  --app-nav-text-muted: var(--app-text-muted);
  --app-nav-link-text: var(--app-text-secondary);
  --app-nav-link-hover-bg: var(--app-surface-hover);
  --app-nav-link-hover-text: var(--app-text);
  --app-nav-active-bg: rgba(var(--app-primary-rgb), 0.12);
  --app-nav-active-text: var(--app-primary);
  --app-nav-danger-text: var(--app-danger);
  --app-nav-danger-bg: rgba(var(--app-danger-rgb), 0.1);
  --app-nav-warning-text: var(--app-warning);
  --app-nav-warning-bg: rgba(var(--app-warning-rgb), 0.1);
  --app-canvas-bg: #ebedef;
  --app-toolbar-bg: #f8f9fa;
  --app-toolbar-border: #e9ecef;
  --app-toolbar-text: #495057;
  --app-block-bg: #ffffff;
  --app-block-border: #e9ecef;
  --app-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.04);
  --app-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --app-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  --pb-surface: #ffffff;
  --pb-border: #e0e0e0;
  --pb-primary: #0d6efd;
  --bs-body-bg: var(--app-bg);
  --bs-body-color: var(--pb-text, var(--app-text));
  --bs-secondary-color: var(--app-text-secondary);
  --bs-secondary-bg: var(--app-surface-alt);
  --bs-tertiary-color: var(--app-text-muted);
  --bs-tertiary-bg: var(--app-surface-hover);
  --bs-border-color: var(--app-border);
  --bs-heading-color: var(--pb-heading-color, var(--app-text));
  --bs-link-color: var(--app-primary);
  --bs-link-hover-color: var(--app-primary);
  --bs-primary: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-primary-rgb: var(--app-primary-rgb, 13, 110, 253);
  --bs-secondary: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-border-radius: var(--pb-btn-radius, var(--app-radius-md, 10px));
  --bs-btn-box-shadow: var(--pb-btn-shadow, none);
  --bs-emphasis-color: #000000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-card-bg: var(--app-surface, #ffffff);
  --bs-card-color: var(--app-text, #1e293b);
  --bs-card-border-color: var(--app-border, #e2e8f0);
  --bs-card-border-radius: var(--app-radius-lg, 12px);
  --bs-accordion-bg: var(--app-surface, #ffffff);
  --bs-accordion-color: var(--app-text, #1e293b);
  --bs-accordion-border-color: var(--app-border, #e2e8f0);
  --bs-accordion-border-radius: var(--app-radius-md, 10px);
  --bs-accordion-btn-bg: var(--app-surface-alt, #f8fafc);
  --bs-accordion-btn-color: var(--app-text, #1e293b);
  --bs-accordion-active-bg: var(--app-surface-hover, #f1f5f9);
  --bs-accordion-active-color: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-progress-bg: var(--app-surface-alt, #e9ecef);
  --bs-progress-bar-bg: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-breadcrumb-divider-color: var(--app-text-muted, #adb5bd);
  --bs-breadcrumb-item-active-color: var(--app-text-secondary, #6c757d);
  --pb-slider-track-bg: #d0d5dd;
  --pb-slider-track-hover-bg: #b8bec9;
  --pb-slider-track-border: rgba(0, 0, 0, 0.08);
  --bs-form-range-track-bg: var(--pb-slider-track-bg);
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 248, 249, 250;
  --bs-secondary-color-rgb: 108, 117, 125;
  --bs-secondary-bg-rgb: 248, 249, 250;
  --bs-tertiary-color-rgb: 173, 181, 189;
  --bs-tertiary-bg-rgb: 233, 236, 239;
  --app-z-base: 0;
  --app-z-canvas-control: 20;
  --app-z-sticky: 100;
  --app-z-toolbar: 200;
  --app-z-dropdown: 300;
  --app-z-tooltip: 400;
  --app-z-fixed-actions: 800;
  --app-z-drawer-backdrop: 1000;
  --app-z-drawer: 1010;
  --app-z-modal-backdrop: 1100;
  --app-z-modal: 1110;
  --app-z-modal-dropdown: 1150;
  --app-z-modal-tooltip: 1160;
  --app-z-nested-backdrop: 1200;
  --app-z-nested-modal: 1210;
  --app-z-command-palette: 1300;
  --app-z-preview: 1400;
  --app-z-banner: 2000;
  --app-z-toast: 9000;
  --app-z-blocker: 9999;
}

[data-theme=dark]:not(.pb-canvas-viewport):not(.pb-canvas-viewport *),
[data-page-theme=dark] {
  --app-bg: #181825;
  --app-surface: #1e1e2e;
  --app-surface-alt: #313244;
  --app-surface-hover: #45475a;
  --app-text: #cdd6f4;
  --app-text-secondary: #a6adc8;
  --app-text-muted: #6c7086;
  --app-border: #45475a;
  --app-border-light: #313244;
  --app-border-hover: #585b70;
  --app-primary: #89b4fa;
  --app-primary-rgb: 137, 180, 250;
  --app-success: #a6e3a1;
  --app-success-rgb: 166, 227, 161;
  --app-warning: #f9e2af;
  --app-warning-rgb: 249, 226, 175;
  --app-danger: #f38ba8;
  --app-danger-rgb: 243, 139, 168;
  --app-info: #89dceb;
  --app-info-rgb: 137, 220, 235;
  --app-control-bg: #313244;
  --app-control-border: #585b70;
  --app-control-hover-bg: #45475a;
  --app-control-focus-ring: rgba(var(--app-primary-rgb), 0.25);
  --app-control-disabled-bg: #313244;
  --app-control-disabled-text: #6c7086;
  --app-control-invalid: #f38ba8;
  --app-control-invalid-ring: rgba(var(--app-danger-rgb), 0.2);
  --app-radius-sm: 6px;
  --app-radius-md: 10px;
  --app-radius-lg: 14px;
  --app-radius-xl: 18px;
  --app-radius-pill: 9999px;
  --bs-border-radius: 10px;
  --bs-border-radius-sm: 6px;
  --bs-border-radius-lg: 14px;
  --bs-border-radius-xl: 18px;
  --bs-border-radius-2xl: 24px;
  --bs-border-radius-pill: 9999px;
  --app-focus-ring: rgba(var(--app-primary-rgb), 0.25);
  --app-accent-contrast: #ffffff;
  --app-nav-bg: #1e1e2e;
  --app-nav-border: rgba(255, 255, 255, 0.08);
  --app-nav-text: #cdd6f4;
  --app-nav-text-muted: #6c7086;
  --app-nav-link-text: #a6adc8;
  --app-nav-link-hover-bg: rgba(255, 255, 255, 0.06);
  --app-nav-link-hover-text: #cdd6f4;
  --app-nav-active-bg: rgba(203, 166, 247, 0.15);
  --app-nav-active-text: #cba6f7;
  --app-nav-danger-text: #f38ba8;
  --app-nav-danger-bg: rgba(243, 139, 168, 0.1);
  --app-nav-warning-text: #f9e2af;
  --app-nav-warning-bg: rgba(249, 226, 175, 0.1);
  --app-canvas-bg: #11111b;
  --app-toolbar-bg: #313244;
  --app-toolbar-border: #45475a;
  --app-toolbar-text: #cdd6f4;
  --app-block-bg: #1e1e2e;
  --app-block-border: #45475a;
  --app-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --app-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --app-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  --pb-surface: #1e1e2e;
  --pb-border: #45475a;
  --pb-primary: #89b4fa;
  color-scheme: dark;
  --bs-body-bg: var(--app-bg);
  --bs-body-color: var(--app-text);
  --bs-secondary-color: var(--app-text-secondary);
  --bs-secondary-bg: var(--app-surface-alt);
  --bs-tertiary-color: var(--app-text-muted);
  --bs-tertiary-bg: var(--app-surface-hover);
  --bs-border-color: var(--app-border);
  --bs-heading-color: var(--app-text);
  --bs-link-color: var(--app-primary);
  --bs-link-hover-color: var(--app-primary);
  --bs-primary: var(--pb-primary, var(--app-primary, #89b4fa));
  --bs-primary-rgb: var(--app-primary-rgb, 137, 180, 250);
  --bs-secondary: var(--pb-secondary, var(--app-secondary, #a6adc8));
  --bs-btn-border-radius: var(--pb-btn-radius, var(--app-radius-md, 10px));
  --bs-btn-box-shadow: var(--pb-btn-shadow, none);
  --bs-emphasis-color: #ffffff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.12);
  --pb-slider-track-bg: #3e445b;
  --pb-slider-track-hover-bg: #4f5673;
  --pb-slider-track-border: rgba(255, 255, 255, 0.12);
  --bs-form-range-track-bg: var(--pb-slider-track-bg);
  --bs-body-color-rgb: 205, 214, 244;
  --bs-body-bg-rgb: 24, 24, 37;
  --bs-secondary-color-rgb: 166, 173, 200;
  --bs-secondary-bg-rgb: 49, 50, 68;
  --bs-tertiary-color-rgb: 108, 112, 134;
  --bs-tertiary-bg-rgb: 69, 71, 90;
}

body {
  background: var(--app-bg);
  color: var(--app-text);
}

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background-color: var(--app-border);
  border-radius: 0;
  border: 2px solid transparent;
  background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover {
  background-color: var(--app-text-muted);
}

.btn-primary {
  --bs-btn-color: var(--app-accent-contrast, #ffffff);
  --bs-btn-bg: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-border-color: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-hover-color: var(--app-accent-contrast, #ffffff);
  --bs-btn-hover-bg: color-mix(in srgb, var(--pb-primary, var(--app-primary, #0d6efd)) 88%, #000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--pb-primary, var(--app-primary, #0d6efd)) 82%, #000);
  --bs-btn-focus-shadow-rgb: var(--app-primary-rgb, 13, 110, 253);
  --bs-btn-active-color: var(--app-accent-contrast, #ffffff);
  --bs-btn-active-bg: color-mix(in srgb, var(--pb-primary, var(--app-primary, #0d6efd)) 80%, #000);
  --bs-btn-active-border-color: color-mix(in srgb, var(--pb-primary, var(--app-primary, #0d6efd)) 75%, #000);
  --bs-btn-disabled-color: var(--app-accent-contrast, #ffffff);
  --bs-btn-disabled-bg: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-disabled-border-color: var(--pb-primary, var(--app-primary, #0d6efd));
}

.btn-outline-primary {
  --bs-btn-color: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-border-color: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-hover-color: var(--app-accent-contrast, #ffffff);
  --bs-btn-hover-bg: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-hover-border-color: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-focus-shadow-rgb: var(--app-primary-rgb, 13, 110, 253);
  --bs-btn-active-color: var(--app-accent-contrast, #ffffff);
  --bs-btn-active-bg: color-mix(in srgb, var(--pb-primary, var(--app-primary, #0d6efd)) 88%, #000);
  --bs-btn-active-border-color: color-mix(in srgb, var(--pb-primary, var(--app-primary, #0d6efd)) 82%, #000);
  --bs-btn-disabled-color: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-btn-disabled-border-color: var(--pb-primary, var(--app-primary, #0d6efd));
}

.btn-secondary {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-border-color: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: color-mix(in srgb, var(--pb-secondary, var(--app-secondary, #6c757d)) 88%, #000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--pb-secondary, var(--app-secondary, #6c757d)) 82%, #000);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: color-mix(in srgb, var(--pb-secondary, var(--app-secondary, #6c757d)) 80%, #000);
  --bs-btn-active-border-color: color-mix(in srgb, var(--pb-secondary, var(--app-secondary, #6c757d)) 75%, #000);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-disabled-border-color: var(--pb-secondary, var(--app-secondary, #6c757d));
}

.btn-outline-secondary {
  --bs-btn-color: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-border-color: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-hover-border-color: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: color-mix(in srgb, var(--pb-secondary, var(--app-secondary, #6c757d)) 88%, #000);
  --bs-btn-active-border-color: color-mix(in srgb, var(--pb-secondary, var(--app-secondary, #6c757d)) 82%, #000);
  --bs-btn-disabled-color: var(--pb-secondary, var(--app-secondary, #6c757d));
  --bs-btn-disabled-border-color: var(--pb-secondary, var(--app-secondary, #6c757d));
}

.card {
  --bs-card-bg: var(--app-surface, #ffffff);
  --bs-card-color: var(--app-text, #1e293b);
  --bs-card-border-color: var(--app-border, #e2e8f0);
}

.accordion {
  --bs-accordion-bg: var(--app-surface, #ffffff);
  --bs-accordion-color: var(--app-text, #1e293b);
  --bs-accordion-border-color: var(--app-border, #e2e8f0);
  --bs-accordion-btn-bg: var(--app-surface-alt, #f8fafc);
  --bs-accordion-btn-color: var(--app-text, #1e293b);
  --bs-accordion-active-bg: var(--app-surface-hover, #f1f5f9);
  --bs-accordion-active-color: var(--pb-primary, var(--app-primary, #0d6efd));
  --bs-accordion-btn-focus-border-color: var(--pb-primary, var(--app-primary, #0d6efd));
}

.progress {
  --bs-progress-bg: var(--app-surface-alt, #e9ecef);
  --bs-progress-bar-bg: var(--pb-primary, var(--app-primary, #0d6efd));
}