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

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

.tab::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--color-primary-4);
    transform: scaleX(0);
    transform-origin: left;
    transition: all 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;
}

.dash-input {
    border: 2px solid var(--background-color-muted);
    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-input:disabled {
    color: white;
}

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

.Select-menu-outer {
    border-radius: 0 0 1rem 1rem;
}

.ag-header-container { 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(--background-color-muted);
    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;
}
