:root {
    /* ICU Light: shop.icuserver.com look: black chrome, logo orange, forest-green accents */
    --rz-white: #ffffff;
    --rz-black: #000000;

    /* Base scale: dark text tones at 50 -> bright surfaces at 900 */
    --rz-base: #293142;
    --rz-base-50: #121212;
    --rz-base-100: #293142;
    --rz-base-200: #3f495a;
    --rz-base-300: #596476;
    --rz-base-400: #717c8d;
    --rz-base-500: #929baa;
    --rz-base-600: #bdc4cc;
    --rz-base-700: #dde2e5;
    --rz-base-800: #f3f6f6;
    --rz-base-900: #ffffff;
    --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: ICU logo orange from shop.icuserver.com; dark labels for contrast */
    --rz-primary: #e18409;
    --rz-primary-light: #f59a2a;
    --rz-primary-lighter: rgba(225, 132, 9, 0.18);
    --rz-primary-dark: #b86a08;
    --rz-primary-darker: #8a4f06;

    /* Secondary: ICU forest green from the shop category blocks */
    --rz-secondary: #0b5233;
    --rz-secondary-light: #147a4c;
    --rz-secondary-lighter: rgba(11, 82, 51, 0.22);
    --rz-secondary-dark: #094028;
    --rz-secondary-darker: #072e1d;

    --rz-info: #6f7580;
    --rz-info-light: #9299a3;
    --rz-info-lighter: rgba(111, 117, 128, 0.16);
    --rz-info-dark: #575e68;
    --rz-info-darker: #424852;

    --rz-success: #22863a;
    --rz-success-light: #40c057;
    --rz-success-lighter: rgba(34, 134, 58, 0.16);
    --rz-success-dark: #176b2c;
    --rz-success-darker: #0f4f20;

    --rz-warning: #fcd000;
    --rz-warning-light: #ffe066;
    --rz-warning-lighter: rgba(252, 208, 0, 0.18);
    --rz-warning-dark: #c9a500;
    --rz-warning-darker: #9c8000;

    --rz-danger: #c9332b;
    --rz-danger-light: #dd5a52;
    --rz-danger-lighter: rgba(201, 51, 43, 0.16);
    --rz-danger-dark: #a82923;
    --rz-danger-darker: #85211c;

    --rz-on-base: #ffffff;
    --rz-on-base-light: #333333;
    --rz-on-base-lighter: #333333;
    --rz-on-base-dark: #ffffff;
    --rz-on-base-darker: #ffffff;

    --rz-on-primary: #121212;
    --rz-on-primary-light: #121212;
    --rz-on-primary-lighter: #121212;
    --rz-on-primary-dark: #ffffff;
    --rz-on-primary-darker: #ffffff;

    --rz-on-secondary: #ffffff;
    --rz-on-secondary-light: #ffffff;
    --rz-on-secondary-lighter: #0b5233;
    --rz-on-secondary-dark: #ffffff;
    --rz-on-secondary-darker: #ffffff;

    --rz-on-info: #ffffff;
    --rz-on-info-light: #333333;
    --rz-on-info-lighter: #333333;
    --rz-on-info-dark: #ffffff;
    --rz-on-info-darker: #ffffff;

    --rz-on-success: #ffffff;
    --rz-on-success-light: #102a16;
    --rz-on-success-lighter: #102a16;
    --rz-on-success-dark: #ffffff;
    --rz-on-success-darker: #ffffff;

    --rz-on-warning: #1a2b40;
    --rz-on-warning-light: #1a2b40;
    --rz-on-warning-lighter: #6f5b00;
    --rz-on-warning-dark: #1a2b40;
    --rz-on-warning-darker: #1a2b40;

    --rz-on-danger: #ffffff;
    --rz-on-danger-light: #ffffff;
    --rz-on-danger-lighter: #6d1b17;
    --rz-on-danger-dark: #ffffff;
    --rz-on-danger-darker: #ffffff;

    /* Series palette for charts: ICU orange/navy with distinct semantic accents */
    --rz-series-1: #e18409;
    --rz-series-2: #f59a2a;
    --rz-series-3: #121212;
    --rz-series-4: #4b586d;
    --rz-series-5: #2f7897;
    --rz-series-6: #55b7a3;
    --rz-series-7: #d89b16;
    --rz-series-8: #121212;
    --rz-series-9: #78c8b8;
    --rz-series-10: #263044;
    --rz-series-11: #7b8799;
    --rz-series-12: #c9332b;
    --rz-series-13: #176b58;
    --rz-series-14: #3b8ba7;
    --rz-series-15: #354056;
    --rz-series-16: #68758a;
    --rz-series-17: #3aa88f;
    --rz-series-18: #98a3b2;
    --rz-series-19: #a82923;
    --rz-series-20: #75613f;
    --rz-series-21: #b27c10;
    --rz-series-22: #8dd4c5;
    --rz-series-23: #aeb7c2;
    --rz-series-24: #dce3e2;

    /* ICU custom variables */
    --icu-orange: #e18409;
    --icu-orange-soft: #fdf4ea;
    --icu-orange-bright: #f59a2a;
    --icu-black: #121212;
    --icu-green: #0b5233;

    /* 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: #f3f3f3;
    --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: restrained brand color for selected page */
    --rz-pager-numeric-button-selected-background-color: transparent;
    --rz-pager-numeric-button-selected-color: var(--icu-black);

    /* Chrome: shop black header/footer with ICU orange separators */
    --rz-header-background-color: var(--icu-black);
    --rz-header-color: #ffffff;
    --rz-footer-background-color: var(--icu-black);
    --rz-footer-color: #ffffff;
    --rz-sidebar-background-color: #f4f8f7;
    --rz-sidebar-color: var(--icu-black);
    --rz-panel-menu-background-color: #f4f8f7;
    --rz-panel-menu-item-color: var(--icu-black);
    --rz-panel-menu-item-background-color: transparent;
    --rz-panel-menu-item-2nd-level-background-color: rgba(0, 0, 0, 0.035);
    --rz-panel-menu-text-color: var(--icu-black);

    /* Menu hover/active: pale orange surface with dark orange text */
    --rz-menu-item-hover-color: #b86a08;
    --rz-menu-item-icon-hover-color: #b86a08;
    --rz-menu-item-hover-background-color: var(--icu-orange-soft);
    --rz-menu-item-selected-color: var(--icu-black);
    --rz-menu-item-selected-background-color: rgba(225, 132, 9, 0.28);
    --rz-dropdown-item-hover-background-color: var(--rz-dropdown-item-selected-background-color);
    --rz-dropdown-item-hover-color: var(--rz-dropdown-item-selected-color);
    --rz-panel-menu-item-hover-color: #b86a08;
    --rz-panel-menu-item-hover-background-color: var(--icu-orange-soft);
    --rz-panel-menu-item-active-color: var(--icu-black);
    --rz-panel-menu-item-active-background-color: var(--icu-orange-soft);

    /* Grid selection: pale ICU orange highlight */
    --rz-grid-selected-background-color: rgba(225, 132, 9, 0.28);
    --rz-grid-selected-color: var(--rz-base-50);
    --rz-grid-hover-color: var(--icu-black);

    /* Base background: slightly darker than pure white */
    --rz-base-background-color: var(--rz-base-800);

    /* Dialog: darker background */
    --rz-dialog-background-color: #f3f3f3;
    --rz-dialog-title-background-color: #f3f3f3;

    /* 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(69, 69, 69, 0.07);
    --rz-shadow-2: 0 2px 8px rgba(69, 69, 69, 0.08);
    --rz-shadow-3: 0 6px 18px rgba(69, 69, 69, 0.1);
    --rz-shadow-4: 0 10px 24px rgba(69, 69, 69, 0.12);
    --rz-shadow-5: 0 14px 30px rgba(69, 69, 69, 0.14);
    --rz-shadow-6: 0 18px 36px rgba(69, 69, 69, 0.16);
    --rz-shadow-7: 0 22px 42px rgba(69, 69, 69, 0.18);
    --rz-shadow-8: 0 26px 48px rgba(69, 69, 69, 0.2);
    --rz-shadow-9: 0 30px 54px rgba(69, 69, 69, 0.22);
    --rz-shadow-10: 0 34px 60px rgba(69, 69, 69, 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 #d8d8d4 !important;
    --rz-fieldset-legend-color: var(--rz-base-100) !important;
    --rz-fieldset-legend-icon-color: var(--icu-orange) !important;
    --rz-fieldset-toggle-icon-color: var(--icu-orange) !important;
    --rz-tabs-padding: 0 !important;

    /* Input: white background */
    --rz-input-background-color: #ffffff;
    --rz-input-hover-background-color: #fff8f0;
    --rz-input-focus-background-color: #ffffff;
    --rz-input-hover-border: var(--rz-border-width) solid rgba(225, 132, 9, 0.65);
    --rz-input-focus-border: var(--rz-border-width) solid var(--rz-primary);
    --rz-input-hover-border-block-end: var(--rz-border-width) solid rgba(225, 132, 9, 0.75);
    --rz-input-focus-border-block-end: var(--rz-border-width) solid var(--rz-primary);
    --rz-input-hover-shadow: 0 0 0 2px rgba(225, 132, 9, 0.12);
    --rz-input-focus-shadow: 0 0 0 2px rgba(225, 132, 9, 0.18);
    --rz-form-field-filled-background-color: #ffffff;
    --rz-form-field-filled-border: var(--rz-border-width) solid var(--rz-base-500);
    --rz-form-field-filled-hover-background-color: #fff8f0;
    --rz-form-field-hover-shadow: 0 0 0 2px rgba(225, 132, 9, 0.12);
    --rz-form-field-focus-shadow: 0 0 0 2px rgba(225, 132, 9, 0.18);
    --rz-form-field-filled-hover-border: var(--rz-border-width) solid rgba(225, 132, 9, 0.65);
    --rz-form-field-filled-focus-border: var(--rz-border-width) solid var(--rz-primary);
    --rz-checkbox-checked-background-color: var(--rz-primary);
    --rz-checkbox-checked-hover-background-color: var(--rz-primary-light);
    --rz-checkbox-checked-disabled-background-color: var(--rz-primary);
    --rz-checkbox-checked-color: var(--rz-on-primary);
    --rz-checkbox-checked-border: var(--rz-border-width) solid #c46e0a;
    --rz-checkbox-checked-hover-border: var(--rz-border-width) solid var(--rz-primary-dark);
    --rz-radio-active-background-color: var(--rz-primary);
    --rz-radio-checked-background-color: var(--rz-primary);
    --rz-radio-checked-hover-background-color: var(--rz-primary-light);
    --rz-radio-checked-color: var(--rz-on-primary);
    --rz-switch-checked-background-color: var(--rz-primary);
    --rz-switch-checked-circle-background-color: #ffffff;
    --rz-switch-focus-outline: 2px solid rgba(225, 132, 9, 0.45);

    /* Code: dark text that sits on the light code surface below */
    --bs-code-color: #8a4f06 !important;
}

