/* Keep compact UI copy on one visual line. Long-form user/content text keeps its own wrapping. */
.app :is(header b,header button,nav small,.badge,.directionBadge,.statusText,.eventMini,.rideMeta span,.authorLine b,.authorLine small,.trustBadge,.publicContactMethod,.publicPartyRouteLine,.infoGrid small,.infoGrid b,.priceBox small,.priceBox b,.detailPrivacyItem small,.detailPrivacyItem strong,.detailPrivacyItem p,.venueFilterPanel button,.venueFilterPanel input,.browseSeg button,.contentTabs button,.roundChips button,.pills button,.showings button,.seg button,.checks button,.kindQuickSwitch,.requiredBadge,.fieldHelp,.eventContext small,.eventContext b,.eventContext span,.lockedVenue b,.lockedVenue em,.languageSelect select,.homeVenueRow em,.concertCounts small,.concertCounts b){
  white-space:nowrap;
}

.app :is(header b,.eventContext b,.eventContext span,.lockedVenue b,.homeVenueRow b,.homeVenueRow small,.concertCounts small,.authorLine b,.authorLine small,.detailPrivacyItem strong,.detailPrivacyItem p,.infoGrid b,.publicContactMethod small){
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Compact card copy should not grow cards vertically. */
.rideCard h3,.companionCard h3,.concertHero h1,.detailTitle,.venueSummary h1,.homeConcertRow b,.homeConcertRow em,.concert b,.concert p{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.rideCard .rideMeta,.rideCard .authorLine,.companionCard .authorLine{
  min-width:0;
  overflow:hidden;
}

/* Keep intentionally long content readable. */
.memo,.tipCard p,.tipIntro,.trustNote,.onboardingV2 p,.privacyConsentBody,.form textarea,.formError{
  white-space:normal!important;
}

/* Profile page: quieter, denser, and aligned like the rest of the product. */
.myProfile{
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  column-gap:12px;
  align-items:center;
  padding:10px 0 12px;
  text-align:left!important;
}
.myProfile .bigAvatar{
  width:50px;
  height:50px;
  margin:0!important;
  grid-row:1 / span 2;
  font-size:17px;
}
.myProfile h2{
  min-width:0;
  margin:0!important;
  font-size:17px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.myProfile>p{
  min-width:0;
  margin:4px 0 0!important;
  color:#8b848e;
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.myProfile .stats{
  grid-column:1 / -1;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:13px 0 0!important;
  padding:0!important;
  overflow:hidden;
  border-radius:14px!important;
  background:#f7f7f9!important;
}
.myProfile .stats b{
  padding:12px 13px;
  text-align:left!important;
  font-size:16px!important;
  line-height:1.1;
}
.myProfile .stats b+b{border-left:0!important}
.myProfile .stats small{
  margin-top:5px!important;
  color:#918a94!important;
  font-size:9px!important;
  font-weight:600;
  white-space:nowrap;
}
.accounts .sectionTitle{margin-top:2px}
.accounts .sectionTitle h2{margin:12px 0 8px;font-size:15px}
.accounts .accountRow{
  padding:11px 12px!important;
  border:0!important;
  border-radius:14px;
  background:#f7f7f9;
}
.accounts .accountRow>a{
  flex:none;
  color:#6f4b94;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.accounts .trustNote{margin:8px 2px 0!important;font-size:9.5px!important;line-height:1.45!important}
.optionalVerifyCard{margin-top:12px!important;border-radius:14px!important;box-shadow:none!important}

/* Desktop/laptop: the navigation visually closes the viewport. */
@media (min-width:700px){
  html,body{min-height:100%;background:#f3f3f6}
  body{padding:24px 0 0!important}
  .app{min-height:calc(100vh - 24px)!important;border-radius:24px 24px 0 0!important;padding-bottom:88px!important;overflow:hidden}
  nav{bottom:0!important;border-radius:0!important}
  nav::after{content:"";position:absolute;left:0;right:0;top:100%;height:40px;background:#fff;border:0}
  .sticky{bottom:69px!important}
  .fab{bottom:78px!important}
  .toast{bottom:92px!important}
}
