/**
 * Shared brand logo tile — white pad, contain, one look everywhere.
 * Use with nex_render_brand_logo() or class="nex-logo nex-logo--{sm|md|lg|xl}".
 */
.nex-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.1);
  overflow: hidden;
  vertical-align: middle;
}

.nex-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
}

.nex-logo--sm {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.nex-logo--md {
  width: 48px;
  height: 48px;
  border-radius: 12px;
}

.nex-logo--lg {
  width: 72px;
  height: 72px;
  border-radius: 14px;
}

.nex-logo--xl {
  width: 96px;
  height: 96px;
  border-radius: 16px;
}

.nex-logo--mark {
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #475569;
  background: #fff;
  font-size: 0.95rem;
  line-height: 1;
}

.nex-logo--lg.nex-logo--mark,
.nex-logo--xl.nex-logo--mark {
  font-size: 1.45rem;
}

/* Legacy hooks: force white pad + contain wherever old classes remain */
.nex-set-logo-preview,
.nex-set-preview-brand img,
.nex-dir-logo,
.nex-join-mark,
.nex-chub-hero__logo,
.nex-cp-hero__logo,
.nex-cl-card__avatar,
.nex-view-logo,
.nex-workspace__mark {
  background: #fff !important;
}

.nex-set-logo-preview img,
.nex-dir-logo,
.nex-join-mark,
.nex-chub-hero__logo,
.nex-cp-hero__logo,
.nex-cl-card__avatar,
.nex-view-logo,
.nex-workspace__mark img {
  object-fit: contain !important;
  background: #fff;
}
