:root {
    --bs-primary: #7cc142;
    --bs-primary-rgb: 124, 193, 66;
}

@keyframes saved-pop {
    0%   { transform: scale(0.96); }
    50%  { transform: scale(1.04); }
    100% { transform: scale(1); }
}

.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #6aae3b;
    border-color: #6aae3b;
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/*#propertiesTable th,*/
/*#propertiesTable td {*/
/*    white-space: nowrap;*/
/*}*/

.btn-saved {
    background-color: #7cc142 !important;
    border-color: #7cc142 !important;
    color: #fff !important;
    animation: saved-pop 0.6s ease;
}

tr:not(.dirty) button[data-action="save"].btn-saved {
    opacity: 1;
    pointer-events: none;
}

tr.dirty button[data-action="save"] {
    background-color: #7cc142;
    border-color: #7cc142;
    color: #fff;
    font-weight: 600;
    opacity: 1;
    pointer-events: auto;
}
tr:not(.dirty) button[data-action="save"],
tr:not(.dirty) button[data-action="cancel"] {
    opacity: 0.5;
    pointer-events: none;
}

#propertiesTable tbody tr:hover > td,
#propertiesTable tbody tr:hover > th {
    background-color: rgba(124, 193, 66, 0.14) !important;
}

#propertiesTable tbody tr.dirty > td,
#propertiesTable tbody tr.dirty > th {
    background-color: #fff9e6;
}

#propertiesTable tbody tr.dirty:hover > td,
#propertiesTable tbody tr.dirty:hover > th {
    background-color: rgba(124, 193, 66, 0.12) !important;
}

.form-check-input {
    width: 1.3em;
    height: 1.3em;
    cursor: pointer;
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-input:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(124, 193, 66, 0.25);
}

.pagination .page-link {
    color: #7cc142;
}

.pagination .page-item.active .page-link {
    background-color: #7cc142;
    border-color: #7cc142;
    color: #fff;
}

.pagination .page-link:hover {
    color: #5a942f;
}

body {
    padding-top: 0;
}

.dirty {
    background: #fff9e6;
}

.nowrap {
    white-space: nowrap;
}

.w-240 {
    width: 240px;
}

.w-160 {
    width: 160px;
}

.w-110 {
    width: 110px;
}

.w-90 {
    width: 90px;
}

.w-70 {
    width: 70px;
}

th, td {
    vertical-align: middle;
}

tr.dirty .controls {
    display: inline-flex !important;
}

#managersTable tbody tr:hover {
    background-color: rgba(124, 193, 66, 0.06);
}