/* Global: legacy outline actions stay visible without hover. */
.btn-outline-primary { --action-bg:#175c99; --action-hover:#104877; --action-text:#fff; }
.btn-outline-secondary { --action-bg:#526171; --action-hover:#3c4958; --action-text:#fff; }
.btn-outline-success { --action-bg:#167044; --action-hover:#105634; --action-text:#fff; }
.btn-outline-danger { --action-bg:#b42338; --action-hover:#901c2c; --action-text:#fff; }
.btn-outline-warning { --action-bg:#ffc107; --action-hover:#e0a800; --action-text:#242100; }
.btn-outline-info { --action-bg:#08778a; --action-hover:#075b6b; --action-text:#fff; }
.btn-outline-light { --action-bg:#e5edf4; --action-hover:#cbd9e5; --action-text:#20364a; }
.btn-outline-dark { --action-bg:#25384a; --action-hover:#172634; --action-text:#fff; }

.btn:is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-success,.btn-outline-danger,
        .btn-outline-warning,.btn-outline-info,.btn-outline-light,.btn-outline-dark) {
  --bs-btn-color:var(--action-text);
  --bs-btn-bg:var(--action-bg);
  --bs-btn-border-color:var(--action-bg);
  --bs-btn-hover-color:var(--action-text);
  --bs-btn-hover-bg:var(--action-hover);
  --bs-btn-hover-border-color:var(--action-hover);
  --bs-btn-active-color:var(--action-text);
  --bs-btn-active-bg:var(--action-hover);
  --bs-btn-active-border-color:var(--action-hover);
  /* Consistent contrast despite legacy table and modal rules. */
  color:var(--action-text)!important;
  background:var(--action-bg)!important;
  border-color:var(--action-bg)!important;
  font-weight:600;
  text-decoration:none;
}
.btn:is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-success,.btn-outline-danger,
        .btn-outline-warning,.btn-outline-info,.btn-outline-light,.btn-outline-dark):is(:hover,:active,.active),
.btn-check:checked + .btn:is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-success,
        .btn-outline-danger,.btn-outline-warning,.btn-outline-info,.btn-outline-light,.btn-outline-dark) {
  background:var(--action-hover)!important;
  border-color:var(--action-hover)!important;
}
.btn:focus-visible, .btn-check:focus-visible + .btn {
  outline:3px solid #092f52!important;
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff!important;
}
.btn:is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-success,.btn-outline-danger,
        .btn-outline-warning,.btn-outline-info,.btn-outline-light,.btn-outline-dark):is(:disabled,.disabled,[aria-disabled="true"]) {
  background:#e1e7ec!important;
  color:#526171!important;
  border-color:#a4b1bd!important;
  opacity:1;
  box-shadow:none;
  cursor:not-allowed;
}