/* Select2 Overrides */

.select2-container--default .select2-selection--multiple li.select2-selection__choice {
    color: #FFFFFF;
    background-color: #6AAAE4;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice span.select2-selection__choice__remove {
    color: #FFFFFF;
    margin-right: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice span.select2-selection__choice__remove:hover {
    color: #737373;
}

/* button and links overrides */

a {
    color: #457DB2 !important;
}

.btn-primary {
    background-color: #6AAAE4 !important;
    border-color: #6AAAE4 !important;
}

.btn-primary:hover {
    background-color: #457DB2 !important;
    border-color: #457DB2 !important;
}

a.btn-primary, a.btn-lime {
    color: #FFF !important;
}

.badge.bg-link {
    background-color: #457DB2;
    color: #FFF;
    line-height: 0.9;
}

.table-icon-options {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
    width: 100%;
}

.table-icon-options > :nth-child(n) {
    display: flex;
    margin-left: 7px;
}

#sidebar a {
    color: #FFF !important;
}

div.time-interval {
    align-items: center;
    display: flex;
    justify-content: space-around;
    margin: 2px 0 2px 0;
    padding: 0;
}

td > div.strategy-cell-items > div {
    margin-top: 10px;
}

td > div.strategy-cell-items > div a {
    margin-top: 5px;
}

/*-------------------- PROGRESS BAR --------------------*/

.progress-bar-empty {
    background-color: #f5f5f5;
}

.progress-bar-error {
    background-color: #ff5b57;
}

.progress-bar-success {
    background-color: #348fe2
}

/* add-image partial (creative form): add button and read-only state */
.add-image-btn {
    color: #fff !important;
}

.add-image-btn--readonly {
    pointer-events: none;
    opacity: 0.6;
    cursor: not-allowed;
}

/* ---- Blacklist/Whitelist toggle switch ---- */
.cb-toggle-track {
    width: 34px; height: 18px; border-radius: 9px; position: relative; transition: background .2s;
    background: #27ae60; display: inline-block; flex-shrink: 0;
}
.cb-toggle-track::after {
    content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px;
    border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
/* Blacklist mode: unchecked=green(whitelist), checked=red(blacklist) */
input[type="checkbox"]:checked + .cb-toggle-track[data-mode="blacklist"] { background: #e74c3c; }
input[type="checkbox"]:checked + .cb-toggle-track::after { transform: translateX(16px); }
input[type="checkbox"]:checked ~ .cb-toggle-label[data-mode="blacklist"] { color: #e74c3c; }
input[type="checkbox"]:not(:checked) ~ .cb-toggle-label[data-mode="blacklist"] { color: #27ae60; }
/* Whitelist mode: unchecked=red(blacklist), checked=green(whitelist) — colors inverted */
.cb-toggle-track[data-mode="whitelist"] { background: #e74c3c; }
input[type="checkbox"]:checked + .cb-toggle-track[data-mode="whitelist"] { background: #27ae60; }
input[type="checkbox"]:checked ~ .cb-toggle-label[data-mode="whitelist"] { color: #27ae60; }
input[type="checkbox"]:not(:checked) ~ .cb-toggle-label[data-mode="whitelist"] { color: #e74c3c; }

/* ---- Stacked form field layout ---- */
/* Converts horizontal label+input rows into stacked layout:
   label above (uppercase, small) and input full-width below.
   Excludes time-frames rows which keep the original horizontal grid. */

/* Cap form content column width and center it */
.form-control-with-bg .row > [class*="offset-md-"] {
    flex: 0 0 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}


.form-control-with-bg .form-group.row:not(:has(.time-frames-list)) {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 12px;
}

.form-control-with-bg .form-group.row:not(:has(.time-frames-list)) > .col-form-label,
.form-control-with-bg .form-group.row:not(:has(.time-frames-list)) > .control-label {
    font-size: 11px;
    font-weight: 600;
    color: #7c8188;
    text-transform: uppercase;
    letter-spacing: .4px;
    text-align: left !important;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0;
    padding-bottom: 2px;
}

.form-control-with-bg .form-group.row:not(:has(.time-frames-list)) > .col-md-7,
.form-control-with-bg .form-group.row:not(:has(.time-frames-list)) > [class*="col-md"]:not(.col-form-label):not(.control-label) {
    max-width: none;
    flex: 1;
    padding-left: 0;
    padding-right: 0;
}

/* Macro/select-with-text rows: remove horizontal offset, fill width */
.form-control-with-bg .input-group .offset-md-3 {
    margin-left: 0 !important;
}

.form-control-with-bg .input-group > [class*="col-md"] {
    flex: 1 !important;
    max-width: none !important;
}

.form-control-with-bg .input-group {
    width: 100%;
}

.form-control-with-bg .col-md-12[id$="_groupsContainer"] {
    padding-left: 0;
    padding-right: 0;
}

/* Appended blacklist checkboxes: fixed width, input shrinks to fit */
.form-control-with-bg .form-group.row > .checkbox-inline {
    flex: 0 0 auto;
    margin-left: 12px;
    display: flex;
    align-items: flex-start;
    padding-top: 6px;
}
