/* nav bar margin/padding to remove space */
.navbar,
.navbar * {
    margin: 0px !important;
    padding: 0px !important;
}

/* Hide the default loading stripes */
.element-loader>.dash-spinner div {
    display: none !important;
}

/* Specific spinner modifications for element animations */
.element-loader>.dash-spinner {
    background: url('/assets/img/element.gif') no-repeat center center;
    background-size: 100px 100px;
    width: 100px;
    height: 100px;
}

/* Global selected/focus color overrides to avoid framework purple defaults */
:root {
    --bs-focus-ring-color: rgba(76, 183, 72, 0.25);
}

a,
.text-primary {
    color: #0b6623;
}

.form-control:focus,
.form-select:focus,
.page-link:focus,
.Select.is-focused>.Select-control,
.is-focused:not(.is-open)>.Select-control,
.DateInput_input__focused,
.SingleDatePickerInput__withBorder,
.DateRangePickerInput__withBorder {
    border-color: #4CB748 !important;
    box-shadow: 0 0 0 0.2rem rgba(76, 183, 72, 0.2) !important;
}

.VirtualizedSelectFocusedOption,
.Select-option.is-focused,
.Select-option.is-selected {
    background-color: rgba(76, 183, 72, 0.15) !important;
    color: #0b6623 !important;
}

/* Dash 4.1 component-level interactive color overrides (avoid global button impact) */
.dash-slider-container,
.dash-slider-root,
.dash-datepicker,
.dash-datepicker-input-wrapper,
.dash-datepicker-content,
.dash-datepicker-calendar {
    --Dash-Fill-Interactive-Strong: #4CB748 !important;
    --Dash-Fill-Interactive-Weak: rgba(76, 183, 72, 0.16) !important;
}

/* Dash 4.1 slider classes */
.dash-slider-track {
    background-color: #FADBAF !important;
}

.dash-slider-range {
    background-color: #4CB748 !important;
}

.dash-slider-thumb {
    background-color: #4CB748 !important;
    border-color: #ffffff !important;
}

.dash-slider-thumb:focus,
.dash-slider-thumb:hover {
    outline-color: #4CB748 !important;
    box-shadow: 0 0 0 5px rgba(76, 183, 72, 0.2) !important;
}

/* Dash 4.1 datepicker classes */
.dash-datepicker {
    accent-color: #4CB748 !important;
    outline-color: #4CB748 !important;
}

.dash-datepicker-input-wrapper:focus-within,
.dash-datepicker-input-wrapper:has(:focus-visible) {
    border-color: #4CB748 !important;
    outline-color: #4CB748 !important;
}

.dash-datepicker-calendar td:hover {
    background-color: rgba(76, 183, 72, 0.16) !important;
}

.dash-datepicker-calendar td.dash-datepicker-calendar-date-highlighted:not(.dash-datepicker-calendar-date-outside),
.dash-datepicker-calendar td.dash-datepicker-calendar-date-highlighted.dash-datepicker-calendar-date-outside:hover {
    background-color: rgba(76, 183, 72, 0.16) !important;
    color: #0b6623 !important;
}

.dash-datepicker-calendar td.dash-datepicker-calendar-date-selected:not(.dash-datepicker-calendar-date-outside),
.dash-datepicker-calendar td.dash-datepicker-calendar-date-outside.dash-datepicker-calendar-date-selected:active {
    background-color: #4CB748 !important;
    color: #ffffff !important;
}

/* Style the RangeSlider track */
.rc-slider-track,
.rc-slider-tracks {
    background-color: #4CB748 !important;
    /* Active selected range color */
}

/* Style the RangeSlider handle */
.rc-slider-handle {
    border: 2px solid #0b6623 !important;
    /* Custom handle border color */
    background-color: #4CB748 !important;
    /* Custom handle background color */
    box-shadow: none !important;
    /* Remove shadow */
}

/* Style the RangeSlider handle when active */
.rc-slider-handle:active {
    border-color: #4CB748 !important;
    /* Custom handle active border color */
}

.rc-slider-handle:hover,
.rc-slider-handle:focus,
.rc-slider-handle-click-focused,
.rc-slider-handle-dragging.rc-slider-handle-dragging.rc-slider-handle-dragging {
    border-color: #4CB748 !important;
    box-shadow: 0 0 0 5px rgba(76, 183, 72, 0.2) !important;
}

