.bottom-40 {
    bottom: 40% !important;
}

.bg-blur {
    backdrop-filter: blur(5px);
    --bs-bg-opacity: 0.5 !important;
}
.radio-group .form-check {
    padding-left: 0;
  }
  
  .radio-group .btn-group > .form-check:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  
  .radio-group .btn-group > .form-check:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    margin-left: -1px;
  }

/* Card styling */
.card {
    border: 1px solid rgba(0, 0, 0, 0.08);
}

/* Date picker sizing fix */
.DateRangePickerInput {
    border-radius: 0.375rem !important;
}

.DateInput {
    width: 100px !important;
}

.DateInput_input {
    font-size: 0.85rem !important;
    padding: 4px 8px !important;
}

/* Dropdown sizing */
.Select-control {
    border-radius: 0.375rem !important;
}

.Select-placeholder,
.Select-value-label {
    font-size: 0.85rem !important;
}

.Select-menu-outer {
    z-index: 5000 !important;
}

/* Slider adjustments */
.rc-slider-mark-text {
    font-size: 0.7rem !important;
}

/* Progress bar */
.progress {
    border-radius: 0.25rem;
}

/* Radio button group */
.btn-group .btn-sm {
    padding: 0.2rem 0.5rem;
    font-size: 0.8rem;
}

/* Skeleton container - NO SCROLLING */
#skeleton {
    overflow: visible !important;
}

#skeleton > div {
    overflow: visible !important;
}

/* Ensure skeleton cards don't cause horizontal scroll */
/* .card-body {
    overflow-x: hidden;
} */

/* Text truncation helper */
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Stat cards compact */
.stat-card .card-body {
    padding: 0.5rem 0.75rem;
}

/* Small labels */
label.small {
    margin-bottom: 0.25rem;
}

/* Navbar link styling */
.navbar .nav-link:hover {
    opacity: 0.85;
}

/* Card header compact */
.card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* Chart container padding */
.js-plotly-plot {
    width: 100% !important;
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .DateInput {
        width: 85px !important;
    }
    
    .DateInput_input {
        font-size: 0.8rem !important;
        padding: 3px 6px !important;
    }
}

/* Tooltip styling */
.tooltip-inner {
    font-size: 0.8rem;
    max-width: 250px;
}

/* Button group in card header */
.card-header .btn-group {
    display: inline-flex;
}

.card-header .btn {
    display: inline-flex;
    align-items: center;
}

/* Clipboard button styling */
.card-header .btn .dash-clipboard {
    display: inline;
}
