/* TSL static header polish.
   Fixed, solid header with darker TSL blue. No auth, no token logic, no WordPress dependency. */

:root{
  --tsl-header-blue:#2563eb;
  --tsl-header-blue-hover:#1d4ed8;
  --tsl-header-text:#111827;
  --tsl-header-muted:#374151;
  --tsl-header-line:#e5e7eb;
}

/* Remove browser/default top gaps so the header is locked to the viewport */
html,
body{
  margin:0!important;
}

/* Because the header is fixed, reserve exactly one header-height above the content */
body{
  padding-top:56px!important;
}

.tsl-compatible-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  height:56px;
  background:#ffffff;
  border-bottom:1px solid var(--tsl-header-line);
  box-shadow:0 2px 10px rgba(15,23,42,.045);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  transform:translateZ(0);
  backface-visibility:hidden;
}

.tsl-compatible-header__inner{
  height:100%;
  max-width:1120px;
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:minmax(120px,1fr) auto minmax(150px,1fr);
  align-items:center;
  gap:16px;
  box-sizing:border-box;
}

.tsl-compatible-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--tsl-header-blue);
  text-decoration:none;
  font-weight:850;
  font-size:24px;
  line-height:1;
  letter-spacing:-.045em;
  justify-self:start;
}

.tsl-compatible-logo:hover{
  text-decoration:none;
  color:var(--tsl-header-blue);
}

.tsl-compatible-logo__mark,
.tsl-compatible-logo__mark svg{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.tsl-compatible-logo__mark svg circle{
  fill:var(--tsl-header-blue)!important;
}

.tsl-compatible-logo__text{
  color:var(--tsl-header-blue);
}

.tsl-compatible-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  justify-self:center;
}

.tsl-compatible-nav a{
  color:var(--tsl-header-muted);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  line-height:1;
}

.tsl-compatible-nav a:hover{
  color:var(--tsl-header-blue);
}

.tsl-compatible-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:10px;
}

.tsl-compatible-plus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  min-width:58px;
  padding:0 18px;
  border-radius:999px;
  background:var(--tsl-header-blue);
  color:#fff!important;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  line-height:1;
  box-shadow:0 8px 18px rgba(37,99,235,.14);
}

.tsl-compatible-plus:hover{
  background:var(--tsl-header-blue-hover);
  color:#fff!important;
  text-decoration:none;
}

html.tsl-user-paid .tsl-compatible-actions > .tsl-compatible-plus{
  display:none!important;
}

.tsl-compatible-signin{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  min-width:70px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  color:var(--tsl-header-text)!important;
  border:1px solid var(--tsl-header-line);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  line-height:1;
  box-shadow:0 1px 2px rgba(15,23,42,.025);
}

html.tsl-user-signed-in .tsl-compatible-header .tsl-compatible-signin{
  min-width:82px;
}

html.tsl-user-signed-in .tsl-compatible-header .tsl-compatible-signin__long{
  font-size:0!important;
}

html.tsl-user-signed-in .tsl-compatible-header .tsl-compatible-signin__long::after{
  content:"Account";
  font-size:13px;
  font-weight:800;
  line-height:1;
}

.tsl-compatible-signin:hover{
  background:#f9fafb;
  color:#111827!important;
  text-decoration:none;
}

.tsl-compatible-signin__icon{
  display:none;
}

.tsl-compatible-signin__icon svg{
  width:18px;
  height:18px;
}

@media(max-width:760px){
  body{
    padding-top:56px!important;
  }

  .tsl-compatible-header__inner{
    padding:0 14px;
    display:flex;
    justify-content:space-between;
    gap:12px;
  }

  .tsl-compatible-logo{
    font-size:22px;
    gap:8px;
  }

  .tsl-compatible-logo__mark,
  .tsl-compatible-logo__mark svg{
    width:30px;
    height:30px;
  }

  .tsl-compatible-nav{
    display:none;
  }

  .tsl-compatible-actions{
    gap:8px;
  }

  .tsl-compatible-plus{
    height:34px;
    min-width:56px;
    padding:0 15px;
    font-size:14px;
  }

  .tsl-compatible-signin{
    width:34px;
    height:34px;
    min-width:34px;
    padding:0;
    border-radius:999px;
    background:#f3f4f6;
    color:#6b7280!important;
  }

  .tsl-compatible-signin__long{
    display:none;
  }

  .tsl-compatible-signin__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}

.tsl-compatible-nav a[aria-current="page"]{
  color:var(--tsl-header-blue)!important;
}

.tsl-compatible-signin[aria-current="page"]{
  border-color:rgba(37,99,235,.28)!important;
  color:var(--tsl-header-blue)!important;
}
/* TSL_AUTH_SIGNOUT_HEADER_FIX_V33
   Avoid showing the Plus pill for a split second while signed-in auth state is restoring. */
html.tsl-auth-restoring .tsl-compatible-header .tsl-compatible-plus{
  visibility:hidden!important;
  pointer-events:none!important;
}
html.tsl-auth-restoring.tsl-user-paid .tsl-compatible-header .tsl-compatible-plus{
  display:none!important;
}
/* TSL_PUBLIC_APP_ROUTING_HEADER_V1_20260720 START */
.tsl-compatible-header__inner{
  grid-template-columns:minmax(120px,1fr) auto minmax(190px,1fr);
}

.tsl-compatible-login-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 4px;
  color:var(--tsl-header-muted)!important;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.tsl-compatible-login-link:hover{
  color:var(--tsl-header-blue)!important;
  text-decoration:none;
}

.tsl-compatible-try-free{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 16px;
  border-radius:999px;
  background:var(--tsl-header-blue);
  color:#fff!important;
  text-decoration:none;
  font-size:13px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(37,99,235,.14);
}

.tsl-compatible-try-free:hover{
  background:var(--tsl-header-blue-hover);
  color:#fff!important;
  text-decoration:none;
}

@media(max-width:760px){
  .tsl-compatible-actions{
    gap:9px;
  }

  .tsl-compatible-login-link{
    min-height:34px;
    padding:0 2px;
    font-size:12px;
  }

  .tsl-compatible-try-free{
    min-height:34px;
    padding:0 14px;
    font-size:12px;
  }
}

@media(max-width:420px){
  .tsl-compatible-login-link{
    display:none;
  }
}
/* TSL_PUBLIC_APP_ROUTING_HEADER_V1_20260720 END */