/* Style the RangeSlider rail */
.rc-slider-rail {
    background-color: #FADBAF !important;
    /* Custom rail color */
}

.rc-slider-dot {
    border: 1px solid #F2A436 !important;
    /* Custom dot border color */
    background-color: #ffffff !important;
    /* Custom dot background color */
}

/* Style the active dots */
.rc-slider-dot-active {
    border: 2px solid #4CB748 !important;
    /* Custom active dot border color */
    background-color: #4CB748 !important;
    /* Custom active dot background color */
}

/* Style the tooltip */
.rc-slider-tooltip-inner {
    background-color: #0b6623 !important;
    /* Custom tooltip background color */
    color: #ffffff !important;
    /* Custom tooltip text color */
}

/* Style the RangeSlider active portion */
.rc-slider-handle-click-focused:focus {
    box-shadow: none !important;
}

/* assets/styles.css */
.btn-toggle {
    background-color: #94D491;
    /* Default color for By cmaID */
    border-color: #4CB748;
    width: 50%;
    /* Ensures buttons are of equal width */
    text-align: center;
    /* Center the text */
    box-shadow: none;
    /* Remove default focus shadow */
}

.btn-toggle:nth-child(2) {
    background-color: #F7C886;
    /* Default color for By Date */
    border-color: #F2A436;
}

.btn-toggle.active {
    font-weight: bold;
    border-width: 4px;
    box-shadow: none;
}

/* custom.css */
.modal-custom-width {
    max-width: 80%;
}

.custom-tabs .nav-link {
    background-color: #FFFFFF;
    color: #4CB748;
    padding: 0.5rem 1rem;
    border: 1px solid #dee2e6;
    display: block;
    text-align: center;
    text-decoration: none;
    border-radius: 0.25rem;
}

.custom-tabs .nav-link.active {
    background-color: #ffe5c1 !important;
    color: #0b6623 !important;
    font-weight: bold;
    border-color: #ccc;
}

#main-tabs {
    border-bottom: none !important;
    gap: 8px;
}

#main-tabs .nav-item {
    margin-bottom: 0;
}

#main-tabs .nav-link {
    background-color: #ffffff !important;
    color: #F2A436 !important;
    border: 1px solid #F2A436 !important;
    border-radius: 6px 6px 0 0 !important;
    padding: 10px 24px !important;
    margin-right: 0 !important;
    line-height: 1.2;
    box-shadow: none !important;
}

#main-tabs .nav-link:hover,
#main-tabs .nav-link:focus {
    background-color: #ffffff !important;
    color: #F2A436 !important;
    border: 1px solid #F2A436 !important;
}

#main-tabs .nav-link.active,
#main-tabs .nav-item.show .nav-link {
    background-color: #4CB748 !important;
    color: #ffffff !important;
    border: 3px solid #ffffff !important;
    border-bottom-color: transparent !important;
    font-weight: bold;
}

#main-tabs .nav-item:last-child .nav-link {
    margin-right: 0;
}

/* assets/style.css */
.custom-dropdown .Select--multi .Select-value {
    background-color: #B7E2B6 !important;
    border-color: #0b6623 !important;
    color: #0b6623 !important;
}

/* Style the selected items container */
.custom-dropdown .Select-value {
    background-color: #d0f2d0 !important;
    /* Background color for selected items */
    color: #0b6623 !important;
}

/* Style the selected items label */
.custom-dropdown .Select-value-label {
    color: #0b6623 !important;
    /* Text color for selected items */
}

/* Style the remove icon for selected items */
.custom-dropdown .Select-value-icon {
    color: #0b6623 !important;
    /* Icon color */
}

/* Override the default focus and hover states */
.custom-dropdown .Select-arrow-zone {
    color: #0b6623 !important;
    /* Dropdown indicator color */
}

/* toggle */
.custom-toggle {
    background-color: white;
    border-radius: 6px;
    padding: 2px;
}

