/* =========================================================
   SyncDental — Bootstrap 5 Overrides  (cópia de handoff/styles/bootstrap-overrides.css)
   Drop AFTER bootstrap.css. Re-mapeia as CSS vars do Bootstrap para tokens SD.
   ========================================================= */

:root {
  --bs-primary:        var(--sd-orange);
  --bs-primary-rgb:    232, 116, 42;
  --bs-secondary:      var(--sd-ink-3);
  --bs-secondary-rgb:  122, 128, 138;
  --bs-success:        var(--sd-success);
  --bs-success-rgb:    46, 140, 87;
  --bs-info:           var(--sd-info);
  --bs-info-rgb:       31, 111, 178;
  --bs-warning:        var(--sd-warning);
  --bs-warning-rgb:    199, 122, 20;
  --bs-danger:         var(--sd-danger);
  --bs-danger-rgb:     180, 54, 42;
  --bs-light:          var(--sd-bg);
  --bs-light-rgb:      250, 248, 244;
  --bs-dark:           var(--sd-charcoal);
  --bs-dark-rgb:       45, 46, 51;

  --bs-body-bg:           var(--sd-bg);
  --bs-body-bg-rgb:       250, 248, 244;
  --bs-body-color:        var(--sd-ink);
  --bs-body-color-rgb:    27, 30, 34;
  --bs-secondary-color:   var(--sd-ink-2);
  --bs-tertiary-color:    var(--sd-ink-3);
  --bs-secondary-bg:      var(--sd-bg-sunken);
  --bs-tertiary-bg:       var(--sd-bg-muted);
  --bs-emphasis-color:    var(--sd-ink);

  --bs-border-color:              var(--sd-line);
  --bs-border-color-translucent:  var(--sd-line);
  --bs-border-radius:             var(--sd-radius-md);
  --bs-border-radius-sm:          var(--sd-radius-sm);
  --bs-border-radius-lg:          var(--sd-radius-lg);
  --bs-border-radius-xl:          var(--sd-radius-xl);
  --bs-border-radius-pill:        var(--sd-radius-pill);

  --bs-body-font-family:    var(--sd-font-sans);
  --bs-body-font-size:      14px;
  --bs-body-font-weight:    400;
  --bs-body-line-height:    1.5;
  --bs-font-monospace:      var(--sd-font-mono);
  --bs-link-color:          var(--sd-orange-ink);
  --bs-link-color-rgb:      199, 93, 24;
  --bs-link-hover-color:    var(--sd-orange-ink);
  --bs-link-decoration:     none;

  --bs-focus-ring-color:    rgba(232, 116, 42, 0.25);
  --bs-focus-ring-width:    3px;
}

.btn-primary {
  --bs-btn-bg: var(--sd-orange);
  --bs-btn-border-color: var(--sd-orange);
  --bs-btn-hover-bg: var(--sd-orange-ink);
  --bs-btn-hover-border-color: var(--sd-orange-ink);
  --bs-btn-active-bg: var(--sd-orange-ink);
  --bs-btn-active-border-color: var(--sd-orange-ink);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}
.btn-outline-primary {
  --bs-btn-color: var(--sd-orange-ink);
  --bs-btn-border-color: var(--sd-orange);
  --bs-btn-hover-bg: var(--sd-orange);
  --bs-btn-hover-border-color: var(--sd-orange);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--sd-orange-ink);
  --bs-btn-active-border-color: var(--sd-orange-ink);
}
.btn-dark {
  --bs-btn-bg: var(--sd-charcoal);
  --bs-btn-border-color: var(--sd-charcoal);
  --bs-btn-hover-bg: var(--sd-charcoal-ink);
  --bs-btn-hover-border-color: var(--sd-charcoal-ink);
  --bs-btn-color: var(--sd-ink-on-dark);
  --bs-btn-hover-color: #fff;
}
.btn { border-radius: var(--sd-radius-md); font-weight: 500; }

.form-control,
.form-select {
  border-radius: var(--sd-radius-md);
  border-color: var(--sd-line);
  padding: 9px 11px;
  font-size: 14px;
  background-color: var(--sd-bg-raised);
  color: var(--sd-ink);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--sd-orange);
  box-shadow: 0 0 0 3px var(--sd-orange-soft);
  background-color: var(--sd-bg-raised);
  color: var(--sd-ink);
}
.form-label { font: var(--sd-t-label); color: var(--sd-ink-2); margin-bottom: var(--sd-s-2); }
.form-check-input:checked { background-color: var(--sd-orange); border-color: var(--sd-orange); }
.form-check-input:focus { box-shadow: 0 0 0 3px var(--sd-orange-soft); border-color: var(--sd-orange); }