/* <code>/<pre> must carry their own light surface. Otherwise Bootstrap only
   sets --bs-code-color (dark) while some dialogs put the tag on --rz-base /
   --rz-base-50 (also dark) — unreadable, e.g. revealed credentials. */
code, kbd, samp {
    color: #121212 !important;
    background-color: #f4eee4 !important;
    border: 1px solid rgba(18, 18, 18, 0.12);
    border-radius: 6px;
    padding: 0.15em 0.45em;
}

pre {
    color: #121212 !important;
    background-color: #f4eee4 !important;
    border: 1px solid rgba(18, 18, 18, 0.14);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    overflow: auto;
}

pre code {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: inherit !important;
}

.rz-dialog code,
.rz-dialog pre,
.rz-dialog-content code,
.rz-dialog-content pre {
    color: #121212 !important;
    background-color: #f4eee4 !important;
}

/* App chips such as Online-Benutzer stats use
   rz-background-color-base-200 + rz-color-black. Radzen Material treats
   base-200 as a pale surface; our --rz-base-* scale is inverted (200 is
   dark text). Override only the background utilities, not the variables. */
.rz-background-color-base-50 { background-color: #f7f4ef !important; }
.rz-background-color-base-100 { background-color: #f1ece5 !important; }
.rz-background-color-base-200 { background-color: #e8e2d8 !important; }
.rz-background-color-base-300 { background-color: #ddd6ca !important; }
.rz-background-color-base-400 { background-color: #cfc7b9 !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: var(--icu-black) !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;
}

.rz-form-field:not(.rz-state-disabled):not(:has(.invalid)):not(:has(:disabled)):not(:has([readonly])):not(:has(.rz-state-disabled)):not(:has(.rz-disabled)):not(:has(.rz-readonly)):hover .rz-form-field-content,
.rz-dropdown:not(.rz-state-disabled):not(.invalid):hover,
.rz-multiselect:not(.rz-state-disabled):not(.invalid):hover,
.rz-datepicker:not(.rz-state-disabled):not(:has(.invalid)):hover > .rz-inputtext,
.rz-textbox:not(:disabled):not(.invalid):hover,
.rz-textarea:not(:disabled):not(.invalid):hover,
.rz-numeric:not(.rz-state-disabled):not(.invalid):hover {
    background-color: #fff8f0 !important;
    border-color: rgba(225, 132, 9, 0.65) !important;
    box-shadow: 0 0 0 2px rgba(225, 132, 9, 0.12) !important;
}

.rz-form-field:not(.rz-state-disabled):not(:has(.invalid)):not(:has(:disabled)):not(:has([readonly])):not(:has(.rz-state-disabled)):not(:has(.rz-disabled)):not(:has(.rz-readonly)):hover .rz-form-field-label {
    color: var(--rz-primary-darker) !important;
}

.rz-chkbox-box:hover:not(.rz-state-disabled):not(.rz-disabled):not(.rz-readonly),
.rz-radiobutton-box:hover:not(.rz-state-disabled):not(.rz-disabled):not(.rz-readonly) {
    background-color: #fff8f0 !important;
    border-color: rgba(225, 132, 9, 0.75) !important;
    box-shadow: 0 0 0 2px rgba(225, 132, 9, 0.12) !important;
}

.rz-chkbox-box.rz-state-active,
.rz-chkbox-box.rz-state-active:hover:not(.rz-state-disabled),
.rz-radiobutton-box.rz-state-active,
.rz-radiobutton-box.rz-state-active:hover:not(.rz-state-disabled) {
    background-color: var(--rz-primary) !important;
    border-color: #c46e0a !important;
    color: var(--rz-on-primary) !important;
}

.rz-chkbox-box.rz-state-active .rzi,
.rz-radiobutton-box.rz-state-active .rzi {
    color: var(--rz-on-primary) !important;
}

.rz-switch.rz-switch-checked .rz-switch-circle {
    background: var(--rz-primary) !important;
}

.rz-switch:not(.rz-switch-checked):not(.rz-state-disabled):not(.rz-disabled):not(.rz-readonly):not(:has(.rz-disabled)):not(:has(.rz-readonly)):hover .rz-switch-circle {
    background: #f5d4a8 !important;
}

.rz-switch.rz-switch-checked:not(.rz-state-disabled):not(.rz-disabled):not(.rz-readonly):not(:has(.rz-disabled)):not(:has(.rz-readonly)):hover .rz-switch-circle {
    background: var(--rz-primary-light) !important;
}

.rz-form-field.rz-state-disabled .rz-form-field-content,
.rz-form-field:has(:disabled) .rz-form-field-content,
.rz-form-field:has([readonly]) .rz-form-field-content,
.rz-form-field:has(.rz-state-disabled) .rz-form-field-content,
.rz-form-field:has(.rz-disabled) .rz-form-field-content,
.rz-form-field:has(.rz-readonly) .rz-form-field-content {
    background-color: #f2f2f0 !important;
    border-color: #c8c8c3 !important;
    box-shadow: none !important;
}

.rz-form-field.rz-state-disabled:hover .rz-form-field-content,
.rz-form-field:has(:disabled):hover .rz-form-field-content,
.rz-form-field:has([readonly]):hover .rz-form-field-content,
.rz-form-field:has(.rz-state-disabled):hover .rz-form-field-content,
.rz-form-field:has(.rz-disabled):hover .rz-form-field-content,
.rz-form-field:has(.rz-readonly):hover .rz-form-field-content {
    background-color: #f2f2f0 !important;
    border-color: #c8c8c3 !important;
    box-shadow: none !important;
}

.rz-switch.rz-switch-checked:has(.rz-disabled) .rz-switch-circle,
.rz-switch.rz-switch-checked:has(.rz-readonly) .rz-switch-circle,
.rz-switch.rz-switch-checked .rz-switch-circle.rz-disabled,
.rz-switch.rz-switch-checked .rz-switch-circle.rz-readonly,
.rz-form-field:has(.rz-switch .rz-disabled) .rz-switch .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-readonly) .rz-switch .rz-switch-circle,
.rz-form-field:has(:disabled) .rz-switch .rz-switch-circle,
.rz-form-field:has([readonly]) .rz-switch .rz-switch-circle,
.rz-switch:has(.rz-disabled) .rz-switch-circle,
.rz-switch:has(.rz-readonly) .rz-switch-circle,
.rz-switch.rz-disabled .rz-switch-circle,
.rz-switch.rz-readonly .rz-switch-circle,
.rz-switch .rz-switch-circle.rz-disabled,
.rz-switch .rz-switch-circle.rz-readonly,
.rz-form-field:has(.rz-switch .rz-switch-circle.rz-disabled) .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-switch-circle.rz-readonly) .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-disabled) .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-readonly) .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(:disabled) .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has([readonly]) .rz-switch.rz-switch-checked .rz-switch-circle {
    background: #8f8f8f !important;
}

