/* Fonts */
@font-face {
    font-family: 'Nunito';
    src: url('/fonts/NunitoSans-Regular.woff2') format('woff2'),
    url('/fonts/NunitoSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Nunito';
    src: url('/fonts/NunitoSans-Bold.woff2') format('woff2'),
    url('/fonts/NunitoSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

/* Root Variables */
:root {
    --blue: #3490dc;
    --indigo: #6574cd;
    --purple: #9561e2;
    --pink: #f66d9b;
    --red: #e3342f;
    --orange: #f6993f;
    --yellow: #ffed4a;
    --green: #38c172;
    --teal: #4dc0b5;
    --cyan: #6cb2eb;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --light: #f8f9fa;
    --dark: #121212;
    --primary: var(--blue);
    --secondary: var(--gray);
    --success: var(--green);
    --info: var(--cyan);
    --warning: var(--yellow);
    --danger: var(--red);
    --font-family-sans-serif: "Nunito", sans-serif;
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Base Styling */
body {
    margin: 0;
    font-family: var(--font-family-sans-serif);
    background-color: var(--light);
    color: var(--gray-dark);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    transition: background-color 0.3s ease, color 0.3s ease;
}

[data-bs-theme="dark"] {
    background-color: var(--dark);
    color: var(--white);
}

[data-bs-theme="dark"] body {
    background-color: var(--dark);
    color: var(--white);
}

strong {
    font-weight: bold;
}

/* Links */
a {
    color: var(--blue);
    text-decoration: none;
}

a:hover {
    color: var(--indigo);
}

/* Navbar */
.navbar {
    background-color: var(--light);
    color: var(--gray-dark);
    transition: background-color 0.3s ease, color 0.3s ease;
}

[data-bs-theme="dark"] .navbar {
    background-color: var(--gray-dark);
    color: var(--white);
}

[data-bs-theme="dark"] .navbar .nav-link {
    color: var(--white);
}

[data-bs-theme="dark"] .navbar .nav-link:hover {
    color: var(--cyan);
}

/* Footer */
footer {
    background-color: var(--light);
    color: var(--gray-dark);
    text-align: center;
    padding: 1rem;
}

[data-bs-theme="dark"] footer {
    background-color: var(--dark);
    color: var(--white);
}

/* Cards */
.card {
    background-color: var(--white);
    color: var(--gray-dark);
    border: 1px solid #dee2e6;
    transition: background-color 0.3s ease, color 0.3s ease;
}

[data-bs-theme="dark"] .card {
    background-color: var(--gray-dark);
    color: var(--white);
    border-color: #495057;
}

.card .list-group-item {
    background-color: var(--white);
    color: var(--gray-dark);
}

[data-bs-theme="dark"] .card .list-group-item {
    background-color: var(--dark);
    color: var(--white);
}

/* Buttons */
.btn-primary {
    background-color: var(--blue);
    border-color: var(--blue);
}

[data-bs-theme="dark"] .btn-primary {
    background-color: var(--cyan);
    border-color: var(--cyan);
    color: var(--dark);
}

/* Sidebar */
.sidebar {
    background: linear-gradient(180deg, var(--light), #e9ecef);
    color: var(--gray-dark);
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

[data-bs-theme="dark"] .sidebar {
    background: linear-gradient(180deg, var(--gray-dark), #495057);
    color: var(--white);
}

.sidebar .nav-link {
    color: var(--gray);
    font-weight: 500;
    padding: 0.75rem 1rem;
    border: 1px solid transparent;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.sidebar .nav-link:hover {
    background-color: rgba(13, 110, 253, 0.1);
    border-color: rgba(13, 110, 253, 0.3);
}

.sidebar .nav-link.active {
    color: var(--white);
    background: linear-gradient(90deg, var(--blue), #0056b3);
    border-color: #0056b3;
    font-weight: bold;
}

[data-bs-theme="dark"] .sidebar .nav-link {
    color: #ced4da;
}

[data-bs-theme="dark"] .sidebar .nav-link.active {
    background: linear-gradient(90deg, var(--blue), #004085);
}

/* Forms */
.form-control {
    color: var(--gray-dark);
    background-color: var(--white);
    border: 1px solid #dee2e6;
    transition: background-color 0.3s ease, color 0.3s ease;
}

[data-bs-theme="dark"] .form-control {
    color: var(--white);
    background-color: #343a40;
    border: 1px solid #495057;
}

[data-bs-theme="dark"] .form-control::placeholder {
    color: #adb5bd;
}

.form-check-label {
    color: var(--gray-dark);
}

[data-bs-theme="dark"] .form-check-label {
    color: var(--white);
}

/* Muted Text */
.text-muted {
    color: #6c757d !important;
}

[data-bs-theme="dark"] .text-muted {
    color: #adb5bd !important;
}

[data-bs-theme="dark"] .logo {
    content: url("/img/syndications4radio-logo-white.webp");
}
.logo {
    content: url("/img/logo.png");
}

.bg-primary {
    background-color: var(--blue) !important;
}

body .select2-container--bootstrap-5 .select2-selection {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
}

body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
body
.select2-container--bootstrap-5.select2-container--open
.select2-selection {
    border-color: var(--bs-link-hover-color);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

body
.select2-container--bootstrap-5
.select2-selection--multiple
.select2-selection__clear,
body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__clear {
    background: transparent
    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23676a6d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e")
    50%/0.75rem auto no-repeat;
}
body
.select2-container--bootstrap-5
.select2-selection--multiple
.select2-selection__clear:hover,
body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__clear:hover {
    background: transparent
    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e")
    50%/0.75rem auto no-repeat;
}
body .select2-container--bootstrap-5 .select2-dropdown {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: var(--bs-link-hover-color);
}

body
.select2-container--bootstrap-5
.select2-dropdown
.select2-search
.select2-search__field {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
}
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-search
.select2-search__field:focus {
    border-color: var(--bs-link-hover-color);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__message {
    color: #6c757d;
}
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__option--highlighted {
    color: var(--bs-body-color);
    background-color: var(--bs-light-bg-subtle) !important;
}
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__option--selected,
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option[aria-selected="true"]:not(
        .select2-results__option--highlighted
    ) {
    color: var(--bs-body-color);
    background-color: var(--bs-dark-bg-subtle);
}
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option.select2-results__option--disabled,
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option[aria-disabled="true"] {
    color: #6c757d;
}
body
.select2-container--bootstrap-5
.select2-dropdown
.select2-results__options
.select2-results__option[role="group"]
.select2-results__group {
    color: #6c757d;
}
body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__rendered {
    color: var(--bs-body-color);
}
body
.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__rendered
.select2-selection__placeholder {
    color: #6c757d;
}
body
.select2-container--bootstrap-5
.select2-selection--multiple
.select2-selection__rendered
.select2-selection__choice {
    color: var(--bs-body-color);
    border: var(--bs-border-width) solid var(--bs-border-color);
}

body
.select2-container--bootstrap-5.select2-container--disabled
.select2-selection,
body
.select2-container--bootstrap-5.select2-container--disabled.select2-container--focus
.select2-selection {
    color: #6c757d;
    background-color: var(--bs-light-bg-subtle);
    border-color: var(--bs-dark-bg-subtle);
}
.is-valid + body .select2-container--bootstrap-5 .select2-selection,
.was-validated
select:valid
+ body
.select2-container--bootstrap-5
.select2-selection {
    border-color: #198754;
}
.is-valid
+ body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.is-valid
+ body
.select2-container--bootstrap-5.select2-container--open
.select2-selection,
.was-validated
select:valid
+ body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.was-validated
select:valid
+ body
.select2-container--bootstrap-5.select2-container--open
.select2-selection {
    border-color: #198754;
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
.is-invalid + body .select2-container--bootstrap-5 .select2-selection,
.was-validated
select:invalid
+ body
.select2-container--bootstrap-5
.select2-selection {
    border-color: #dc3545;
}
.is-invalid
+ body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.is-invalid
+ body
.select2-container--bootstrap-5.select2-container--open
.select2-selection,
.was-validated
select:invalid
+ body
.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.was-validated
select:invalid
+ body
.select2-container--bootstrap-5.select2-container--open
.select2-selection {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