.card {
  background: var(--sd-bg-raised);
  border-color: var(--sd-line);
  border-radius: var(--sd-radius-lg);
}
.card-header {
  background: transparent;
  border-bottom-color: var(--sd-line);
  padding: var(--sd-s-4) var(--sd-s-5);
  font-weight: 600;
}
.card-body { padding: var(--sd-s-5); }
.card-footer { background: var(--sd-bg-muted); border-top-color: var(--sd-line); }

.table {
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--sd-line);
  --bs-table-hover-bg: var(--sd-bg-muted);
  --bs-table-striped-bg: var(--sd-bg-muted);
  color: var(--sd-ink);
}
.table > thead {
  background: var(--sd-bg-muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sd-ink-3);
}

.nav-tabs {
  border-bottom-color: var(--sd-line);
  --bs-nav-tabs-link-active-color: var(--sd-ink);
  --bs-nav-tabs-link-active-border-color: transparent transparent var(--sd-orange) transparent;
  --bs-nav-tabs-link-hover-border-color: transparent;
  --bs-nav-tabs-link-active-bg: transparent;
}
.nav-tabs .nav-link {
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--sd-ink-3);
  font-weight: 500;
  padding: 12px 14px;
  border-radius: 0;
  margin-bottom: -1px;
}
.nav-tabs .nav-link:hover { color: var(--sd-ink); border-color: transparent; }
.nav-tabs .nav-link.active {
  color: var(--sd-ink);
  border-bottom-color: var(--sd-orange);
  background: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  border-top-color: transparent;
}

.alert { border-radius: var(--sd-radius-md); border: 1px solid transparent; }
.alert-primary { background: var(--sd-orange-soft);  color: var(--sd-orange-ink);  border-color: transparent; }
.alert-success { background: var(--sd-success-soft); color: var(--sd-success-ink); border-color: transparent; }
.alert-warning { background: var(--sd-warning-soft); color: var(--sd-warning-ink); border-color: transparent; }
.alert-danger  { background: var(--sd-danger-soft);  color: var(--sd-danger-ink);  border-color: transparent; }
.alert-info    { background: var(--sd-info-soft);    color: var(--sd-info-ink);    border-color: transparent; }
.alert-secondary { background: var(--sd-bg-sunken); border-color: var(--sd-line); color: var(--sd-ink-2); }

.badge {
  font-weight: 600;
  font-size: 11px;
  border-radius: var(--sd-radius-pill);
  padding: 4px 8px;
}
.badge.bg-primary   { background-color: var(--sd-orange) !important; }
.badge.bg-secondary { background-color: var(--sd-ink-3) !important; }
.badge.bg-success   { background-color: var(--sd-success) !important; }
.badge.bg-warning   { background-color: var(--sd-warning) !important; }
.badge.bg-danger    { background-color: var(--sd-danger) !important; }
.badge.bg-info      { background-color: var(--sd-info) !important; }

.dropdown-menu {
  border-color: var(--sd-line);
  border-radius: var(--sd-radius-lg);
  box-shadow: var(--sd-shadow-pop);
  padding: var(--sd-s-2);
  background: var(--sd-bg-raised);
}
.dropdown-item { border-radius: var(--sd-radius-sm); padding: 7px 10px; color: var(--sd-ink-2); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--sd-hover-tint); color: var(--sd-ink); }
.dropdown-item.active, .dropdown-item:active {
  background: var(--sd-orange-soft);
  color: var(--sd-orange-ink);
}

.modal-content {
  border-radius: var(--sd-radius-xl);
  border-color: var(--sd-line);
  box-shadow: var(--sd-shadow-2);
  background: var(--sd-bg-raised);
}
.modal-header { border-bottom-color: var(--sd-line); padding: var(--sd-s-4) var(--sd-s-5); }
.modal-body { padding: var(--sd-s-5); }
.modal-footer { background: var(--sd-bg-muted); border-top-color: var(--sd-line); padding: var(--sd-s-3) var(--sd-s-5); }

.list-group { border-radius: var(--sd-radius-lg); }
.list-group-item { background: var(--sd-bg-raised); border-color: var(--sd-line); padding: var(--sd-s-3) var(--sd-s-4); }
.list-group-item.active { background: var(--sd-orange-soft); color: var(--sd-orange-ink); border-color: var(--sd-orange-soft); }

.page-link {
  color: var(--sd-orange-ink);
  border-color: var(--sd-line);
  background: var(--sd-bg-raised);
}
.page-link:hover { background: var(--sd-orange-soft); color: var(--sd-orange-ink); border-color: var(--sd-line); }
.page-item.active .page-link { background: var(--sd-orange); border-color: var(--sd-orange); color: #fff; }

.toast {
  background: var(--sd-charcoal);
  color: var(--sd-ink-on-dark);
  border-radius: var(--sd-radius-md);
  box-shadow: var(--sd-shadow-pop);
}

.bg-sidebar { background: var(--sd-charcoal) !important; color: var(--sd-ink-on-dark); }
.text-on-dark { color: var(--sd-ink-on-dark); }