.rz-switch.rz-switch-checked:has(.rz-disabled):hover .rz-switch-circle,
.rz-switch.rz-switch-checked:has(.rz-readonly):hover .rz-switch-circle,
.rz-switch.rz-switch-checked .rz-switch-circle.rz-disabled:hover,
.rz-switch.rz-switch-checked .rz-switch-circle.rz-readonly:hover,
.rz-form-field:has(.rz-switch .rz-switch-circle.rz-disabled):hover .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-switch-circle.rz-readonly):hover .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-disabled):hover .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-readonly):hover .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has(:disabled):hover .rz-switch.rz-switch-checked .rz-switch-circle,
.rz-form-field:has([readonly]):hover .rz-switch.rz-switch-checked .rz-switch-circle {
    background: #8f8f8f !important;
}

.rz-form-field:has(.rz-switch .rz-switch-circle.rz-disabled) .rz-form-field-label,
.rz-form-field:has(.rz-switch .rz-switch-circle.rz-readonly) .rz-form-field-label,
.rz-form-field:has(.rz-switch .rz-disabled) .rz-form-field-label,
.rz-form-field:has(.rz-switch .rz-readonly) .rz-form-field-label,
.rz-form-field:has(:disabled) .rz-form-field-label,
.rz-form-field:has([readonly]) .rz-form-field-label {
    color: #777777 !important;
}

