/*
 * Company button theme.
 * Palette: lime #F1FF5C, charcoal #22272D, grey #AAB0B8, off-white #F4FAFF.
 * Loaded after app.css so it overrides every Bootstrap button colour variant.
 *
 *   primary / success / info / warning  -> lime fill, charcoal text   (hover: charcoal fill, lime text)
 *   secondary / light / default         -> grey fill, charcoal text      (hover: charcoal fill, off-white text)
 *   danger / dark                       -> charcoal fill, off-white text (hover: lime border + text)
 */
:root {
    --co-lime: #F1FF5C;
    --co-dark: #22272D;
    --co-grey: #AAB0B8;
    --co-white: #F4FAFF;
}

/* Solid: lime */
.btn-primary, .btn-success, .btn-info, .btn-warning {
    --bs-btn-color: var(--co-dark);
    --bs-btn-bg: var(--co-lime);
    --bs-btn-border-color: var(--co-lime);
    --bs-btn-hover-color: var(--co-lime);
    --bs-btn-hover-bg: var(--co-dark);
    --bs-btn-hover-border-color: var(--co-dark);
    --bs-btn-focus-shadow-rgb: 241, 255, 92;
    --bs-btn-active-color: var(--co-lime);
    --bs-btn-active-bg: var(--co-dark);
    --bs-btn-active-border-color: var(--co-dark);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--co-dark);
    --bs-btn-disabled-bg: var(--co-lime);
    --bs-btn-disabled-border-color: var(--co-lime);
}

/* Solid: off-white / grey */
.btn-secondary, .btn-light, .btn-default {
    --bs-btn-color: var(--co-dark);
    --bs-btn-bg: var(--co-grey);
    --bs-btn-border-color: var(--co-grey);
    --bs-btn-hover-color: var(--co-white);
    --bs-btn-hover-bg: var(--co-dark);
    --bs-btn-hover-border-color: var(--co-dark);
    --bs-btn-focus-shadow-rgb: 170, 176, 184;
    --bs-btn-active-color: var(--co-white);
    --bs-btn-active-bg: var(--co-dark);
    --bs-btn-active-border-color: var(--co-dark);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--co-dark);
    --bs-btn-disabled-bg: var(--co-grey);
    --bs-btn-disabled-border-color: var(--co-grey);
}

/* Solid: charcoal */
.btn-danger, .btn-dark {
    --bs-btn-color: var(--co-white);
    --bs-btn-bg: var(--co-dark);
    --bs-btn-border-color: var(--co-dark);
    --bs-btn-hover-color: var(--co-lime);
    --bs-btn-hover-bg: var(--co-dark);
    --bs-btn-hover-border-color: var(--co-lime);
    --bs-btn-focus-shadow-rgb: 34, 39, 45;
    --bs-btn-active-color: var(--co-lime);
    --bs-btn-active-bg: var(--co-dark);
    --bs-btn-active-border-color: var(--co-lime);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--co-white);
    --bs-btn-disabled-bg: var(--co-dark);
    --bs-btn-disabled-border-color: var(--co-dark);
}

/* Outline: charcoal border, lime fill on hover */
.btn-outline-primary, .btn-outline-success, .btn-outline-info, .btn-outline-warning,
.btn-outline-danger, .btn-outline-dark {
    --bs-btn-color: var(--co-dark);
    --bs-btn-border-color: var(--co-dark);
    --bs-btn-hover-color: var(--co-dark);
    --bs-btn-hover-bg: var(--co-lime);
    --bs-btn-hover-border-color: var(--co-dark);
    --bs-btn-focus-shadow-rgb: 34, 39, 45;
    --bs-btn-active-color: var(--co-dark);
    --bs-btn-active-bg: var(--co-lime);
    --bs-btn-active-border-color: var(--co-dark);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--co-grey);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--co-grey);
}

/* Outline: grey */
.btn-outline-secondary, .btn-outline-light {
    --bs-btn-color: var(--co-dark);
    --bs-btn-border-color: var(--co-dark);
    --bs-btn-hover-color: var(--co-dark);
    --bs-btn-hover-bg: var(--co-grey);
    --bs-btn-hover-border-color: var(--co-dark);
    --bs-btn-focus-shadow-rgb: 170, 176, 184;
    --bs-btn-active-color: var(--co-dark);
    --bs-btn-active-bg: var(--co-grey);
    --bs-btn-active-border-color: var(--co-grey);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--co-grey);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--co-grey);
}

/* SweetAlert2 dialog buttons */
.swal2-styled.swal2-confirm {
    background-color: var(--co-lime) !important;
    color: var(--co-dark) !important;
    border: 1px solid var(--co-lime) !important;
}
.swal2-styled.swal2-confirm:hover {
    background-color: var(--co-dark) !important;
    color: var(--co-lime) !important;
    border-color: var(--co-dark) !important;
}
.swal2-styled.swal2-deny,
.swal2-styled.swal2-cancel {
    background-color: var(--co-grey) !important;
    color: var(--co-dark) !important;
    border: 1px solid var(--co-grey) !important;
}
.swal2-styled.swal2-deny:hover,
.swal2-styled.swal2-cancel:hover {
    background-color: var(--co-dark) !important;
    color: var(--co-white) !important;
    border-color: var(--co-dark) !important;
}
.swal2-styled:focus {
    box-shadow: 0 0 0 3px rgba(170, 176, 184, .5) !important;
}

/* DataTables export / column-visibility buttons */
button.dt-button, div.dt-button, a.dt-button,
.dt-buttons .btn, .dt-buttons .dt-button {
    background: var(--co-grey) !important;
    color: var(--co-dark) !important;
    border: 1px solid var(--co-grey) !important;
}
button.dt-button:hover:not(.disabled), a.dt-button:hover:not(.disabled),
.dt-buttons .btn:hover, .dt-buttons .dt-button:hover {
    background: var(--co-dark) !important;
    color: var(--co-white) !important;
}

/* Row "Actions" menu (Administration page) */
#row-actions-menu {
    background-color: var(--co-dark) !important;
    border: 1px solid var(--co-grey) !important;
    padding: .25rem 0;
}
#row-actions-menu .dropdown-item {
    color: var(--co-white) !important;
    padding: .45rem 1rem;
}
#row-actions-menu .dropdown-item:hover,
#row-actions-menu .dropdown-item:focus {
    background-color: var(--co-lime) !important;
    color: var(--co-dark) !important;
}
