/* Shared staff controls. Explicit pairs avoid inherited white-on-white labels.
   The button palette is independent of surfaces and of the OS color scheme. */
.btn { color:#243247; }
.btn.btn-primary { background:var(--staff-button-primary) !important; border-color:var(--staff-button-primary) !important; color:#fff !important; }
.btn.btn-secondary { background:var(--staff-button-secondary) !important; border-color:var(--staff-button-secondary) !important; color:#fff !important; }
.btn.btn-success { background:var(--staff-button-success) !important; border-color:var(--staff-button-success) !important; color:#fff !important; }
.btn.btn-danger { background:var(--staff-button-danger) !important; border-color:var(--staff-button-danger) !important; color:#fff !important; }
.btn.btn-info { background:var(--staff-button-info) !important; border-color:var(--staff-button-info) !important; color:#fff !important; }
.btn.btn-warning { background:var(--staff-button-warning) !important; border-color:var(--staff-button-warning) !important; color:#243247 !important; }
.btn.btn-dark { background:var(--staff-button-dark) !important; border-color:var(--staff-button-dark) !important; color:#fff !important; }
.btn.btn-light { background:#f1f5f9 !important; border-color:#65758a !important; color:#243247 !important; }
.btn.btn-default { background:var(--staff-button-dark) !important; border-color:var(--staff-button-dark) !important; color:#fff !important; }
.btn.btn-cyan { background:var(--staff-button-info) !important; border-color:var(--staff-button-info) !important; color:#fff !important; }
.btn.btn-outline-primary, .btn.btn-border.btn-primary { background:#fff !important; border:1px solid var(--staff-button-primary) !important; color:var(--staff-button-primary) !important; }
.btn.btn-outline-primary:is(:hover,:focus,:active,.active), .btn.btn-border.btn-primary:is(:hover,:focus,:active,.active) { background:var(--staff-button-primary) !important; border-color:var(--staff-button-primary) !important; color:#fff !important; }
.btn.btn-outline-secondary, .btn.btn-border.btn-secondary { background:#fff !important; border:1px solid var(--staff-button-secondary) !important; color:var(--staff-button-secondary) !important; }
.btn.btn-outline-secondary:is(:hover,:focus,:active,.active), .btn.btn-border.btn-secondary:is(:hover,:focus,:active,.active) { background:var(--staff-button-secondary) !important; border-color:var(--staff-button-secondary) !important; color:#fff !important; }
.btn.btn-outline-success, .btn.btn-border.btn-success { background:#fff !important; border:1px solid var(--staff-button-success) !important; color:var(--staff-button-success) !important; }
.btn.btn-outline-success:is(:hover,:focus,:active,.active), .btn.btn-border.btn-success:is(:hover,:focus,:active,.active) { background:var(--staff-button-success) !important; border-color:var(--staff-button-success) !important; color:#fff !important; }
.btn.btn-outline-danger, .btn.btn-border.btn-danger { background:#fff !important; border:1px solid var(--staff-button-danger) !important; color:var(--staff-button-danger) !important; }
.btn.btn-outline-danger:is(:hover,:focus,:active,.active), .btn.btn-border.btn-danger:is(:hover,:focus,:active,.active) { background:var(--staff-button-danger) !important; border-color:var(--staff-button-danger) !important; color:#fff !important; }
.btn.btn-outline-info, .btn.btn-border.btn-info { background:#fff !important; border:1px solid var(--staff-button-info) !important; color:var(--staff-button-info) !important; }
.btn.btn-outline-info:is(:hover,:focus,:active,.active), .btn.btn-border.btn-info:is(:hover,:focus,:active,.active) { background:var(--staff-button-info) !important; border-color:var(--staff-button-info) !important; color:#fff !important; }
.btn.btn-outline-warning, .btn.btn-border.btn-warning { background:#fff !important; border:1px solid #805700 !important; color:#805700 !important; }
.btn.btn-outline-warning:is(:hover,:focus,:active,.active), .btn.btn-border.btn-warning:is(:hover,:focus,:active,.active) { background:var(--staff-button-warning) !important; border-color:#805700 !important; color:#243247 !important; }
.btn.btn-outline-dark, .btn.btn-border.btn-dark { background:#fff !important; border:1px solid var(--staff-button-dark) !important; color:var(--staff-button-dark) !important; }
.btn.btn-outline-dark:is(:hover,:focus,:active,.active), .btn.btn-border.btn-dark:is(:hover,:focus,:active,.active) { background:var(--staff-button-dark) !important; border-color:var(--staff-button-dark) !important; color:#fff !important; }
.btn.btn-outline-light, .btn.btn-border.btn-light { background:#fff !important; border:1px solid var(--staff-button-secondary) !important; color:var(--staff-button-secondary) !important; }
.btn.btn-outline-light:is(:hover,:focus,:active,.active), .btn.btn-border.btn-light:is(:hover,:focus,:active,.active) { background:var(--staff-button-secondary) !important; border-color:var(--staff-button-secondary) !important; color:#fff !important; }
.btn.btn-outline-default, .btn.btn-border.btn-default { background:#fff !important; border:1px solid var(--staff-button-dark) !important; color:var(--staff-button-dark) !important; }
.btn.btn-outline-default:is(:hover,:focus,:active,.active), .btn.btn-border.btn-default:is(:hover,:focus,:active,.active) { background:var(--staff-button-dark) !important; border-color:var(--staff-button-dark) !important; color:#fff !important; }
.btn.btn-outline-cyan, .btn.btn-border.btn-cyan { background:#fff !important; border:1px solid var(--staff-button-info) !important; color:var(--staff-button-info) !important; }
.btn.btn-outline-cyan:is(:hover,:focus,:active,.active), .btn.btn-border.btn-cyan:is(:hover,:focus,:active,.active) { background:var(--staff-button-info) !important; border-color:var(--staff-button-info) !important; color:#fff !important; }
.btn.btn-link { background:transparent !important; color:var(--staff-button-primary) !important; border-color:transparent !important; }
.btn.btn-link.text-danger { color:var(--staff-button-danger) !important; }
.btn.btn-link:hover { text-decoration:underline; }
.btn:is(:hover,:focus,.active) { opacity:1; }
.btn:focus-visible, button:focus-visible, a[role="button"]:focus-visible {
 outline:3px solid #172c4e !important; outline-offset:3px;
}
.btn:is(:disabled,.disabled) { opacity:1 !important; filter:grayscale(.65); cursor:not-allowed; box-shadow:none; }
.btn:is(:disabled,.disabled)::after { opacity:1; }
/* Icons, labels and nested utility colors must use the button's paired ink. */
.btn:not(.payment-method-btn) :is(i,svg,.btn-label,.text-white,.text-light,.text-primary,.text-secondary,.text-success,.text-info,.text-danger,.text-warning) { color:inherit !important; }
button.close { opacity:1; color:#495566 !important; }
.modal-header.bg-primary button.close, .modal-header.bg-dark button.close { color:#fff !important; }
/* POS choices have a light inactive surface and an explicit selected state. */
.btn.payment-method-btn:not(.active):not(.selected) { color:#495566 !important; }
/* Azzara hides native checkboxes in anticipation of a form-check-sign span.
   Forms using ordinary Bootstrap markup still need a visible control. */
.form-check:not(:has(.form-check-sign)) .form-check-input {
    appearance:auto !important; -webkit-appearance:auto !important;
    opacity:1 !important; position:static !important;
    width:auto; height:auto; margin:0 .4rem 0 0;
    accent-color:var(--staff-button-primary);
}
