:root {
    /* PLS Light: all-blue corporate identity */
    --rz-white: #ffffff;
    --rz-black: #000000;

    /* Base scale: dark text tones at 50 -> bright surfaces at 900 */
    --rz-base: #0a3d54;
    --rz-base-50: #062d3e;
    --rz-base-100: #0d4560;
    --rz-base-200: #186078;
    --rz-base-300: #2a7a92;
    --rz-base-400: #4a96ac;
    --rz-base-500: #6fb0c4;
    --rz-base-600: #9dcbda;
    --rz-base-700: #c4dee8;
    --rz-base-800: #e2eff4;
    --rz-base-900: #f0f7fa;
    --rz-base-light: var(--rz-base-600);
    --rz-base-lighter: var(--rz-base-900);
    --rz-base-dark: var(--rz-base-200);
    --rz-base-darker: var(--rz-base-50);

    /* Primary: PLS cyan / turquoise */
    --rz-primary: #029fc8;
    --rz-primary-light: #32b9dc;
    --rz-primary-lighter: rgba(2, 159, 200, 0.14);
    --rz-primary-dark: #0088ab;
    --rz-primary-darker: #006f8c;

    /* Secondary: deep teal-blue - distinct from primary cyan */
    --rz-secondary: #0d6986;
    --rz-secondary-light: #1a8aab;
    --rz-secondary-lighter: rgba(13, 105, 134, 0.16);
    --rz-secondary-dark: #085570;
    --rz-secondary-darker: #04415a;

    --rz-info: #2196d3;
    --rz-info-light: #49ace0;
    --rz-info-lighter: rgba(33, 150, 211, 0.16);
    --rz-info-dark: #1b81b5;
    --rz-info-darker: #166d99;

    --rz-success: #2d9d64;
    --rz-success-light: #47b37a;
    --rz-success-lighter: rgba(45, 157, 100, 0.14);
    --rz-success-dark: #258452;
    --rz-success-darker: #1e6d43;

    --rz-warning: #e6a00a;
    --rz-warning-light: #f0b433;
    --rz-warning-lighter: rgba(230, 160, 10, 0.18);
    --rz-warning-dark: #c68808;
    --rz-warning-darker: #a87207;

    --rz-danger: #d1495b;
    --rz-danger-light: #dd6778;
    --rz-danger-lighter: rgba(209, 73, 91, 0.16);
    --rz-danger-dark: #b83f4f;
    --rz-danger-darker: #9e3544;

    --rz-on-base: #ffffff;
    --rz-on-base-light: #062d3e;
    --rz-on-base-lighter: #062d3e;
    --rz-on-base-dark: #ffffff;
    --rz-on-base-darker: #ffffff;

    --rz-on-primary: #ffffff;
    --rz-on-primary-light: #ffffff;
    --rz-on-primary-lighter: #004d62;
    --rz-on-primary-dark: #ffffff;
    --rz-on-primary-darker: #ffffff;

    --rz-on-secondary: #ffffff;
    --rz-on-secondary-light: #ffffff;
    --rz-on-secondary-lighter: #062a52;
    --rz-on-secondary-dark: #ffffff;
    --rz-on-secondary-darker: #ffffff;

    --rz-on-info: #ffffff;
    --rz-on-info-light: #ffffff;
    --rz-on-info-lighter: #0f4c6a;
    --rz-on-info-dark: #ffffff;
    --rz-on-info-darker: #ffffff;

    --rz-on-success: #ffffff;
    --rz-on-success-light: #ffffff;
    --rz-on-success-lighter: #164b2f;
    --rz-on-success-dark: #ffffff;
    --rz-on-success-darker: #ffffff;

    --rz-on-warning: #1a2b40;
    --rz-on-warning-light: #1a2b40;
    --rz-on-warning-lighter: #7f5805;
    --rz-on-warning-dark: #1a2b40;
    --rz-on-warning-darker: #1a2b40;

    --rz-on-danger: #ffffff;
    --rz-on-danger-light: #ffffff;
    --rz-on-danger-lighter: #792531;
    --rz-on-danger-dark: #ffffff;
    --rz-on-danger-darker: #ffffff;

    /* Series palette for charts - all blue spectrum */
    --rz-series-1: #029fc8;
    --rz-series-2: #1565c0;
    --rz-series-3: #2d9d64;
    --rz-series-4: #2196d3;
    --rz-series-5: #d1495b;
    --rz-series-6: #8e63ce;
    --rz-series-7: #e6a00a;
    --rz-series-8: #0088ab;
    --rz-series-9: #32b9dc;
    --rz-series-10: #47b37a;
    --rz-series-11: #6dbce7;
    --rz-series-12: #de7f8b;
    --rz-series-13: #ab89dc;
    --rz-series-14: #f2bf50;
    --rz-series-15: #006f8c;
    --rz-series-16: #083d7e;
    --rz-series-17: #237a4f;
    --rz-series-18: #1c79aa;
    --rz-series-19: #b73b4a;
    --rz-series-20: #7c53b5;
    --rz-series-21: #c68808;
    --rz-series-22: #5ccbe5;
    --rz-series-23: #2e7dd6;
    --rz-series-24: #78c89b;

    /* PLS custom variables */
    --pls-cyan: #029fc8;
    --pls-cyan-light: #32b9dc;
    --pls-cyan-dark: #0088ab;
    --pls-structure-line: 1px solid rgba(2, 159, 200, 0.25);

    /* Theme constants */
    --rz-border-width: 1px;
    --rz-root-font-size: 16px;
    --rz-body-font-size: 0.875rem;
    --rz-body-line-height: 1.45;
    --rz-body-background-color: var(--rz-base-700);
    --rz-text-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --rz-outline-offset: 2px;
    --rz-outline-width: 2px;
    --rz-outline-color: var(--rz-primary);

    /* Semantic text */
    --rz-text-title-color: var(--rz-base-50);
    --rz-text-color: var(--rz-base-100);
    --rz-text-secondary-color: var(--rz-base-300);
    --rz-text-tertiary-color: var(--rz-base-400);
    --rz-text-disabled-color: var(--rz-base-500);
    --rz-text-contrast-color: var(--rz-white);

    /* Link */
    --rz-link-color: var(--rz-primary-dark);
    --rz-link-text-decoration: none;
    --rz-link-hover-color: var(--rz-primary-darker);
    --rz-link-hover-text-decoration: underline;
    --rz-link-focus-outline: var(--rz-outline-focus);
    --rz-link-focus-outline-offset: var(--rz-outline-offset);

    /* Pager: cyan text for selected page */
    --rz-pager-numeric-button-selected-background-color: transparent;
    --rz-pager-numeric-button-selected-color: #029fc8;

    /* Chrome: unified PLS blue for header, sidebar, footer */
    --rz-header-background-color: #0088ab;
    --rz-header-color: #ffffff;
    --rz-footer-background-color: #0088ab;
    --rz-footer-color: #ffffff;
    --rz-sidebar-background-color: #0088ab;
    --rz-sidebar-color: #ffffff;
    --rz-panel-menu-background-color: #0088ab;
    --rz-panel-menu-item-color: #e0f4fa;
    --rz-panel-menu-item-background-color: transparent;
    --rz-panel-menu-item-2nd-level-background-color: rgba(0, 0, 0, 0.12);
    --rz-panel-menu-text-color: #e0f4fa;

    /* Menu hover/active: lighter cyan glow */
    --rz-menu-item-hover-color: #ffffff;
    --rz-menu-item-icon-hover-color: #ffffff;
    --rz-menu-item-hover-background-color: rgba(50, 185, 220, 0.3);
    --rz-menu-item-selected-color: #ffffff;
    --rz-menu-item-selected-background-color: rgba(50, 185, 220, 0.4);
    --rz-panel-menu-item-hover-color: #ffffff;
    --rz-panel-menu-item-hover-background-color: rgba(50, 185, 220, 0.3);
    --rz-panel-menu-item-active-color: #ffffff;
    --rz-panel-menu-item-active-background-color: rgba(50, 185, 220, 0.4);

    /* Grid selection: cyan highlight */
    --rz-grid-selected-background-color: rgba(2, 159, 200, 0.38);
    --rz-grid-selected-color: var(--rz-base-50);
    --rz-grid-hover-color: #029fc8;

    /* Base background: slightly darker than pure white */
    --rz-base-background-color: var(--rz-base-800);

    /* Dialog: darker background */
    --rz-dialog-background-color: var(--rz-base-700);
    --rz-dialog-title-background-color: var(--rz-base-700);

    /* Interaction states */
    --rz-border-normal: var(--rz-border-width) solid var(--rz-base-600);
    --rz-border-hover: var(--rz-border-width) solid var(--rz-base-500);
    --rz-border-focus: var(--rz-border-width) solid var(--rz-primary);
    --rz-border-disabled: var(--rz-border-width) solid var(--rz-base-700);

    /* Border radius */
    --rz-border-radius: 0.25rem;
    --rz-border-radius-0: 0;
    --rz-border-radius-1: 0.25rem;
    --rz-border-radius-2: 0.5rem;
    --rz-border-radius-3: 0.75rem;
    --rz-border-radius-4: 1rem;
    --rz-border-radius-5: 1.25rem;
    --rz-border-radius-6: 1.5rem;
    --rz-border-radius-7: 1.75rem;
    --rz-border-radius-8: 2rem;
    --rz-border-radius-9: 2.25rem;
    --rz-border-radius-10: 2.5rem;

    /* Outline */
    --rz-outline-normal: none;
    --rz-outline-focus: var(--rz-outline-width) solid var(--rz-outline-color);

    /* Shadow */
    --rz-shadow-0: none;
    --rz-shadow-1: 0 1px 2px rgba(2, 58, 73, 0.07);
    --rz-shadow-2: 0 2px 8px rgba(2, 58, 73, 0.08);
    --rz-shadow-3: 0 6px 18px rgba(2, 58, 73, 0.1);
    --rz-shadow-4: 0 10px 24px rgba(2, 58, 73, 0.12);
    --rz-shadow-5: 0 14px 30px rgba(2, 58, 73, 0.14);
    --rz-shadow-6: 0 18px 36px rgba(2, 58, 73, 0.16);
    --rz-shadow-7: 0 22px 42px rgba(2, 58, 73, 0.18);
    --rz-shadow-8: 0 26px 48px rgba(2, 58, 73, 0.2);
    --rz-shadow-9: 0 30px 54px rgba(2, 58, 73, 0.22);
    --rz-shadow-10: 0 34px 60px rgba(2, 58, 73, 0.24);

    /* Transition */
    --rz-transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --rz-transition-all: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --rz-expander-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Layout body */
    --rz-form-field-filled-border-radius: 12px;
    --rz-layout-body-margin: 0;
    --rz-layout-body-padding: 1rem;
    --rz-layout-body-border-radius: 0;
    --rz-layout-body-background-color: transparent;

    --rz-footer-padding: 0.5rem 1rem !important;
    --rz-fieldset-padding: 0.5rem !important;
    --rz-fieldset-border: 1px solid var(--rz-secondary) !important;
    --rz-fieldset-legend-color: var(--rz-secondary) !important;
    --rz-fieldset-legend-icon-color: var(--rz-secondary) !important;
    --rz-fieldset-toggle-icon-color: var(--rz-secondary) !important;
    --rz-tabs-padding: 0 !important;

    /* Input: white background */
    --rz-input-background-color: #ffffff;
    --rz-form-field-filled-background-color: #ffffff;

    /* Code */
    --bs-code-color: #029fc8 !important;
}