.rz-form-field:has(.rz-switch .rz-disabled):hover .rz-form-field-label,
.rz-form-field:has(.rz-switch .rz-readonly):hover .rz-form-field-label,
.rz-form-field:has(:disabled):hover .rz-form-field-label,
.rz-form-field:has([readonly]):hover .rz-form-field-label,
.rz-form-field:has(.rz-state-disabled):hover .rz-form-field-label,
.rz-form-field:has(.rz-disabled):hover .rz-form-field-label,
.rz-form-field:has(.rz-readonly):hover .rz-form-field-label {
    color: #777777 !important;
}

.rz-form-field:has(.rz-switch .rz-disabled):hover .rz-switch .rz-switch-circle,
.rz-form-field:has(.rz-switch .rz-readonly):hover .rz-switch .rz-switch-circle,
.rz-form-field:has(:disabled):hover .rz-switch .rz-switch-circle,
.rz-form-field:has([readonly]):hover .rz-switch .rz-switch-circle,
.rz-switch:has(.rz-disabled):hover .rz-switch-circle,
.rz-switch:has(.rz-readonly):hover .rz-switch-circle,
.rz-switch.rz-disabled:hover .rz-switch-circle,
.rz-switch.rz-readonly:hover .rz-switch-circle,
.rz-switch .rz-switch-circle.rz-disabled:hover,
.rz-switch .rz-switch-circle.rz-readonly:hover {
    background: #8f8f8f !important;
    box-shadow: none !important;
}

/* Tabs: thin ICU orange selected state */
.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected {
    background-color: #ffffff !important;
    border-top-color: var(--icu-orange) !important;
    box-shadow: inset 0 3px 0 var(--icu-orange);
    color: #333333 !important;
}

