/*
 * Tema Sol.Co. — stessa grafica ERP, colore primario virato sul verde del logo Solco.
 * Caricato dopo Bootstrap (CDN 5.0.1), app.css e custom-erp.css solo quando
 * INSTALLAZIONE_TEMA=solco. Bootstrap 5.0 non espone il primario come variabile CSS,
 * quindi le classi *-primary vanno sovrascritte una per una.
 *
 * Palette
 *   --solco-primario       #008a00  testo bianco 4,53:1 (come il blu Bootstrap, 4,5:1)
 *   --solco-primario-hover #007a00
 *   --solco-primario-attivo #006b00
 *   --solco-accento        #00af00  verde del logo: solo elementi decorativi, non per testo
 *   --solco-tenue          #e6f4e6  sfondi leggeri
 *   --solco-grigio         #575656  grigio del logo
 */
:root {
    --solco-primario: #008a00;
    --solco-primario-hover: #007a00;
    --solco-primario-attivo: #006b00;
    --solco-accento: #00af00;
    --solco-tenue: #e6f4e6;
    --solco-focus: rgba(0, 138, 0, .25);
    --solco-grigio: #575656;
}

/* Link */
a {
    color: var(--solco-primario);
}
a:hover {
    color: var(--solco-primario-attivo);
}

/* Bottoni */
.btn-primary {
    color: #fff;
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}
.btn-primary:hover {
    color: #fff;
    background-color: var(--solco-primario-hover);
    border-color: var(--solco-primario-hover);
}
.btn-primary:focus,
.btn-primary.focus,
.btn-check:focus + .btn-primary {
    color: #fff;
    background-color: var(--solco-primario-hover);
    border-color: var(--solco-primario-hover);
    box-shadow: 0 0 0 .25rem var(--solco-focus);
}
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle,
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary {
    color: #fff;
    background-color: var(--solco-primario-attivo);
    border-color: var(--solco-primario-attivo);
}
.btn-primary:disabled,
.btn-primary.disabled {
    color: #fff;
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}

.btn-outline-primary {
    color: var(--solco-primario);
    border-color: var(--solco-primario);
}
.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary {
    color: #fff;
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}
.btn-outline-primary:focus,
.btn-check:focus + .btn-outline-primary {
    box-shadow: 0 0 0 .25rem var(--solco-focus);
}

.btn-link {
    color: var(--solco-primario);
}
.btn-link:hover {
    color: var(--solco-primario-attivo);
}

/* Utility */
.bg-primary {
    background-color: var(--solco-primario) !important;
}
.text-primary {
    color: var(--solco-primario) !important;
}
.border-primary {
    border-color: var(--solco-primario) !important;
}
.badge-primary,
.badge.bg-primary {
    color: #fff;
    background-color: var(--solco-primario) !important;
}
.link-primary {
    color: var(--solco-primario);
}
.link-primary:hover,
.link-primary:focus {
    color: var(--solco-primario-attivo);
}
.alert-primary {
    color: #004d00;
    background-color: var(--solco-tenue);
    border-color: #b3dcb3;
}
.table-primary,
.table-primary > td,
.table-primary > th {
    --bs-table-bg: var(--solco-tenue);
    background-color: var(--solco-tenue);
}
.list-group-item.active {
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}

/* Form: focus e controlli selezionati */
.form-control:focus,
.form-select:focus {
    border-color: #80c580;
    box-shadow: 0 0 0 .25rem var(--solco-focus);
}
.form-check-input:checked {
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}
.form-check-input:focus {
    border-color: #80c580;
    box-shadow: 0 0 0 .25rem var(--solco-focus);
}
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}
.form-range::-webkit-slider-thumb {
    background-color: var(--solco-primario);
}
.form-range::-moz-range-thumb {
    background-color: var(--solco-primario);
}

/* Navigazione */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--solco-primario);
}
.nav-link {
    color: var(--solco-primario);
}
.navbar .nav-link,
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, .55);
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link.active {
    color: #fff;
}
.nav-tabs .nav-link.active {
    color: var(--solco-primario);
}
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--solco-primario);
}
.page-item.active .page-link {
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}
.page-link {
    color: var(--solco-primario);
}
.page-link:hover {
    color: var(--solco-primario-attivo);
}
.page-link:focus {
    box-shadow: 0 0 0 .25rem var(--solco-focus);
}

/* Navbar: scura come l'originale ma virata sul verde, con un filetto nel verde del logo */
nav.navbar.bg-dark {
    background-color: #17301f !important;
    border-bottom: 3px solid var(--solco-accento);
}
.navbar-dark .dropdown-menu {
    border-top: 2px solid var(--solco-accento);
}
.navbar-brand img {
    background: #fff;
    border-radius: 3px;
    padding: 1px 3px;
}

/* Barre di avanzamento, spinner */
.progress-bar {
    background-color: var(--solco-primario);
}
.spinner-border.text-primary,
.spinner-grow.text-primary {
    color: var(--solco-primario) !important;
}

/* DataTables */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--solco-primario) !important;
    border-color: var(--solco-primario) !important;
    color: #fff !important;
}
table.dataTable tbody tr.selected > * {
    box-shadow: inset 0 0 0 9999px var(--solco-primario) !important;
}

/* Select2 / bootstrap-select */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--solco-primario);
}
.bootstrap-select .dropdown-menu li.selected a,
.bootstrap-select .dropdown-menu li a.active {
    background-color: var(--solco-primario);
}

/* Datepicker */
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.active,
.datepicker table tr td.today.active {
    background-color: var(--solco-primario) !important;
    background-image: none !important;
    border-color: var(--solco-primario) !important;
}

/* FullCalendar (bottoni e giorno odierno); i colori degli eventi/giustificativi restano invariati */
.fc .fc-button-primary,
.fc-button.fc-state-default {
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
    color: #fff;
    background-image: none;
    text-shadow: none;
}
.fc .fc-button-primary:hover,
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active,
.fc-button.fc-state-active,
.fc-button.fc-state-hover {
    background-color: var(--solco-primario-attivo);
    border-color: var(--solco-primario-attivo);
    color: #fff;
}
.fc .fc-day-today,
.fc-unthemed td.fc-today {
    background: var(--solco-tenue);
}

/* Bootstrap toggle */
.toggle.btn-primary,
.toggle-on.btn-primary {
    background-color: var(--solco-primario);
    border-color: var(--solco-primario);
}