/* Stacked Loader cards: force white text on dark base background */
.zlc-card.rz-color-on-base .zlc-title,
.zlc-card.rz-color-on-base .zlc-sub,
.zlc-card.rz-color-on-base .zlc-progress-text {
    color: #ffffff !important;
}

.zlc-actions .zlc-icon-btn {
    margin-left: 3px;
}

.zlc-actions .zlc-icon-btn:hover .rzi,
.zlc-actions .zlc-icon-btn:hover {
    color: #029fc8 !important;
}

.rz-form-field:not(.rz-variant-outlined):not(.rz-floating-label) .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) *:focus ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) *:focus-within ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) :not(.rz-state-empty) ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) .rz-radio-button-list-vertical ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) .rz-radio-button-list-horizontal ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) .rz-checkbox-list-vertical ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) .rz-checkbox-list-horizontal ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) .rz-chkbox ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) .rz-fileupload ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined) .rz-state-empty:has(.rz-placeholder) ~ .rz-form-field-label,
.rz-form-field:not(.rz-variant-outlined).rz-state-focused .rz-form-field-label {
    background-color: transparent !important;
    color: var(--rz-base-400) !important;
}

/* Tabs: cyan selected */
.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected {
    background-color: var(--pls-cyan) !important;
    border-top-color: var(--pls-cyan) !important;
    color: #ffffff !important;
}