.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected a,
.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected .rzi {
    color: #333333 !important;
}

.rz-tabview-top > .rz-tabview-nav .rz-tabview-tab:not(.rz-tabview-selected):hover,
.rz-tabview-top > .rz-tabview-nav li:not(.rz-tabview-selected):hover {
    background-color: var(--icu-orange-soft) !important;
    border-top-color: var(--icu-orange) !important;
    box-shadow: inset 0 3px 0 var(--icu-orange) !important;
    color: #b86a08 !important;
}

.rz-tabview-top > .rz-tabview-nav .rz-tabview-tab:not(.rz-tabview-selected):hover a,
.rz-tabview-top > .rz-tabview-nav .rz-tabview-tab:not(.rz-tabview-selected):hover .rzi,
.rz-tabview-top > .rz-tabview-nav li:not(.rz-tabview-selected):hover a,
.rz-tabview-top > .rz-tabview-nav li:not(.rz-tabview-selected):hover .rzi {
    color: #b86a08 !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(225, 132, 9, 0.45);
    box-sizing: border-box;
}

/* Header: shop-black banner with orange underline */
.rz-header {
    background: var(--icu-black) !important;
    color: #ffffff !important;
    border-bottom: 3px solid var(--icu-orange) !important;
    box-shadow: 0 2px 10px rgba(18, 18, 18, 0.28) !important;
}

.rz-header .whereAmI {
    color: #ffffff !important;
    text-shadow: 0 1px 1px rgba(18, 18, 18, 0.65);
}

