/* MyTalentFunded CRM brand layer — final global shell overrides */
.brand-logo{
  display:flex;
  align-items:center;
  width:100%;
  min-width:0;
  min-height:42px;
  overflow:visible;
}
.brand-logo img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
  flex:0 1 auto;
}
.brand-logo.brand-large img{max-width:240px}
.auth-card-brand.brand-logo img{max-width:205px}
.auth-mobile-brand .brand-logo img{max-width:180px}
.payments-brand.brand-logo img{max-width:210px}

/* Remove the legacy synthetic MT badge. The official TF logo already contains its monogram. */
.shell .sidebar>.brand.brand-logo::before,
.challenge-sidebar .challenge-brand.brand-logo::before{
  content:none !important;
  display:none !important;
}

/* Give the official mark enough horizontal room so TALENT FUNDED is never cropped. */
.shell .sidebar>.brand.brand-logo,
.challenge-sidebar .challenge-brand.brand-logo{
  min-height:58px;
  gap:0 !important;
  padding:0 2px 18px !important;
  overflow:visible !important;
  white-space:normal;
}
.shell .sidebar>.brand.brand-logo img,
.challenge-sidebar .challenge-brand.brand-logo img{
  width:210px;
  max-width:100%;
  height:auto;
}

/* Hola-inspired navigation typography: larger, calmer weight and more breathing room. */
.shell .nav button{
  min-height:46px !important;
  padding:11px 12px !important;
  font-size:14.5px !important;
  line-height:1.25 !important;
  font-weight:650 !important;
  letter-spacing:0 !important;
}
.shell .nav .group,
.challenge-sidebar .nav .group{
  margin-top:19px !important;
  margin-bottom:9px !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.15em !important;
}
.challenge-sidebar .challenge-nav-link{
  display:flex;
  align-items:center;
  min-height:46px !important;
  padding:11px 12px !important;
  font-size:14.5px !important;
  line-height:1.25 !important;
  font-weight:650 !important;
  letter-spacing:0 !important;
}
.shell .sidebar-bottom .btn,
.challenge-sidebar .sidebar-bottom .btn{
  min-height:44px !important;
  font-size:13.5px !important;
  font-weight:700 !important;
}

/* Challenge page: keep the standalone checkout shell visually identical to the portal shell. */
.challenge-shell{
  grid-template-columns:264px minmax(0,1fr) !important;
}
.challenge-shell .challenge-sidebar{
  display:flex !important;
  flex-direction:column !important;
  height:100vh !important;
  overflow:hidden !important;
  padding:18px 13px 14px !important;
}
.challenge-shell .challenge-brand{
  flex:0 0 auto !important;
  margin:0 2px 10px !important;
  padding:0 7px 14px !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
}
.challenge-shell .challenge-brand img{
  width:196px !important;
}
.challenge-shell .challenge-nav{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  padding-right:2px !important;
}
.challenge-shell .challenge-nav .group{
  margin:15px 10px 7px !important;
  color:#59645d !important;
  font-size:8.5px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
}
.challenge-shell .challenge-nav .challenge-nav-link{
  position:relative !important;
  min-height:43px !important;
  padding:9px 11px !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
  color:#a8b0aa !important;
  font-size:12.5px !important;
  font-weight:680 !important;
  line-height:1.2 !important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease !important;
}
.challenge-shell .challenge-nav .challenge-nav-link::before{
  content:"" !important;
  display:block !important;
  width:8px !important;
  height:8px !important;
  flex:0 0 8px !important;
  margin-right:11px !important;
  border:1px solid #637068 !important;
  border-radius:3px !important;
  background:rgba(255,255,255,.01) !important;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.15) !important;
}
.challenge-shell .challenge-nav .challenge-nav-link:hover{
  border-color:rgba(255,255,255,.045) !important;
  background:rgba(255,255,255,.028) !important;
  color:#e4e8e4 !important;
  transform:translateX(1px) !important;
}
.challenge-shell .challenge-sidebar-bottom{
  position:relative !important;
  flex:0 0 auto !important;
  margin:10px 0 0 !important;
  padding:12px 3px 0 !important;
  border-top:1px solid rgba(255,255,255,.05) !important;
  background:linear-gradient(180deg,rgba(7,11,8,.96),#070a08) !important;
}
.challenge-shell .challenge-sidebar-bottom .btn{
  min-height:42px !important;
  margin:0 0 7px !important;
  font-size:11.5px !important;
}
.challenge-shell .challenge-topbar{
  height:74px !important;
  min-height:74px !important;
  padding:0 28px !important;
  overflow:visible !important;
}
.challenge-shell .challenge-top-left{
  height:100% !important;
  align-items:center !important;
}
.challenge-shell .challenge-top-left h1{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.15 !important;
}
.challenge-shell .challenge-top-left p{
  margin:4px 0 0 !important;
  line-height:1.25 !important;
}
.challenge-shell .challenge-content{
  align-items:start !important;
  padding-top:26px !important;
}
.challenge-shell .challenge-summary{
  align-self:start !important;
  margin:0 !important;
  padding:0 !important;
}
.challenge-shell .challenge-summary .summary-sticky{
  margin:0 !important;
  top:92px !important;
}

/* Checkbox was inheriting the generic 44px input height. Keep it compact and aligned with the legal copy. */
.challenge-shell .terms-check{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  min-height:24px !important;
  margin:14px 0 12px !important;
  line-height:1.35 !important;
}
.challenge-shell .terms-check input[type="checkbox"]{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  flex:0 0 15px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:3px !important;
  accent-color:var(--u-gold,#d8b85f) !important;
}
.challenge-shell .terms-check span{
  display:block !important;
  margin:0 !important;
}

@media(max-width:1100px){
  .shell .nav button,
  .challenge-sidebar .challenge-nav-link{font-size:14px !important}
}

@media(max-width:900px){
  .shell .sidebar>.brand.brand-logo img,
  .challenge-sidebar .challenge-brand.brand-logo img{width:198px;max-width:100%}
  .shell .nav button,
  .challenge-sidebar .challenge-nav-link{font-size:13.5px !important}
  .challenge-shell{grid-template-columns:1fr !important}
  .challenge-shell .challenge-sidebar{
    position:fixed !important;
    width:min(84vw,285px) !important;
    overflow:hidden !important;
  }
  .challenge-shell .challenge-summary .summary-sticky{top:0 !important}
}

@media(max-width:720px){
  .brand-logo.brand-large img{max-width:190px}
  .auth-mobile-brand .brand-logo img{max-width:170px}
}