.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected a,
.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected .rzi {
    color: #ffffff !important;
}

.rz-tabview > ul {
    margin-bottom: 5px;
}

.rz-tabview-panel {
    padding: 5px;
}

span.rz-cell-data:focus-within:not(:has(.rz-chkbox)) {
    box-shadow: 0 0 0 2px rgba(2, 159, 200, 0.25);
    box-sizing: border-box;
}

/* Header: unified PLS blue */
.rz-header {
    background: #0088ab !important;
    color: #ffffff !important;
}

/* Footer: same PLS blue as header */
.rz-footer {
    background: #0088ab !important;
    color: #ffffff !important;
}

/* Sidebar: same PLS blue */
.rz-sidebar {
    background-color: #0088ab !important;
    color: #ffffff !important;
}

/* Body: strong cyan gradient */
.rz-body {
    background:
        radial-gradient(ellipse 130% 110% at 0% 100%, rgba(2, 159, 200, 0.35) 0%, transparent 55%),
        radial-gradient(ellipse 110% 90% at 100% 0%, rgba(0, 136, 171, 0.25) 0%, transparent 50%),
        linear-gradient(150deg, #8ec8d8 0%, #a8d4e2 30%, #c4dee8 55%, #a8d4e2 80%, #7ebfd2 100%) !important;
    background-attachment: fixed;
}

/* Menu sidebar toggle: PLS blue with white icon, subtle brighten on hover */
.rz-sidebar-toggle {
    background-color: #029fc8 !important;
    color: #ffffff !important;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.rz-sidebar-toggle .rzi {
    color: #ffffff !important;
}

.rz-sidebar-toggle:hover,
.rz-sidebar-toggle:focus-visible {
    background-color: #32b9dc !important;
}

.rz-sidebar-toggle:hover .rzi,
.rz-sidebar-toggle:focus-visible .rzi {
    color: #ffffff !important;
}

/* Sidebar pin button: transparent with white icon */
.rz-sidebar:not(.rz-sidebar-end) .rz-button {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

.rz-sidebar:not(.rz-sidebar-end) .rz-button .rzi {
    color: #ffffff !important;
}

/* Panel menu items: white on blue sidebar */
.rz-panel-menu .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-icon {
    color: #e0f4fa !important;
}

/* Menu hover: lighter cyan highlight */
.rz-menu:not(.rz-profile-menu):not(.grid-main-menu):not(.grid-side-menu) .rz-navigation-item-wrapper:hover,
.rz-menu:not(.rz-profile-menu):not(.grid-main-menu):not(.grid-side-menu) .rz-navigation-item-wrapper:has(> .active):hover,
.rz-menu:not(.rz-profile-menu):not(.grid-main-menu):not(.grid-side-menu) .rz-navigation-item-wrapper-active,
.rz-panel-menu .rz-navigation-item-wrapper:hover,
.rz-panel-menu .rz-navigation-item-wrapper-active,
.rz-panel-menu .rz-navigation-item-active {
    background-color: rgba(50, 185, 220, 0.3) !important;
    background-image: none !important;
}

.rz-panel-menu .rz-navigation-item-wrapper:hover,
.rz-panel-menu .rz-navigation-item-wrapper-active,
.rz-panel-menu .rz-navigation-item-active {
    box-shadow: inset 3px 0 0 #32b9dc;
}

/* Grid menus: no hover background (content area) */
.rz-menu.grid-main-menu .rz-navigation-item-wrapper:hover,
.rz-menu.grid-main-menu .rz-navigation-item-wrapper:has(> .active):hover,
.rz-menu.grid-side-menu .rz-navigation-item-wrapper:hover,
.rz-menu.grid-side-menu .rz-navigation-item-wrapper:has(> .active):hover {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

.rz-row:has(.rz-menu.grid-main-menu):has(.rz-menu.grid-side-menu),
.rz-menu.grid-main-menu,
.rz-menu.grid-side-menu {
    background-color: transparent !important;
    background-image: none !important;
}

/* Grid menu icons: cyan with dark shimmer on hover */
.rz-menu.grid-main-menu .rz-navigation-item-icon,
.rz-menu.grid-side-menu .rz-navigation-item-icon {
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

.rz-menu.grid-main-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-side-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-main-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-menu.grid-side-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-text {
    color: #029fc8 !important;
}

/* Export: green on hover (specificity must beat the general cyan rule above) */
.rz-menu.grid-main-menu .menu-item-exportButton > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-main-menu .menu-item-exportButton > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-menu.grid-main-menu .menu-item-exportButton > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon-children,
.rz-menu.grid-side-menu .menu-item-exportButton > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-side-menu .menu-item-exportButton > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-menu.grid-side-menu .menu-item-exportButton > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon-children {
    color: var(--rz-success) !important;
}

/* Delete & Clear Filter: red on hover */
.rz-menu.grid-main-menu .menu-item-hover-danger > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-main-menu .menu-item-hover-danger > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-menu.grid-side-menu .menu-item-hover-danger > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-side-menu .menu-item-hover-danger > .rz-navigation-item-wrapper:hover .rz-navigation-item-text {
    color: var(--rz-danger) !important;
}

/* Theme-owned site logo with white glow */
.headerLogo {
    background-image: url('/css/pls/pls_kreuz_trans_small.png') !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: left center !important;
    width: 38px !important;
    height: 38px !important;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.7)) drop-shadow(0 0 2px rgba(255, 255, 255, 0.9));
    animation: plsLogoGlow 12s ease-in-out infinite;
}

@keyframes plsLogoGlow {
    0%, 100% {
        filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.5)) drop-shadow(0 0 1px rgba(255, 255, 255, 0.8));
    }
    50% {
        filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 4px rgba(255, 255, 255, 1));
    }
}