.rz-header .rz-button:not(.rz-primary):not(.rz-danger):not(.rz-success):not(.rz-warning),
.rz-header .rz-splitbutton .rz-button {
    background-color: transparent !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.rz-header .rz-button:not(.rz-primary):not(.rz-danger):not(.rz-success):not(.rz-warning):hover,
.rz-header .rz-splitbutton .rz-button:hover {
    background-color: rgba(255, 255, 255, 0.28) !important;
    border-color: rgba(255, 255, 255, 0.72) !important;
    color: #ffffff !important;
}

/* SplitButton menu hover stays on the regular Secondary color, not Secondary-Light. */
.rz-splitbutton-menu .rz-menuitem:hover,
.rz-splitbutton-menu .rz-menuitem.rz-state-highlight:hover {
    background-color: var(--rz-secondary) !important;
    color: var(--rz-on-secondary) !important;
}

.rz-header .rzi {
    color: #ffffff !important;
    filter: drop-shadow(0 1px 1px rgba(18, 18, 18, 0.65));
}

.rz-header .zs-trigger {
    color: #ffffff !important;
    filter: drop-shadow(0 1px 1px rgba(18, 18, 18, 0.65));
}

.rz-header .zs-trigger:hover,
.rz-header .zs-trigger:focus-visible {
    background: rgba(255, 255, 255, 0.28) !important;
}

/* Footer: shop-black banner with orange underline */
.rz-footer {
    background: var(--icu-black) !important;
    color: #ffffff !important;
    border-top: 3px solid var(--icu-orange) !important;
    text-shadow: 0 1px 1px rgba(18, 18, 18, 0.65);
}

.rz-footer .footer-dock-item,
.rz-footer .rzi,
.rz-footer .clock-widget-icon,
.rz-footer .clock-widget-time,
.rz-footer .online-users-widget-icon,
.rz-footer .online-users-widget-count {
    color: #ffffff !important;
}

.rz-footer * {
    color: #ffffff !important;
}

/* Sidebar: black surface with an orange divider */
.rz-sidebar {
    background: linear-gradient(145deg, #ffffff 0%, #f1f7f5 100%) !important;
    color: var(--icu-black) !important;
    border-right: 3px solid var(--icu-orange) !important;
}

.rz-sidebar:not(.rz-sidebar-end) {
    background: #121212 !important;
    color: #ffffff !important;
}

/* Body: ICU shop light work surface */
.rz-body {
    background: #f3f3f3 !important;
}

/* Menu sidebar toggle: black like the surrounding header, orange on hover */
.rz-sidebar-toggle {
    background-color: var(--icu-black) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.rz-sidebar-toggle .rzi {
    color: #ffffff !important;
    filter: drop-shadow(0 1px 1px rgba(18, 18, 18, 0.65));
}

.rz-sidebar-toggle:hover,
.rz-sidebar-toggle:focus-visible {
    background-color: var(--icu-orange) !important;
    border-color: var(--icu-orange) !important;
    color: #121212 !important;
}

.rz-sidebar-toggle:hover .rzi,
.rz-sidebar-toggle:focus-visible .rzi {
    color: #121212 !important;
    filter: none;
}

.rz-header .rz-sidebar-toggle {
    background-color: var(--icu-black) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
}

.rz-header .rz-sidebar-toggle:hover,
.rz-header .rz-sidebar-toggle:focus-visible {
    background-color: var(--icu-orange) !important;
    border-color: var(--icu-orange) !important;
}

/* Sidebar pin button: transparent with white icon on the dark menu surface */
.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;
}

.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child {
    justify-content: flex-end !important;
    gap: 5px !important;
    padding: 0 6px 7px 0 !important;
}

.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child .rz-button {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 !important;
    border-radius: 4px !important;
}

.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child .rz-button .rzi {
    font-size: 1rem !important;
    line-height: 1 !important;
}

/* The complete left main menu uses the same strong dark grey surface. */
.rz-panel-menu {
    background-color: #121212 !important;
}

.rz-panel-menu .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-icon {
    color: #303030 !important;
}

.rz-panel-menu > .rz-navigation-item > .rz-navigation-item-wrapper {
    background-color: #121212 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.rz-panel-menu > .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-text,
.rz-panel-menu > .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-icon,
.rz-panel-menu > .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-icon-children,
.rz-panel-menu > .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-link {
    color: #ffffff !important;
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper {
    background-color: #ecece8 !important;
    border-bottom: 1px solid rgba(69, 69, 69, 0.12);
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper {
    background-color: #ddddd7 !important;
    border-bottom: 1px solid rgba(69, 69, 69, 0.16);
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper {
    background-color: #cecec5 !important;
    border-bottom: 1px solid rgba(69, 69, 69, 0.2);
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper {
    background-color: #bfbfb4 !important;
    border-bottom: 1px solid rgba(69, 69, 69, 0.24);
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper .rz-navigation-item-icon {
    color: #202020 !important;
}

/* Menu hover: quiet ICU orange */
.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: var(--icu-orange-soft) !important;
    background-image: none !important;
    color: #b86a08 !important;
    transition: none !important;
}

.rz-panel-menu .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-wrapper:hover,
.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 > .rz-navigation-item-wrapper:hover {
    background-color: var(--icu-orange-soft) !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 var(--icu-orange) !important;
    color: #b86a08 !important;
}

.rz-panel-menu .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon {
    color: #b86a08 !important;
}

.rz-panel-menu .rz-navigation-item-wrapper:has(> a.active),
.rz-panel-menu .rz-navigation-item-wrapper:has(> .rz-navigation-item-link.active),
.rz-panel-menu .rz-navigation-item-wrapper:has(a.active),
.rz-panel-menu .rz-navigation-item-active,
.rz-panel-menu .rz-navigation-item-wrapper-active {
    background-color: var(--icu-orange-soft) !important;
    background-image: none !important;
    box-shadow: inset 3px 0 0 var(--icu-orange) !important;
}

.rz-panel-menu .rz-navigation-item-wrapper:has(> a.active) .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-wrapper:has(> a.active) .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item-wrapper:has(> .rz-navigation-item-link.active) .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-wrapper:has(> .rz-navigation-item-link.active) .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item-wrapper:has(a.active) .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-wrapper:has(a.active) .rz-navigation-item-icon {
    color: #202020 !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 var(--icu-orange);
    transition: none !important;
}

.rz-panel-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item-wrapper-active .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-wrapper-active .rz-navigation-item-icon,
.rz-panel-menu .rz-navigation-item-active .rz-navigation-item-text,
.rz-panel-menu .rz-navigation-item-active .rz-navigation-item-icon {
    color: #b86a08 !important;
    transition: none !important;
}

/* Active main-menu route: strong ICU orange surface with a readable foreground. */
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> a.active),
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> .rz-navigation-item-link.active),
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper-active,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-active {
    background-color: var(--rz-primary) !important;
    background-image: none !important;
    box-shadow: inset 4px 0 0 var(--rz-secondary) !important;
    color: var(--rz-on-primary) !important;
}

.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> a.active) .rz-navigation-item-link,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> a.active) .rz-navigation-item-text,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> a.active) .rz-navigation-item-icon,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> .rz-navigation-item-link.active) .rz-navigation-item-link,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> .rz-navigation-item-link.active) .rz-navigation-item-text,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper:has(> .rz-navigation-item-link.active) .rz-navigation-item-icon,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper-active .rz-navigation-item-link,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper-active .rz-navigation-item-text,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper-active .rz-navigation-item-icon,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper-active .rz-navigation-item-icon-children,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-active .rz-navigation-item-text,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-active .rz-navigation-item-icon,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-active .rz-navigation-item-icon-children {
    color: var(--rz-on-primary) !important;
}

/* 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: green hover, except export/delete which have own effects */
.rz-menu.grid-main-menu .rz-navigation-item-icon,
.rz-menu.grid-side-menu .rz-navigation-item-icon {
    transition: color 0.12s ease;
}

.rz-menu.grid-main-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-main-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon-children,
.rz-menu.grid-main-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-menu.grid-main-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-link,
.rz-menu.grid-main-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-link *,
.rz-menu.grid-side-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon,
.rz-menu.grid-side-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon-children,
.rz-menu.grid-side-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-text,
.rz-menu.grid-side-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-link,
.rz-menu.grid-side-menu .rz-navigation-item:not(.menu-item-hover-danger):not(.menu-item-exportButton):not(.menu-item-exportButton-downloading) > .rz-navigation-item-wrapper:hover .rz-navigation-item-link * {
    color: var(--rz-primary) !important;
}

/* Export: green on hover (specificity must beat the general green 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;
}

/* ICU logo from shop.icuserver.com (ICU_Logo.png). */
.headerLogo {
    background-image: url('/css/icu/logo.png') !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: left center !important;
    width: 92px !important;
    height: 51px !important;
    filter: none;
    animation: none;
}

