.tb-inline-btn {
  width: auto;
  padding-inline: 14px;
}

.tb-card-body {
  padding: 24px;
  overflow: visible;
}

.tb-section-divider {
  margin-top: 16px;
  border-top: 1px solid #e2e8f0;
  padding-top: 18px;
}

.tb-btn-minw-180 {
  min-width: 180px;
}

.tb-brand-logo-navbar {
  height: 48px;
  width: auto;
}

/* Brand is intentionally larger; keep topbar compact but not cramped. */
.tb-topbar .tb-shell {
  padding-top: 14px;
  padding-bottom: 14px;
}

.tb-nav-caret {
  font-size: .85em;
  opacity: .7;
}

.tb-caret-muted {
  opacity: .8;
}

.tb-inline-btn-sm {
  width: auto;
  padding-inline: 12px;
}

.tb-inline-btn-md {
  width: auto;
  padding: 10px 14px;
}

.tb-label-strong {
  font-weight: 700;
}

.tb-check-brand {
  width: 16px;
  height: 16px;
  accent-color: var(--tb-brand);
}

.tb-alert {
  border-width: 1px;
  border-style: solid;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: .95rem;
}

.tb-alert-error {
  background: #fef2f2;
  color: #991b1b;
  border-color: #fecaca;
}

.tb-alert-info {
  background: #ecfeff;
  color: #155e75;
  border-color: #a5f3fc;
}

.tb-mt-12 {
  margin-top: 12px;
}

.tb-mt-14 {
  margin-top: 14px;
}

.tb-w-full-center {
  width: 100%;
  text-align: center;
}

.tb-select-auto {
  height: auto;
}

.tb-mono-input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.tb-modal-title {
  margin: 0 0 6px;
  font-size: 1.25rem;
  line-height: 1.3;
}

.tb-modal-muted-zero {
  margin: 0;
}