/* Filled primary buttons with PLS cyan + subtle border */
.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined) {
    background-color: #029fc8 !important;
    background-image: linear-gradient(135deg, #0088ab 0%, #029fc8 55%, #32b9dc 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(2, 159, 200, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease !important;
}

.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):not(:active):hover {
    transform: translateY(-1px);
    background-image: linear-gradient(135deg, #029fc8 0%, #32b9dc 55%, #5ccbe5 100%) !important;
    box-shadow: 0 8px 20px rgba(2, 159, 200, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):active {
    transform: translateY(0);
    background-image: linear-gradient(135deg, #006f8c 0%, #0088ab 58%, #029fc8 100%) !important;
    box-shadow: 0 3px 10px rgba(2, 159, 200, 0.26) !important;
}


/* Validation */
.rz-form-field:has(.rz-dropdown.invalid),
.rz-form-field:has(.rz-textbox.invalid),
.rz-form-field:has(.ggt-picker.invalid) {
    border: 2px solid var(--rz-danger);
    border-radius: 4px;
    padding: 2px;
}

.rz-form-field-content > .rz-dropdown.invalid,
.rz-form-field-content > .rz-textbox.invalid,
.rz-form-field-content > .ggt-picker.invalid > .rz-inputtext {
    border: none !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.rz-datatable .rz-textbox.invalid,
.rz-datatable .rz-dropdown.invalid,
.rz-datatable .rz-numeric-input.invalid,
.rz-datatable .rz-masked.invalid,
.rz-datatable .rz-datepicker .invalid {
    border: 2px solid var(--rz-danger) !important;
    box-shadow: none !important;
    border-radius: 2px;
    outline: 0 !important;
}

.dataFlowMappingSourceFieldDropDownDescription,
.fk-footertext {
    color: var(--rz-primary);
}

.lockedIcon {
    color: #00000066 !important;
    font-size: 1rem !important;
}

.main-component-progressbar {
    height: 5px;
}

.rz-fieldset + .rz-fieldset {
    margin-top: 20px;
}

.rz-message-popup {
    z-index: 100;
}

.mark.highlight-match {
    background-color: rgba(2, 159, 200, 0.3);
    color: #062d3e;
    border-radius: 3px;
    padding: 0 2px;
}

.grid-goto-link,
.goto-link {
    text-decoration: underline !important;
}

.dlg-grid .rz-dialog-content .rz-data-grid .rz-data-grid-data::-webkit-scrollbar {
    background-color: var(--rz-scrollbar-background-color);
    width: var(--rz-scrollbar-size);
    height: var(--rz-scrollbar-size);
}

.dlg-grid .rz-dialog-content .rz-data-grid .rz-data-grid-data::-webkit-scrollbar-thumb {
    background: var(--rz-scrollbar-color);
    border: 4px solid rgba(0, 0, 0, 0);
    background-clip: padding-box;
    border-radius: var(--rz-scrollbar-border-radius);
    min-width: var(--rz-scrollbar-size);
    min-height: var(--rz-scrollbar-size);
}

.dlg-grid .rz-dialog-content .rz-data-grid .rz-data-grid-data {
    scrollbar-width: var(--rz-scrollbar-size);
    scrollbar-color: var(--rz-scrollbar-color);
}

/* Right settings sidebar: white text on blue background */
.rz-sidebar-end .rz-text,
.rz-sidebar-end .rz-text-overline,
.rz-sidebar-end label,
.rz-sidebar-end a,
.rz-sidebar-end .rz-link {
    color: #ffffff !important;
}

.rz-sidebar-end .rz-text-subtitle1 {
    color: #b2ff59 !important;
}

.rz-sidebar-end a:hover,
.rz-sidebar-end .rz-link:hover {
    color: #b0e8f7 !important;
}

/* ── AppGenerator: light-theme overrides for generation panel ── */
.generation-status {
    border: 1px solid var(--rz-base-600) !important;
    background: linear-gradient(160deg, #e8f4f8 0%, #daeef5 100%) !important;
}

.generation-status.tone-live {
    border-color: #0088ab !important;
    background: linear-gradient(160deg, #d6eef6 0%, #c8e6f0 100%) !important;
}

.generation-status.tone-paused {
    border-color: #b8960e !important;
    background: linear-gradient(160deg, #fdf6e3 0%, #f5edcf 100%) !important;
}

.generation-status.tone-ok {
    border-color: #2f7a4b !important;
    background: linear-gradient(160deg, #e4f5ec 0%, #d4eede 100%) !important;
}

.generation-status.tone-error {
    border-color: #c44040 !important;
    background: linear-gradient(160deg, #fce8e8 0%, #f5d6d6 100%) !important;
}

.status-phase-icon {
    background: var(--rz-base-700) !important;
    color: var(--rz-base-100) !important;
}

.status-title {
    color: var(--rz-base-50) !important;
}

.status-message {
    color: var(--rz-base-300) !important;
}

.status-chip {
    border: 1px solid var(--rz-base-600) !important;
    background: var(--rz-base-800) !important;
    color: var(--rz-base-200) !important;
}

.status-chip.status-chip-warning {
    border-color: #c4a030 !important;
    background: #fdf6e3 !important;
    color: #7a6000 !important;
}

.generation-log {
    background: #f5fafb !important;
    color: var(--rz-base-100) !important;
    border: 1px solid var(--rz-base-600);
}

.log-section-title {
    color: #0088ab !important;
}

.log-time {
    color: var(--rz-base-400) !important;
}

.log-item {
    border-bottom: 1px solid var(--rz-base-700) !important;
}

.log-item.phase-logo { color: #8a6d20 !important; }
.log-item.phase-generating { color: #0d6986 !important; }
.log-item.phase-building { color: #6d6b12 !important; }
.log-item.phase-fixing { color: #a85d3a !important; }
.log-item.phase-publishing { color: #4a7a30 !important; }
.log-item.phase-git { color: #b03060 !important; }
.log-item.phase-database { color: #7a4a8a !important; }
.log-item.phase-completed { color: #1a8a5a !important; }
.log-item.phase-failed { color: #c03030 !important; }

.assistant-card {
    border: 1px solid var(--rz-base-600) !important;
    background: linear-gradient(160deg, #f0f7fa 0%, #e8f2f6 100%) !important;
    color: var(--rz-base-100) !important;
}

.assistant-card-title {
    color: #0088ab !important;
}

.todo-item {
    border-bottom: 1px solid var(--rz-base-700) !important;
}

.todo-item.state-todo .todo-icon { color: var(--rz-base-400) !important; }
.todo-item.state-doing .todo-icon { color: #0088ab !important; }
.todo-item.state-done .todo-icon { color: #2a8a50 !important; }
.todo-item.state-blocked .todo-icon { color: #c03030 !important; }

.question-idle {
    border: 1px dashed var(--rz-base-600) !important;
    color: var(--rz-base-400) !important;
    background: transparent !important;
}

.question-status {
    border: 1px solid #2f7148 !important;
    background: #e4f5ec !important;
    color: #1a5a30 !important;
}

.question-text {
    color: var(--rz-base-100) !important;
}

.question-text-input {
    border: 1px solid var(--rz-base-600) !important;
    background: #ffffff !important;
    color: var(--rz-base-100) !important;
}

.question-text-input:focus {
    border-color: #0088ab !important;
    box-shadow: 0 0 0 2px rgba(0, 136, 171, 0.2) !important;
}

.question-option {
    border: 1px solid var(--rz-base-600) !important;
    background: var(--rz-base-800) !important;
    color: var(--rz-base-100) !important;
}

.question-option:hover {
    border-color: #0088ab !important;
    background: #d6eef6 !important;
}

.question-option.is-selected {
    border-color: #0088ab !important;
    background: #c8e6f0 !important;
    color: var(--rz-base-50) !important;
}

.question-submit {
    border: 1px solid #0088ab !important;
    background: linear-gradient(160deg, #029fc8 0%, #0088ab 100%) !important;
    color: #ffffff !important;
}

.generator-output-details {
    border: 1px solid var(--rz-base-600) !important;
    background: #f5fafb !important;
}

.generator-output-details summary {
    color: #0088ab !important;
    background: var(--rz-base-800) !important;
    border-bottom: 1px solid var(--rz-base-600) !important;
}

.generator-output-markdown {
    color: var(--rz-base-200) !important;
}

.generator-output-markdown h1,
.generator-output-markdown h2,
.generator-output-markdown h3,
.generator-output-markdown h4 {
    color: #0d6986 !important;
}

.generator-output-markdown code {
    background: var(--rz-base-800) !important;
}

.generator-output-markdown pre {
    background: var(--rz-base-800) !important;
}

.generator-output-markdown a {
    color: #029fc8 !important;
}

.generator-output-markdown blockquote {
    border-left: 2px solid #0088ab !important;
    color: #0d6986 !important;
}

.operation-item {
    border-bottom: 1px solid var(--rz-base-700) !important;
}

.operation-icon { color: var(--rz-base-300) !important; }
.operation-time { color: var(--rz-base-400) !important; }
.operation-tag { color: #8a6d20 !important; }
.operation-message { color: var(--rz-base-200) !important; }

.operation-item.tone-success .operation-icon,
.operation-item.tone-success .operation-tag { color: #2a8a50 !important; }

.operation-item.tone-warning .operation-icon,
.operation-item.tone-warning .operation-tag { color: #a88520 !important; }

.operation-item.tone-error .operation-icon,
.operation-item.tone-error .operation-tag { color: #c03030 !important; }

.cancel-notice {
    border: 1px solid #c4a030 !important;
    background: #fdf6e3 !important;
    color: #7a6000 !important;
}

.error-message { color: #c03030 !important; }

.error-message pre {
    background: var(--rz-base-800) !important;
    color: var(--rz-base-100) !important;
}

.chat-response { color: var(--rz-base-100) !important; }

.chat-response-markdown {
    background: #f5fafb !important;
    color: var(--rz-base-100) !important;
    border: 1px solid var(--rz-base-600);
}

.chat-response-markdown h1,
.chat-response-markdown h2,
.chat-response-markdown h3,
.chat-response-markdown h4 {
    color: #0d6986 !important;
}

.chat-response-markdown code { background: var(--rz-base-800) !important; }
.chat-response-markdown pre { background: var(--rz-base-800) !important; }
.chat-response-markdown th { background: var(--rz-base-800) !important; color: #0d6986 !important; }
.chat-response-markdown th,
.chat-response-markdown td { border-color: var(--rz-base-600) !important; }
.chat-response-markdown a { color: #029fc8 !important; }
.chat-response-markdown blockquote { border-left-color: #0088ab !important; color: #0d6986 !important; }

/* ZPhaseTrack: light-theme overrides */
.zpt-node {
    border: 1px solid var(--rz-base-600) !important;
    background: var(--rz-base-800) !important;
    color: var(--rz-base-400) !important;
}

.zpt-node-icon {
    background: var(--rz-base-700) !important;
    color: var(--rz-base-400) !important;
}

/* Completed */
.zpt-completed {
    border-color: #3a9a5c !important;
    background: #e4f5ec !important;
    color: #1a5a30 !important;
}

.zpt-completed .zpt-node-icon {
    background: #3a9a5c !important;
    color: #ffffff !important;
}

/* Active */
.zpt-active {
    border-color: #0088ab !important;
    background: #d0ecf4 !important;
    color: #04415a !important;
}

.zpt-active .zpt-node-icon {
    background: #0088ab !important;
    color: #ffffff !important;
}

.zpt-active.zpt-animate {
    animation: zpt-pulse-light 1.5s ease-in-out infinite !important;
}

@keyframes zpt-pulse-light {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(0, 136, 171, 0);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(0, 136, 171, 0.25);
    }
}

/* Failed */
.zpt-failed {
    border-color: #c04040 !important;
    background: #fce8e8 !important;
    color: #8a2020 !important;
}

.zpt-failed .zpt-node-icon {
    background: #c04040 !important;
    color: #ffffff !important;
}

/* Panel menu depth differentiation:
   L3+ gets a quiet tint, L4+ a stronger tint plus a primary-colored accent rail.
   Each `.rz-navigation-item` chain represents one nesting level; the wrapper's own
   LI counts, so 3 chains = L3+, 4 chains = L4+. */
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item-wrapper {
    background-color: rgba(128, 128, 128, 0.08);
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item-wrapper {
    background-color: rgba(128, 128, 128, 0.18);
    box-shadow: inset 3px 0 0 var(--rz-primary);
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item-wrapper:hover,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item-wrapper-active,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item-active {
    box-shadow: inset 3px 0 0 var(--rz-primary), 0 0 0 1px var(--rz-primary-light, var(--rz-primary));
}
