@charset "UTF-8";
html {
  scrollbar-gutter: stable;
}

.login-form .ant-col {
  width: 100%;
}
.login-form .ant-form-item-label {
  display: flex;
  justify-content: start;
}

.login-otp {
  width: 100%;
}
.login-otp .ant-otp {
  display: flex;
  width: 100%;
}
.login-otp .ant-otp-input {
  flex: 1;
  width: 100%;
  min-width: 0;
  height: 52px;
  font-size: 22px;
}

.ant-modal .ant-modal-content {
  padding: 16px; /* Setze den Innenabstand */
}
.ant-modal h1, .ant-modal h2, .ant-modal h3, .ant-modal h4, .ant-modal h5, .ant-modal h6, .ant-modal p {
  margin: 0;
}

/*
 * Scroll-Chaining unterbinden — wenn der User innerhalb eines Modals (oder
 * eines Select-Dropdowns) scrollt, soll das nicht den dahinterliegenden
 * Seiteninhalt mitziehen.
 */
.ant-modal-wrap,
.ant-modal-mask,
.ant-select-dropdown,
.ant-select-dropdown .rc-virtual-list,
.ant-select-dropdown .rc-virtual-list-holder,
.ant-picker-dropdown,
.ant-dropdown {
  overscroll-behavior: contain;
}

/*
 * Body-Scroll-Lock: AntDs Default greift in Kombination mit html { scrollbar-gutter: stable }
 * nicht zuverlässig. Sobald irgendein Modal sichtbar ist, friert hier das html-Scrolling ein.
 */
html:has(.ant-modal-wrap:not([style*="display: none"])),
body:has(.ant-modal-wrap:not([style*="display: none"])) {
  overflow: hidden;
}

/*
 * AntD Segmented: der slidende Thumb übernimmt während der Animation die volle
 * Container-Höhe statt der Item-Höhe. Hier auf die Item-Geometrie zwingen.
 */
.ant-segmented {
  /* Bootstrap/Globalstyles aus app-styles setzen u.U. 8px margin auf
     form/btn-artige Elemente; das verschiebt das slidende Thumb in
     der Animation. Hier hart auf 0 zwingen. */
}
.ant-segmented .ant-segmented-group,
.ant-segmented .ant-segmented-item,
.ant-segmented .ant-segmented-item-label,
.ant-segmented .ant-segmented-item-input,
.ant-segmented .ant-segmented-thumb {
  margin: 0 !important;
}
.ant-segmented .ant-segmented-item {
  display: flex;
  align-items: center;
}
.ant-segmented .ant-segmented-item-label {
  line-height: 1;
  padding-block: 6px;
}
.ant-segmented .ant-segmented-thumb {
  /* Thumb sitzt auf Höhe der Items, nicht des Containers */
  top: 2px !important;
  bottom: 2px !important;
  height: auto !important;
}
.ant-segmented.ant-segmented-sm .ant-segmented-item-label {
  padding-block: 4px;
}

.ant-layout-sider,
.ant-layout-header {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
}

.ant-card,
.ant-collapse-content,
.ant-tabs-content-holder,
.ant-segmented {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
}

.ant-modal-content,
.ant-drawer-content,
.ant-drawer-content-wrapper,
.ant-drawer-section {
  -webkit-backdrop-filter: blur(32px) saturate(180%);
  backdrop-filter: blur(32px) saturate(180%);
  will-change: backdrop-filter;
}

@keyframes alca-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes alca-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.ant-zoom-enter, .ant-zoom-appear,
.ant-zoom-enter-active, .ant-zoom-appear-active,
.ant-zoom-big-enter, .ant-zoom-big-appear,
.ant-zoom-big-enter-active, .ant-zoom-big-appear-active,
.ant-zoom-big-fast-enter, .ant-zoom-big-fast-appear,
.ant-zoom-big-fast-enter-active, .ant-zoom-big-fast-appear-active {
  animation-name: alca-fade-in !important;
  transform: none !important;
}

.ant-zoom-leave, .ant-zoom-leave-active,
.ant-zoom-big-leave, .ant-zoom-big-leave-active,
.ant-zoom-big-fast-leave, .ant-zoom-big-fast-leave-active {
  animation-name: alca-fade-out !important;
  transform: none !important;
}

.ant-slide-up-enter, .ant-slide-up-appear,
.ant-slide-up-enter-active, .ant-slide-up-appear-active,
.ant-slide-down-enter, .ant-slide-down-appear,
.ant-slide-down-enter-active, .ant-slide-down-appear-active,
.ant-slide-left-enter, .ant-slide-left-appear,
.ant-slide-left-enter-active, .ant-slide-left-appear-active,
.ant-slide-right-enter, .ant-slide-right-appear,
.ant-slide-right-enter-active, .ant-slide-right-appear-active {
  animation-name: alca-fade-in !important;
  transform: none !important;
}

