/* Imara Flow V11 brand, public SEO, auth, and dashboard consistency layer */
:root{
  --if-navy:#020F2A;
  --if-blue:#1261FF;
  --if-gold:#D7A642;
  --if-line:#DCE6F3;
  --if-muted:#52617A;
  --if-soft:#F6F9FF;
}

/* Shared brand assets */
.brand img,
.seoNav .brand img,
.authPage .brand img,
.sideLogoMark img{
  object-fit:contain!important;
  display:block!important;
}
.seoNav .brand img,
.nav .brand img{
  width:auto!important;
  height:28px!important;
  max-width:176px!important;
}
.authPage .brand img{
  width:auto!important;
  height:30px!important;
  max-width:180px!important;
}
.imaraLoaderCard img{
  width:auto!important;
  height:34px!important;
  max-width:190px!important;
  object-fit:contain!important;
}
.footerLogo{width:156px!important;height:auto!important;border-radius:0!important;object-fit:contain!important;background:transparent!important;}

/* Public navigation: same brand language as the original Imara Flow landing pages */
.seoNav,
.nav[data-imara-nav]{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid rgba(220,230,245,.86)!important;
  box-shadow:0 6px 20px rgba(2,15,42,.025)!important;
}
.seoNav .navin,
.nav[data-imara-nav] .navin{
  height:76px!important;
  gap:18px!important;
}
.seoNav .seoLinks,
.nav[data-imara-nav] .links{
  gap:17px!important;
  flex:1 1 auto!important;
  justify-content:center!important;
  min-width:0!important;
  font-size:14px!important;
}
.seoNav .seoLinks a,
.nav[data-imara-nav] .links a{
  color:var(--if-navy)!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
}
.seoNav .seoLinks a[aria-current="page"],
.seoNav .seoLinks a:hover,
.nav[data-imara-nav] .links a.is-active,
.nav[data-imara-nav] .links a:hover{
  color:var(--if-blue)!important;
}
.seoNav .seoLinks a[aria-current="page"]:after,
.seoNav .seoLinks a:hover:after,
.nav[data-imara-nav] .links a.is-active:after,
.nav[data-imara-nav] .links a:hover:after{
  bottom:-20px!important;
  height:3px!important;
  background:var(--if-blue)!important;
}
.seoNav .actions,
.nav[data-imara-nav] .actions{
  flex:0 0 auto!important;
  gap:10px!important;
}
.seoNav .btn,
.nav[data-imara-nav] .btn{
  border-radius:12px!important;
  min-height:44px!important;
  padding:0 18px!important;
}
.seoNav .btn.light,
.nav[data-imara-nav] .btn.light{
  color:var(--if-navy)!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.seoNav .btn.primary,
.nav[data-imara-nav] .btn.primary{
  background:var(--if-blue)!important;
  border-color:var(--if-blue)!important;
  color:#fff!important;
  box-shadow:0 12px 32px rgba(18,97,255,.22)!important;
}
.seoNav .menuBtn,
.nav[data-imara-nav] .menuBtn{
  display:none!important;
  place-items:center!important;
  border:1px solid var(--if-line)!important;
  background:#fff!important;
}
.seoNav.menuOpen .mobileMenu,
.nav[data-imara-nav].menuOpen .mobileMenu,
.nav[data-imara-nav] .mobileMenu.open{
  display:grid!important;
}
.seoNav .mobileMenu,
.nav[data-imara-nav] .mobileMenu{
  padding:10px 18px 20px!important;
  background:#fff!important;
  border-top:1px solid var(--if-line)!important;
  box-shadow:0 18px 44px rgba(2,15,42,.08)!important;
  gap:6px!important;
}
.seoNav .mobileMenu a,
.nav[data-imara-nav] .mobileMenu a{
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  border-radius:14px!important;
  padding:0 14px!important;
  color:var(--if-navy)!important;
  font-weight:900!important;
}
.seoNav .mobileMenu a:hover,
.nav[data-imara-nav] .mobileMenu a:hover{
  background:var(--if-soft)!important;
  color:var(--if-blue)!important;
}
.mobileActions,.mobileMenuActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:10px!important;}
.mobileActions .btn,.mobileMenuActions .btn{width:100%!important;justify-content:center!important;}

/* Auth pages: Google login removed from the UI until the provider is stable */
.authGoogleBtn,
.orDivider:empty{
  display:none!important;
}
.loginCardPremium .orDivider,
.registerCardPremium .orDivider{
  display:none!important;
}