/* restyle radio items */
/* Colors */
/* `--trace-accent`, not `--accent`: this file loads AFTER copilot.css
   (Dash serves assets alphabetically), so a :root `--accent` here overrode
   copilot.css's green accent alias app-wide in light mode — every toolbar
   marker, checkbox tick and meter fill rendered orange (EL-551). Only the
   three .radio-group rules below mean orange. */
:root {
    --trace-accent: #F2A436;
    /* unselected (faded orange) */
    --accent-faded: rgba(242, 164, 54, 0.45);
    --selected: #4CB748;
    /* selected (green) */
}

/* Group container behaves like a single inline control */
.radio-group.btn-group {
    display: inline-flex;
    gap: 0;
    /* no gaps between buttons */
}

/* Hide native radios (kept for a11y) */
.radio-group .btn-check {
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* Base button look (UNSELECTED) */
.radio-group .btn.btn-toggle {
    display: inline-flex;
    /* fix clipping */
    align-items: center;
    /* vertically center text */
    white-space: nowrap;
    /* don't wrap/crop long labels */
    border: 1px solid var(--accent-faded);
    color: var(--trace-accent);
    background: transparent;
    font-weight: 500;
    padding: 0.35rem 0.75rem;
    /* IMPORTANT: let Bootstrap control the line-height */
    line-height: normal;
    /* or remove your previous 1.1/1.2 override */
    border-radius: 0;
    box-sizing: border-box;
    /* predictable sizing */
}

/* Collapse borders so there’s no visible gap */
.radio-group.btn-group .btn+.btn {
    margin-left: -1px;
}

/* Rounded ends only */
.radio-group.btn-group>.btn:first-child {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}

.radio-group.btn-group>.btn:last-child {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

#auto-suggestions-table .dash-table-container,
#auto-suggestions-table .dash-spreadsheet-container,
#auto-suggestions-table .dash-spreadsheet-inner,
#auto-suggestions-table .dash-spreadsheet {
    overflow: visible !important;
}

#auto-suggestions-table td,
#auto-suggestions-table th,
#auto-suggestions-table .dash-cell,
#auto-suggestions-table .dropdown,
#auto-suggestions-table .Select,
#auto-suggestions-table .Select-control,
#auto-suggestions-table .Select-menu-outer,
#auto-suggestions-table .Select-menu {
    overflow: visible !important;
}

#auto-suggestions-table .dropdown,
#auto-suggestions-table .Select,
#auto-suggestions-table .Select-menu-outer,
#auto-suggestions-table .Select-menu {
    z-index: 2000 !important;
}

#auto-suggestions-table .Select-menu-outer {
    max-height: 240px !important;
}

/* Auto table row-selection checkbox checked color (ELEMENT_LIGHTGREEN) */
#auto-suggestions-table input[type="checkbox"] {
    accent-color: #4CB748;
}

/* Hover (unselected) */
.radio-group .btn.btn-toggle:hover {
    border-color: var(--trace-accent);
    color: var(--trace-accent);
}

/* Selected state */
.radio-group .btn.btn-toggle.active,
.radio-group .btn-check:checked+.btn.btn-toggle {
    background: var(--selected);
    border-color: var(--selected);
    color: #fff;
    font-weight: 700;
}

/* Keyboard focus indicator — the native radio input is visually hidden
   (clip:rect(0,0,0,0)) so its own browser focus ring is invisible; without
   this, tabbing through a radio-group (soxa, inertia_node_summary,
   inertia_custom_csv, sos_plotter, script_framework/ui.py plot controls) gives
   no visible affordance at all. Element green ring on the adjacent label,
   never the browser/Bootstrap blue default. */
.radio-group .btn-check:focus-visible+.btn.btn-toggle {
    outline: 2px solid var(--selected);
    outline-offset: 1px;
}

/* Optional: ensure fonts match your app; remove if not needed */
.radio-group .btn.btn-toggle {
    font-size: 0.95rem;
}

/* Let each button size to its text, not share space equally */
.radio-group.btn-group>.btn {
    flex: 0 0 auto;
    /* or: flex: initial; */
}

/* Make sure width grows to fit the label text */
.radio-group .btn.btn-toggle {
    width: auto;
    min-width: max-content;
    /* helps Firefox; ensures no squish */
    /* keep your padding/line-height/border/etc. */
}
