.tab-container {
    border-radius: 1rem;
    overflow: hidden;
}

.tab {
    position: relative;
    background-color: var(--color-primary-alpha) !important;
    border: none !important;
    padding: 0.5rem 1rem !important;
    overflow: hidden;
    cursor: pointer;
    z-index: 0;
}

.tab::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease-in-out;
    z-index: -1;
}

.tab:hover::before {
    transform: scaleX(1);
}

.tab--selected::before {
    transform: scaleX(1);
}

.tab--selected > span,
.tab:hover > span {
    color: white !important;
    font-weight: bold;
}

.tab--disabled {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5;
}

.dash-input {
    border: 2px solid var(--color-primary-alpha);
    border-radius: 1rem;
    padding: 0.5rem 0.75rem;
    width: 100%;
}

.dash-input::placeholder {
    color: var(--text-color-muted);
}

.dash-input:invalid {
    outline: 2px solid var(--color-complementary-2) !important;
}

.dash-dropdown {
    width: 100%;
}

.Select-control {
    border: 2px solid var(--color-primary-alpha);
    border-radius: 1rem;
}

.Select-control:hover {
    box-shadow: none;
}

.Select.is-disabled>.Select-control {
    background-color: var(--background-color-muted);
    border-color: var(--background-color-muted);
}

.Select-option:hover {
    color: red !important;
}

.Select.is-focused > .Select-control {
    border: 2px solid var(--color-primary-alpha);
    box-shadow: none;
}

.Select--multi .Select-value {
    border: none;
    border-radius: 1rem;
    background-color: var(--color-primary-alpha);
}

.Select--multi .Select-value-icon {
    background-color: transparent;
    box-shadow: none;
    border: none;
    padding: 0 0.5rem;
}

.Select--multi .Select-value-icon:hover {
    background-color: transparent;
    color: var(--color-primary);
}

.Select-menu-outer {
    border-radius: 0 0 1rem 1rem;
    border: 2px solid var(--color-primary-alpha);
}

.Select-placeholder {
    color: var(--text-color-muted);
}

.VirtualizedSelectFocusedOption {
    background-color: var(--color-primary-alpha);
}

[data-panel-group],
[data-panel] {
    overflow: visible !important;
}

.ag-header-viewport { background: linear-gradient(90deg, var(--color-primary), var(--color-complementary)) }

.ag-header-cell-text { color: white; }

.ag-root-wrapper, .ag-body-viewport {
    border: none !important;
    font-family: var(--font-family);
}

.ag-theme-alpine {
    border: 2px solid var(--color-primary-alpha);
    border-radius: 1rem;
    height: None;
    overflow: hidden;
}

.ag-theme-alpine .ag-header-cell,
.ag-theme-alpine .ag-header-cell .ag-icon,
.ag-theme-alpine .ag-header-cell .ag-icon-menu,
.ag-theme-alpine .ag-header-cell .ag-icon-asc,
.ag-theme-alpine .ag-header-cell .ag-icon-desc,
.ag-theme-alpine .ag-header-cell .ag-sort-descending-icon {
    color: white !important;
    fill: white !important;
}

.ag-theme-alpine .ag-cell-focus {
    border: 1px solid var(--color-primary) !important;
    outline: none !important;
}

.ag-theme-alpine {
    --ag-row-hover-color: var(--color-primary-alpha) !important;
}

.drag-handle {
    background-color: var(--color-primary-alpha);
    border-radius: 1rem;
    margin: 0rem 1rem;
    width: 0.5rem;
}

.drag-handle:hover {
    background-color: var(--color-primary);
}

.radio input[type = "radio"] {
    display: none;
}

.radio label {
    display: inline-block;
    padding: 0.5rem 1rem;
    border: 2px solid var(--color-primary-alpha);
    border-radius: 1rem;
    cursor: pointer;
    transition: 0.25s ease;
    margin-right: 0.5rem;
}

.radio label:hover {
    background-color: var(--color-primary-alpha);
}

.radio label:has(input[type="radio"]:checked) {
    background-color: var(--color-primary-alpha);
    border-color: var(--color-primary-alpha);
}
