/* Shared header: logo centered, side controls stay in their columns. */
header.app-header.logo-centered,
.page-header.logo-centered{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  column-gap:10px;
  row-gap:4px;
}
a.logo-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  grid-column:2;
  cursor:pointer;
  text-decoration:none;
  line-height:0;
  position:relative;
  z-index:3;
  min-height:44px;
  padding:2px 4px;
}
a.logo-home img{
  height:42px;
  width:auto;
  max-width:min(200px, 36vw);
  max-height:42px;
  object-fit:contain;
  display:block;
  margin:0;
}
.header-slot{
  min-width:0;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  overflow-wrap:anywhere;
}
.header-slot > *{
  min-width:0;
  max-width:100%;
}
header.app-header.logo-centered .header-slot .btn-back,
.page-header.logo-centered .header-slot .btn-back{
  white-space:normal;
  min-width:0;
  max-width:100%;
  flex:1 1 8rem;
  text-align:center;
}
.header-slot-start{
  grid-column:1;
  justify-content:flex-start;
}
.header-slot-end{
  grid-column:3;
  justify-content:flex-end;
}
header.app-header.logo-centered .header-right,
header.app-header.logo-centered .header-left,
header.app-header.logo-centered .logo-row,
header.app-header.logo-centered .row,
header.app-header.logo-centered .header-slot > div,
.page-header.logo-centered .header-right,
.page-header.logo-centered .header-left,
.page-header.logo-centered .logo-row,
.page-header.logo-centered .row,
.page-header.logo-centered .header-slot > div{
  min-width:0;
  max-width:100%;
  flex:1 1 auto;
  flex-wrap:wrap;
  margin:0;
}
header.app-header.logo-centered .header-slot-start .header-right,
header.app-header.logo-centered .header-slot-start .logo-row,
header.app-header.logo-centered .header-slot-start .row,
.page-header.logo-centered .header-slot-start .header-right,
.page-header.logo-centered .header-slot-start .logo-row,
.page-header.logo-centered .header-slot-start .row{
  justify-content:flex-start;
}
header.app-header.logo-centered .header-slot-end .header-left,
header.app-header.logo-centered .header-slot-end .header-right,
header.app-header.logo-centered .header-slot-end .logo-row,
header.app-header.logo-centered .header-slot-end .row,
.page-header.logo-centered .header-slot-end .header-left,
.page-header.logo-centered .header-slot-end .logo-row,
.page-header.logo-centered .header-slot-end .row{
  justify-content:flex-end;
}
header.app-header.logo-centered .header-slot h1,
header.app-header.logo-centered .header-slot .subtitle,
header.app-header.logo-centered .header-slot .version,
.page-header.logo-centered .header-slot h1,
.page-header.logo-centered .header-slot .sub{
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.25;
}
.login-card a.logo-home{display:inline-flex}
.login-card a.logo-home img{height:64px;max-height:64px;max-width:70vw;margin-bottom:12px}
@media(max-width:700px){
  a.logo-home img{height:32px;max-height:32px;max-width:42vw}
  header.app-header.logo-centered,
  .page-header.logo-centered{column-gap:6px}
  .header-slot{gap:6px}
}