.ant-slide-up-leave, .ant-slide-up-leave-active,
.ant-slide-down-leave, .ant-slide-down-leave-active,
.ant-slide-left-leave, .ant-slide-left-leave-active,
.ant-slide-right-leave, .ant-slide-right-leave-active {
  animation-name: alca-fade-out !important;
  transform: none !important;
}

.ant-move-up-enter, .ant-move-up-appear,
.ant-move-up-enter-active, .ant-move-up-appear-active,
.ant-move-down-enter, .ant-move-down-appear,
.ant-move-down-enter-active, .ant-move-down-appear-active,
.ant-move-left-enter, .ant-move-left-appear,
.ant-move-left-enter-active, .ant-move-left-appear-active,
.ant-move-right-enter, .ant-move-right-appear,
.ant-move-right-enter-active, .ant-move-right-appear-active {
  animation-name: alca-fade-in !important;
  transform: none !important;
}

.ant-move-up-leave, .ant-move-up-leave-active,
.ant-move-down-leave, .ant-move-down-leave-active,
.ant-move-left-leave, .ant-move-left-leave-active,
.ant-move-right-leave, .ant-move-right-leave-active {
  animation-name: alca-fade-out !important;
  transform: none !important;
}

.ant-popover,
.ant-popover-inner,
.ant-tooltip,
.ant-tooltip-inner,
.ant-dropdown,
.ant-dropdown-menu,
.ant-select-dropdown,
.ant-picker-dropdown,
.ant-cascader-dropdown,
.ant-mentions-dropdown,
.ant-color-picker-dropdown,
.ant-color-picker-panel,
.ant-tour,
.ant-tour-inner,
.ant-popconfirm,
.ant-popconfirm-inner,
.ant-menu-submenu-popup,
.ant-menu-submenu-popup > .ant-menu,
.ant-menu-submenu-popup .ant-menu-sub {
  -webkit-backdrop-filter: blur(32px) saturate(180%);
  backdrop-filter: blur(32px) saturate(180%);
  will-change: backdrop-filter;
}

.ant-popover,
.ant-popconfirm,
.ant-dropdown,
.ant-menu-submenu-popup {
  border-radius: 8px;
}

.ant-tooltip {
  border-radius: 6px;
}

.ant-notification,
.ant-notification-notice-wrapper,
.ant-notification-notice {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  will-change: backdrop-filter;
}

.ant-notification-notice {
  border-radius: 8px;
}

.ant-input,
.ant-input-affix-wrapper,
.ant-input-number,
.ant-select:not(.ant-select-customize-input) .ant-select-selector,
.ant-picker {
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  backdrop-filter: blur(12px) saturate(180%);
}

.ant-table,
.ant-table-thead > tr > th {
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  backdrop-filter: blur(12px) saturate(180%);
}

.ant-btn-default,
.ant-btn-dashed,
.ant-btn-text {
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  backdrop-filter: blur(12px) saturate(180%);
}

.stat-card {
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
}

.queryBuilder .ruleGroup-header,
.queryBuilder .rule {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.queryBuilder .ruleGroup-header {
  margin-bottom: 12px;
}
.queryBuilder .ruleGroup-combinators {
  width: 90px;
  min-width: 90px;
  flex: 0 0 auto;
}
.queryBuilder .ruleGroup-combinators .ant-select {
  width: 100% !important;
}
.queryBuilder .ruleGroup-addRule,
.queryBuilder .ruleGroup-addGroup,
.queryBuilder .ruleGroup-cloneGroup,
.queryBuilder .ruleGroup-remove,
.queryBuilder .ruleGroup-notToggle {
  flex: 0 0 auto;
}
.queryBuilder .ruleGroup-body > .rule,
.queryBuilder .ruleGroup-body > .ruleGroup {
  margin-bottom: 8px;
}
.queryBuilder .ruleGroup-body > .rule:last-child,
.queryBuilder .ruleGroup-body > .ruleGroup:last-child {
  margin-bottom: 0;
}
.queryBuilder .rule-fields {
  flex: 0 1 200px;
  min-width: 120px;
}
.queryBuilder .rule-fields .ant-select {
  width: 100% !important;
}
.queryBuilder .rule-operators {
  flex: 0 1 140px;
  min-width: 100px;
}
.queryBuilder .rule-operators .ant-select {
  width: 100% !important;
}
.queryBuilder .rule-value {
  flex: 1 1 120px;
  min-width: 60px;
}
.queryBuilder .rule-value .ant-input,
.queryBuilder .rule-value .ant-input-number,
.queryBuilder .rule-value .ant-select {
  width: 100% !important;
}
.queryBuilder .rule-cloneRule,
.queryBuilder .rule-remove {
  flex: 0 0 auto;
}
.queryBuilder .ruleGroup .ruleGroup {
  border-left: 3px solid var(--rqb-border-color, #d9d9d9);
  padding: 8px 0 8px 12px;
  background: rgba(0, 0, 0, 0.02);
  border-radius: 6px;
}
