.brand-layout-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.brand-logo { display:flex!important; flex-flow:row nowrap!important; align-items:center!important; min-width:0; }
.tenant-brand-layout-enabled .brand-logo { width:auto!important; height:auto!important; }
.tenant-brand-layout-enabled .brand-logo-symbol { width:var(--brand-logoSize)!important; height:var(--brand-logoSize)!important; flex:0 0 auto!important; transform:translate(var(--brand-logoX),var(--brand-logoY))!important; }
.tenant-brand-layout-enabled .brand-logo-copy { transform:translate(var(--brand-textX),var(--brand-textY))!important; }
.tenant-brand-layout-enabled .brand-logo-copy strong { font-size:var(--brand-textSize)!important; }
.brand-layout-controls label { display:grid; gap:4px; }
.brand-layout-controls input { width:100%; min-width:0; box-sizing:border-box; font-size:16px; }
.brand-layout-preview { display:flex; align-items:center; gap:10px; min-height:150px; padding:40px; overflow:hidden; background:#faf8f3; }
[data-brand-layout-settings] footer { display:flex; gap:10px; padding-top:14px; }
:is([data-home-logo],.tenant-brand-header,.sales-level-brand,.brand-layout-preview) { display:flex!important; flex-flow:row nowrap!important; align-items:center!important; }
html body [data-home-logo] { min-width:0!important; max-width:100%; }
.tenant-brand-layout-enabled :is([data-home-logo],.tenant-brand-header,.sales-level-brand,.brand-layout-preview) { gap:8px!important; }
.tenant-brand-layout-enabled :is(.tenant-brand-mark,.brand-layout-logo) { width:var(--brand-logoSize)!important; height:var(--brand-logoSize)!important; min-width:0!important; flex:0 0 auto!important; object-fit:contain; transform:translate(var(--brand-logoX),var(--brand-logoY))!important; }
.tenant-brand-layout-enabled :is(.tenant-brand-header>span,.sales-level-brand>strong,.brand-layout-text) { transform:translate(var(--brand-textX),var(--brand-textY))!important; }
.tenant-brand-layout-enabled :is(.tenant-brand-header strong,.sales-level-brand>strong,.brand-layout-text) { font-size:var(--brand-textSize)!important; }

/* Base branding is always horizontal, including tenants with no saved layout. */
html body .desktop-app .tenant-brand-header,
html body .tenant-brand-header {
  display:flex!important; flex:0 1 auto!important; flex-flow:row nowrap!important;
  align-items:center!important; gap:8px!important; width:auto!important;
  min-width:0!important; max-width:100%!important; height:auto!important;
  margin:0!important; color:#2b2d31;
}
html body .desktop-app [data-home-logo].brand-home-link .tenant-brand-header {
  width:100%!important; min-width:0!important; max-width:100%!important;
  height:auto!important; flex:0 1 auto!important; flex-flow:row nowrap!important;
}
html body .desktop-app [data-home-logo].brand-home-link .tenant-brand-header .tenant-brand-mark,
html body .tenant-brand-header .tenant-brand-mark {
  display:grid!important; place-items:center; flex:0 0 auto!important;
  width:var(--brand-logoSize,40px)!important; height:var(--brand-logoSize,40px)!important;
  min-width:0!important; max-width:none!important; margin:0!important;
  object-fit:contain; background:none!important; font-style:normal;
  font-size:14px; font-weight:700; white-space:nowrap;
}
html body .desktop-app [data-home-logo].brand-home-link .tenant-brand-header > span,
html body .tenant-brand-header > span {
  display:grid!important; grid-template-columns:minmax(0,1fr)!important;
  flex:1 1 auto!important; width:auto!important; min-width:0!important;
  gap:3px!important; margin:0!important;
  transform:translate(var(--brand-textX,0px),var(--brand-textY,0px))!important;
}
html body .desktop-app [data-home-logo].brand-home-link .tenant-brand-header strong,
html body .tenant-brand-header strong {
  display:block!important; width:auto!important; min-width:0; max-width:100%!important;
  margin:0!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap!important;
  font-size:var(--brand-textSize,18px)!important; font-weight:750!important;
  line-height:1.3!important; letter-spacing:0!important; color:#2b2d31!important;
}
html body .desktop-app [data-home-logo].brand-home-link .tenant-brand-header small,
html body .tenant-brand-header small {
  display:block!important; min-width:0; width:auto!important; max-width:100%!important;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap!important;
  color:#7c6a53; font-size:10px!important; line-height:1.2!important;
  letter-spacing:.06em!important; text-align:left!important;
}
html body :is(.brand-logo-copy,.brand-layout-text) { min-width:0; white-space:nowrap!important; }
html body .brand-logo-copy { flex:1 1 auto; overflow:hidden; }
html body .brand-logo-copy strong { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap!important; }
html body .brand-logo-symbol { flex-shrink:0!important; background-position:center; background-repeat:no-repeat; }
html body .sales-level-brand { max-width:calc(100% - 80px); }
html body .sales-level-brand .tenant-brand-header { max-width:100%!important; }
html body .brand-layout-preview { flex-flow:row nowrap!important; }
html body .brand-layout-text { overflow:hidden; text-overflow:ellipsis; }
/* Do not shrink a pre-composed horizontal logo into the icon's square. */
.tenant-brand-layout-enabled .brand-logo-horizontal { object-fit:contain!important; }
/* The neutral login identity uses one logo/name row; its caption remains below. */
body[data-login-mobile-mode="video"][data-tenant-login-brand-mode="tenant-neutral"] .lux-video-login-stage:not(.has-custom-media) .lux-video-tenant-brand {
  display:grid!important; grid-template-columns:auto minmax(0,1fr); gap:4px 14px;
  align-items:center; text-align:left;
}
body[data-login-mobile-mode="video"][data-tenant-login-brand-mode="tenant-neutral"] .lux-video-tenant-brand .lux-video-tenant-mark {
  grid-column:1; grid-row:1 / 3; width:58px; height:58px; margin:0; font-size:24px;
}
body[data-login-mobile-mode="video"][data-tenant-login-brand-mode="tenant-neutral"] .lux-video-tenant-brand strong {
  grid-column:2; grid-row:1; align-self:end; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap; font-size:clamp(18px,5vw,26px); letter-spacing:0;
}
body[data-login-mobile-mode="video"][data-tenant-login-brand-mode="tenant-neutral"] .lux-video-tenant-brand small {
  grid-column:2; grid-row:2; align-self:start; min-width:0; margin:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; letter-spacing:.06em;
}
body[data-login-mobile-mode="video"][data-tenant-login-brand-mode="tenant-neutral"] .lux-video-tenant-brand :is(i,p) { grid-column:1 / -1; justify-self:center; }
.brand-layout-direction-note { display:block; margin-top:18px; padding:12px 14px; border-radius:10px; background:#f7f8fa; color:#667085; font-size:14px; line-height:1.5; }
.tenant-login-brand-row { display:flex; flex-flow:row nowrap; align-items:center; justify-content:center; gap:16px; min-width:0; max-width:100%; }
.tenant-login-brand-copy { min-width:0; text-align:left; }
html body .tenant-login-brand-row .lux-brand-monogram { flex:0 0 auto; font-size:clamp(40px,5vw,66px); line-height:1.2; white-space:nowrap; }
html body .lux-brand-card .tenant-login-brand-row :is(h1,strong) { display:block; margin:0!important; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap!important; font-size:clamp(18px,2.2vw,32px)!important; line-height:1.4!important; letter-spacing:0!important; text-align:left!important; }
html body .tenant-login-brand-row .lux-brand-en { margin:6px 0 0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; letter-spacing:.08em; }
