.header-custom{background-color:#1f2937}.sortable{cursor:pointer;padding-right:2rem!important;position:relative}.sortable .col-label{border-bottom:1px dotted #9ca3af}.sort-indicator{color:#9ca3af;font-size:.8em;font-weight:700;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.sort-indicator.inactive{color:#4b5563}.grade-a{background-color:#10b981;color:#fff}.grade-b{background-color:#3b82f6;color:#fff}.grade-c{background-color:#f59e0b;color:#fff}.grade-d{background-color:#ef4444;color:#fff}.grade-f{background-color:#8b5cf6;color:#fff}.grade-chip{border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:600;padding:.25rem .75rem;text-align:center}.pass{color:#10b981}.fail,.pass{font-weight:700}.fail{color:#ef4444}.positive{color:#22c55e}.negative{color:#ef4444}.neutral{color:#9ca3af}.bullish{color:#10b981}.bearish{color:#ef4444}.drilldown-cell{color:#60a5fa;cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.gradient-text{background:-webkit-linear-gradient(45deg,#60a5fa,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.form-check-input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary)}.form-control-dark{background-color:#374151;border-color:#4b5563;color:#d1d5db}.form-control-dark:focus{background-color:#374151;border-color:var(--bs-primary);box-shadow:0 0 0 .25rem #3b82f640;color:#d1d5db}.info-box{background-color:#1f2937;border-left:4px solid #3b82f6;color:#d1d5db}.filter-group{margin-bottom:1rem;padding-bottom:1rem}.filter-group-bordered{border-bottom:1px solid var(--bs-border-color)}.filter-group:last-of-type{border-bottom:none;margin-bottom:0}.filter-heading{color:var(--bs-primary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.form-range::-webkit-slider-thumb{background:var(--bs-primary)}.form-range::-moz-range-thumb{background:var(--bs-primary)}@media (min-width:992px){.mobile-only{display:none!important}}@media (max-width:991.98px){.desktop-only{display:none!important}.sortable .col-label{border-bottom:none}}