/* Base and primary buttons use accessible ICU orange */
.rz-button.rz-base:not(.rz-variant-text):not(.rz-variant-outlined),
.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined) {
    background-color: var(--rz-primary) !important;
    background-image: none !important;
    border: 1px solid #c46e0a !important;
    color: #121212 !important;
    box-shadow: 0 4px 12px rgba(225, 132, 9, 0.22) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.rz-button.rz-base:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):not(:active):hover,
.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):not(:active):hover {
    transform: translateY(-1px);
    background-color: #f59a2a !important;
    background-image: none !important;
    box-shadow: 0 8px 18px rgba(225, 132, 9, 0.28) !important;
}

.rz-button.rz-base:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):active,
.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):active {
    transform: translateY(0);
    background-color: #8a4f06 !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: 0 3px 8px rgba(180, 106, 8, 0.24) !important;
}

.rz-button.rz-light:not(.rz-variant-text):not(.rz-variant-outlined) {
    background-color: #ded8c6 !important;
    background-image: linear-gradient(135deg, #e6e1d2 0%, #d6ceb8 100%) !important;
    border: 1px solid #c9bea4 !important;
    color: #333333 !important;
    box-shadow: 0 2px 8px rgba(69, 69, 69, 0.12) !important;
}

.rz-button.rz-light:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):hover {
    background: var(--icu-orange-soft) !important;
    border-color: var(--icu-orange) !important;
    color: var(--icu-black) !important;
}