/* Dashboard sidebar redesign */
@media (min-width:861px){
  .dashShell{display:block!important;width:100%!important;min-height:100vh!important;background:#f6f9ff!important;}
  .dashSidebar{
    width:292px!important;
    min-width:292px!important;
    max-width:292px!important;
    height:100vh!important;
    height:100dvh!important;
    padding:22px 18px 16px!important;
    background:#fff!important;
    border-right:1px solid var(--if-line)!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:hidden!important;
  }
  .dashMain{
    margin-left:292px!important;
    width:calc(100% - 292px)!important;
    max-width:calc(100% - 292px)!important;
  }
  .sideBrand{margin-bottom:22px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex:0 0 auto!important;}
  .sideLogoMark{display:flex!important;align-items:center!important;min-width:0!important;max-width:100%!important;width:100%!important;overflow:hidden!important;}
  .sideLogoMark img{height:25px!important;width:auto!important;max-width:156px!important;object-fit:contain!important;}
  .sideLogoMark span{display:none!important;}
  .sideNav{display:grid!important;gap:7px!important;flex:0 0 auto!important;min-width:0!important;width:100%!important;}
  .sideNav a{
    width:100%!important;
    min-height:46px!important;
    padding:0 14px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    color:var(--if-navy)!important;
    font-weight:900!important;
    overflow:hidden!important;
  }
  .sideNav a.active{background:var(--if-blue)!important;color:#fff!important;box-shadow:0 14px 34px rgba(18,97,255,.22)!important;}
  .sideNav a .navLabel{display:block!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2!important;}
  .sideNav a .imaraSvgIcon,.sideNav a .material-symbols-outlined{flex:0 0 22px!important;width:22px!important;height:22px!important;min-width:22px!important;}
  .sideSectionTitle{margin:16px 10px 8px!important;color:#7786a2!important;font-size:11px!important;line-height:1!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-weight:950!important;flex:0 0 auto!important;white-space:nowrap!important;}
  .sideNavMore{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:8px 4px 8px 0!important;
    margin:0 0 8px!important;
    border-top:1px solid rgba(148,163,184,.18)!important;
    scrollbar-width:thin!important;
  }
  .sideNavMore a{min-height:40px!important;border-radius:12px!important;font-size:13px!important;box-shadow:none!important;}
  .sideMetaCompact{
    flex:0 0 auto!important;
    width:100%!important;
    margin:0!important;
    padding:10px 6px 9px!important;
    border:0!important;
    border-top:1px solid rgba(148,163,184,.22)!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:hidden!important;
  }
  .sideMetaCompact p,
  .sideMetaCompact strong,
  .sideMetaCompact span,
  .sideMetaCompact a{
    display:block!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    line-height:1.28!important;
  }
  .sideMetaCompact p{margin:0 0 3px!important;color:#66748c!important;font-size:11px!important;font-weight:900!important;}
  .sideMetaCompact strong{color:var(--if-navy)!important;font-size:15px!important;font-weight:950!important;letter-spacing:-.02em!important;margin-bottom:3px!important;}
  .sideMetaCompact span{color:#66748c!important;font-size:11px!important;font-weight:750!important;}
  .sideMetaCompact a{color:var(--if-blue)!important;font-size:12px!important;font-weight:950!important;margin-top:5px!important;text-decoration:none!important;}
  .sideHelp.sideMetaCompact{padding-top:9px!important;}
  .sideHelp.sideMetaCompact p b{white-space:nowrap!important;font-size:13px!important;color:var(--if-navy)!important;}
}

@media (max-width:1180px){
  .seoNav .seoLinks,
  .seoNav .actions,
  .nav[data-imara-nav] .links,
  .nav[data-imara-nav] .actions{display:none!important;}
  .seoNav .menuBtn,
  .nav[data-imara-nav] .menuBtn{display:grid!important;}
}
@media (max-width:860px){
  .seoNav .navin,
  .nav[data-imara-nav] .navin{height:70px!important;}
  .seoNav .brand img,
  .nav .brand img,
  .authPage .brand img{height:25px!important;max-width:156px!important;}
  .dashSidebar{display:none!important;}
  .dashMain{margin-left:0!important;width:100%!important;max-width:100%!important;}
}
@media (max-width:560px){
  .seoNav .brand img,
  .nav .brand img,
  .authPage .brand img{height:23px!important;max-width:148px!important;}
  .mobileActions,.mobileMenuActions{grid-template-columns:1fr!important;}
  .seoFooter .footLinks{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
}

/* Allow the SEO/public header to breathe on laptop screens while keeping page content constrained. */
.seoNav .wrap.navin,
.nav[data-imara-nav] .wrap.navin{
  width:min(1440px,calc(100% - 56px))!important;
}
@media (max-width:1240px){
  .seoNav .seoLinks,
  .seoNav .actions,
  .nav[data-imara-nav] .links,
  .nav[data-imara-nav] .actions{display:none!important;}
  .seoNav .menuBtn,
  .nav[data-imara-nav] .menuBtn{display:grid!important;}
}
@media (max-width:560px){
  .seoNav .wrap.navin,
  .nav[data-imara-nav] .wrap.navin{width:calc(100% - 28px)!important;}
}