.rz-button.rz-dark:not(.rz-variant-text):not(.rz-variant-outlined) {
    background-color: #303030 !important;
    background-image: linear-gradient(135deg, #303030 0%, #454545 100%) !important;
    border: 1px solid #252525 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(48, 48, 48, 0.22) !important;
}

.rz-button.rz-dark:not(.rz-variant-text):not(.rz-variant-outlined):not(.rz-state-disabled):hover {
    background-image: linear-gradient(135deg, #454545 0%, #5a5a5a 100%) !important;
    border-color: #303030 !important;
}

.rz-alert.rz-light {
    --rz-alert-background-color: #d8d8d4;
    --rz-alert-color: #333333;
    --rz-alert-title-color: #333333;
    --rz-alert-icon-color: #555555;
    box-shadow: inset 0 0 0 1px #c5c5bd !important;
}

.rz-badge-light {
    background-color: #d8d8d4 !important;
    color: #333333 !important;
    box-shadow: inset 0 0 0 1px #c5c5bd !important;
}

.catalog-prepare-result-panel.rz-color-white {
    background-color: #f2f2f0 !important;
    color: #333333 !important;
}

.catalog-prepare-status.rz-color-white {
    background-color: #d8d8d4 !important;
    border: 1px solid #c5c5bd !important;
    color: #333333 !important;
}

.catalog-prepare-logs.rz-color-white {
    background-color: #ffffff !important;
    border-color: #d4d4cf !important;
    color: #333333 !important;
}

.catalog-prepare-logs .catalog-prepare-section-title,
.catalog-prepare-logs .catalog-prepare-output,
.catalog-prepare-logs .catalog-prepare-output summary,
.catalog-prepare-logs .catalog-prepare-output-body {
    color: #333333 !important;
}

.catalog-prepare-logs .catalog-prepare-log-item {
    border-bottom-color: #d8d8d4 !important;
    color: #333333 !important;
}

.catalog-prepare-logs .catalog-prepare-log-item span:first-child {
    color: #6f6f6f !important;
}

.catalog-prepare-logs .catalog-prepare-log-item span:nth-child(2) {
    color: var(--rz-primary-darker) !important;
    font-weight: 600;
}

.homescreen-grid:not(.edit-mode) .homescreen-tile:not(.no-hover):hover {
    background-color: rgba(225, 132, 9, 0.22) !important;
    box-shadow:
        inset 0 0 0 1px rgba(225, 132, 9, 0.45),
        0 8px 18px rgba(69, 69, 69, 0.14) !important;
    transform: translateY(-1px);
}

.homescreen-grid:not(.edit-mode) .homescreen-tile:not(.no-hover):hover .tile-icon,
.homescreen-grid:not(.edit-mode) .homescreen-tile:not(.no-hover):hover .tile-title,
.homescreen-grid:not(.edit-mode) .homescreen-tile:not(.no-hover):hover .clock-widget-icon,
.homescreen-grid:not(.edit-mode) .homescreen-tile:not(.no-hover):hover .clock-widget-time,
.homescreen-grid:not(.edit-mode) .homescreen-tile:not(.no-hover):hover .online-users-widget-icon,
.homescreen-grid:not(.edit-mode) .homescreen-tile:not(.no-hover):hover .online-users-widget-count {
    color: #333333 !important;
    opacity: 1 !important;
}

.footer-dock-item:not(.no-hover):hover {
    background-color: rgba(255, 255, 255, 0.24) !important;
    box-shadow:
        inset 0 0 0 1px rgba(18, 18, 18, 0.38),
        0 5px 14px rgba(18, 18, 18, 0.18) !important;
    color: var(--icu-black) !important;
}

.footer-dock-item:not(.no-hover):hover .rzi,
.footer-dock-item:not(.no-hover):hover .clock-widget-icon,
.footer-dock-item:not(.no-hover):hover .clock-widget-time,
.footer-dock-item:not(.no-hover):hover .online-users-widget-icon,
.footer-dock-item:not(.no-hover):hover .online-users-widget-count {
    color: #ffffff !important;
    opacity: 1 !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(225, 132, 9, 0.32);
    color: #333333;
    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: neutral text on light 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: #454545 !important;
}

.rz-sidebar-end .rz-text-subtitle1 {
    color: var(--icu-black) !important;
}

.rz-sidebar-end a:hover,
.rz-sidebar-end .rz-link:hover {
    color: var(--icu-black) !important;
}

/* ── AppGenerator: light-theme overrides for generation panel ── */
.generation-status {
    border: 1px solid var(--rz-base-600) !important;
    background: linear-gradient(160deg, #f6f6f6 0%, #ededed 100%) !important;
}

.generation-status.tone-live {
    border-color: #e18409 !important;
    background: linear-gradient(160deg, #fffaf0 0%, #f8f0cd 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: #fdfdfd !important;
    color: var(--rz-base-100) !important;
    border: 1px solid var(--rz-base-600);
}

.log-section-title {
    color: var(--icu-black) !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: #263044 !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, #fdfdfd 0%, #efefef 100%) !important;
    color: var(--rz-base-100) !important;
}

.assistant-card-title {
    color: var(--icu-black) !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: var(--icu-black) !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: var(--icu-orange) !important;
    box-shadow: 0 0 0 2px rgba(225, 132, 9, 0.32) !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: var(--icu-orange) !important;
    background: var(--icu-orange-soft) !important;
}

.question-option.is-selected {
    border-color: var(--icu-orange) !important;
    background: #fde9d2 !important;
    color: var(--rz-base-50) !important;
}

.question-submit {
    border: 1px solid #e18409 !important;
    background: linear-gradient(160deg, #fdf4ea 0%, #f59a2a 100%) !important;
    color: #333333 !important;
}

.question-submit:hover {
    border-color: var(--icu-black) !important;
    background: linear-gradient(160deg, #e18409 0%, #263044 100%) !important;
    color: #ffffff !important;
}

.generator-output-details {
    border: 1px solid var(--rz-base-600) !important;
    background: #fdfdfd !important;
}

.generator-output-details summary {
    color: var(--icu-black) !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: var(--icu-black) !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: var(--icu-black) !important;
}

.generator-output-markdown blockquote {
    border-left: 2px solid var(--icu-orange) !important;
    color: var(--icu-black) !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: #fdfdfd !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: var(--icu-black) !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: var(--icu-black) !important; }
.chat-response-markdown th,
.chat-response-markdown td { border-color: var(--rz-base-600) !important; }
.chat-response-markdown a { color: var(--icu-black) !important; }
.chat-response-markdown blockquote { border-left-color: var(--icu-orange) !important; color: var(--icu-black) !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: var(--icu-orange) !important;
    background: var(--icu-orange-soft) !important;
    color: #333333 !important;
}

.zpt-active .zpt-node-icon {
    background: var(--icu-orange) !important;
    color: #333333 !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(225, 132, 9, 0);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(225, 132, 9, 0.32);
    }
}

/* Failed */
.zpt-failed {
    border-color: #c04040 !important;
    background: #fce8e8 !important;
    color: #8a2020 !important;
}

.zpt-failed .zpt-node-icon {
    background: #c04040 !important;
    color: #ffffff !important;
}

.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(--icu-orange), 0 0 0 1px var(--icu-orange);
}

/* Left main menu reacts immediately; no delayed mouse-leave trail. */
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-wrapper,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-link,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-text,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-icon,
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu .rz-navigation-item-icon-children {
    transition: none !important;
    animation: none !important;
}

/* Compact controls at the bottom of the left sidebar. */
.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child .rz-button {
    background: #303234 !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color 0.08s ease, border-color 0.08s ease !important;
}

.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child .rz-button .rzi {
    color: inherit !important;
    filter: none !important;
    transition: none !important;
}

.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child .rz-button:hover,
.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child .rz-button:focus-visible {
    background: var(--rz-secondary) !important;
    border-color: #ffffff !important;
    color: var(--rz-on-secondary) !important;
    box-shadow: none !important;
    transform: none !important;
}

.rz-sidebar:not(.rz-sidebar-end) > div:has(.rz-panel-menu) > div:last-child .rz-button:active {
    background: var(--rz-secondary-dark) !important;
    border-color: #ffffff !important;
    color: var(--rz-on-secondary-dark) !important;
}

/* Dialogs use the same light shop surface as the body. */
.rz-dialog,
.rz-dialog-titlebar,
.rz-dialog-content {
    background-color: #f3f3f3 !important;
}

/* Top-level expand arrow follows the orange hover text color. */
.rz-sidebar:not(.rz-sidebar-end) .rz-panel-menu > .rz-navigation-item > .rz-navigation-item-wrapper:hover .rz-navigation-item-icon-children {
    color: #b86a08 !important;
}

/* Header SplitButtons: orange hover on the black header chrome. */
.rz-header .rz-splitbutton .rz-splitbutton-menu .rz-menuitem:hover,
.rz-header .rz-splitbutton .rz-splitbutton-menu .rz-state-highlight.rz-menuitem,
.rz-header .rz-splitbutton .rz-splitbutton-menu .rz-state-highlight.rz-menuitem:hover {
    background-color: var(--icu-orange) !important;
    color: var(--icu-black) !important;
}

