/* PDFLift — shared professional top bar (lib/site-nav.js injects the markup) — v2 polished */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);
  backdrop-filter:blur(16px) saturate(1.5);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.site-header::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(79,70,229,.12), transparent);
  opacity:0; transition:opacity .25s;
}
.site-header.scrolled{border-bottom-color:#E2E8F0; box-shadow:0 8px 32px rgba(15,23,42,.06); background:rgba(255,255,255,.96)}
.site-header.scrolled::after{opacity:1}
.site-nav{
  max-width:1160px; margin:0 auto; padding:0 24px; height:68px;
  display:flex; align-items:center; gap:22px;
}
.sn-brand{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:800; font-size:18px;
  letter-spacing:-.02em; color:#0F172A; text-decoration:none; white-space:nowrap;
  transition:opacity .18s;
}
.sn-brand svg{width:34px;height:34px; display:block; filter:drop-shadow(0 2px 8px rgba(79,70,229,.18))}
.sn-brand:hover{opacity:.88}
.sn-brand:focus-visible{outline:2px solid #4F46E5; outline-offset:3px; border-radius:8px}
.sn-links{display:flex; align-items:center; gap:2px}
.sn-links a{
  position:relative; padding:9px 14px; font-size:14px; font-weight:600; letter-spacing:-.01em;
  color:#64748B; text-decoration:none; border-radius:999px;
  transition:color .18s ease, background .18s ease, transform .15s;
}
.sn-links a:hover{color:#0F172A; background:rgba(79,70,229,.08)}
.sn-links a:active{transform:scale(.97)}
.sn-links a:focus-visible{outline:2px solid #4F46E5; outline-offset:1px}
.sn-links a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,#4F46E5,#06B6D4); transform:scaleX(0); transform-origin:left; transition:transform .22s var(--ease, ease);
}
.sn-links a:hover::after{transform:scaleX(1)}
.sn-right{margin-left:auto; display:flex; align-items:center; gap:12px}
.sn-account{display:flex; align-items:center; gap:8px; min-height:38px}
.sn-account-loading{font-size:13px; color:#94A3B8; display:inline-flex; align-items:center; gap:8px}
.sn-account-loading::before{content:""; width:14px;height:14px; border-radius:50%; border:2px solid #E2E8F0; border-top-color:#4F46E5; animation:sn-spin .7s linear infinite}
@keyframes sn-spin{to{transform:rotate(360deg)}}
.sn-signin{
  font-size:14px; font-weight:700; color:#4F46E5; text-decoration:none; padding:8px 10px; white-space:nowrap;
  border-radius:999px; transition:background .15s, color .15s;
}
.sn-signin:hover{background:rgba(79,70,229,.08); text-decoration:none}
.sn-signin:focus-visible{outline:2px solid #4F46E5; outline-offset:2px}
.sn-user{
  display:inline-flex; align-items:center; gap:8px; padding:6px 12px;
  border:1px solid #E2E8F0; border-radius:999px; background:#fff; text-decoration:none;
  transition:border-color .2s, box-shadow .2s, transform .15s; box-shadow:0 1px 4px rgba(15,23,42,.05);
}
.sn-user:hover{border-color:#C7D2FE; box-shadow:0 4px 16px rgba(79,70,229,.14); transform:translateY(-1px)}
.sn-user:focus-visible{outline:2px solid #4F46E5; outline-offset:2px}
.sn-email{max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:600; color:#0F172A}
.sn-plan{font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:4px 8px; border-radius:999px; white-space:nowrap; line-height:1}
.sn-plan.pro{background:linear-gradient(135deg,#4F46E5,#6366F1); color:#fff; box-shadow:0 2px 8px rgba(79,70,229,.25)}
.sn-plan.free{background:#F1F5F9; color:#64748B; border:1px solid #E2E8F0}
.sn-signout{
  display:inline-flex; align-items:center; justify-content:center; width:34px;height:34px;
  border:1px solid transparent; border-radius:10px; background:transparent; color:#64748B; cursor:pointer;
  transition:color .18s, background .18s, border-color .18s, transform .12s;
}
.sn-signout:hover{color:#DC2626; background:#FEF2F2; border-color:#FECACA}
.sn-signout:active{transform:scale(.92)}
.sn-signout:focus-visible{outline:2px solid #4F46E5; outline-offset:2px}
.sn-cta{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:700; font-size:13.5px; color:#fff;
  background:linear-gradient(135deg,#4F46E5 0%,#6366F1 45%,#06B6D4 100%);
  padding:11px 18px; border-radius:999px; text-decoration:none;
  box-shadow:0 6px 18px rgba(79,70,229,.28), 0 1px 3px rgba(79,70,229,.2);
  transition:transform .15s ease, box-shadow .2s ease, filter .2s; white-space:nowrap;
}
.sn-cta:hover{transform:translateY(-1px); box-shadow:0 10px 26px rgba(79,70,229,.34); filter:brightness(1.03)}
.sn-cta:active{transform:translateY(0) scale(.98)}
.sn-cta:focus-visible{outline:2px solid #4F46E5; outline-offset:2px}
.sn-burger{
  display:none; align-items:center; justify-content:center; width:42px;height:42px;
  border:1px solid #E2E8F0; border-radius:12px; background:#fff; color:#0F172A; cursor:pointer;
  transition:border-color .18s, background .18s, transform .12s, box-shadow .18s;
  box-shadow:0 1px 4px rgba(15,23,42,.04);
}
.sn-burger:hover{border-color:#C7D2FE; box-shadow:0 4px 12px rgba(15,23,42,.06)}
.sn-burger:active{transform:scale(.96)}
.sn-burger:focus-visible{outline:2px solid #4F46E5; outline-offset:2px}
.sn-burger[aria-expanded="true"]{background:#0F172A; color:#fff; border-color:#0F172A}
.sn-mobile{
  display:grid; grid-template-rows:0fr; border-top:1px solid transparent; background:#fff;
  transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1), border-color .25s, padding .25s;
  overflow:hidden;
}
.sn-mobile.open{grid-template-rows:1fr; border-top-color:#E2E8F0; box-shadow:0 20px 40px rgba(15,23,42,.08)}
.sn-mobile-inner{overflow:hidden; min-height:0}
.sn-mobile-inner{padding:0 24px}
.sn-mobile.open .sn-mobile-inner{padding:12px 24px 18px}
.sn-mobile a{
  display:block; padding:13px 4px; font-size:15px; font-weight:600; color:#0F172A; text-decoration:none;
  border-bottom:1px solid #F1F5F9; transition:color .15s, padding-left .15s;
}
.sn-mobile a:hover{color:#4F46E5; padding-left:6px}
.sn-mobile a:focus-visible{outline:2px solid #4F46E5; outline-offset:1px; border-radius:8px}
.sn-mobile .sn-m-cta{
  display:block; text-align:center; margin-top:14px; background:linear-gradient(135deg,#4F46E5,#06B6D4);
  color:#fff; padding:13px; border-radius:999px; font-weight:700; border-bottom:none; box-shadow:0 6px 16px rgba(79,70,229,.28);
}
.sn-mobile .sn-m-cta:hover{color:#fff; padding-left:4px; filter:brightness(1.05)}
@media(max-width:880px){
  .site-nav{padding:0 18px; height:64px; gap:14px}
  .sn-links{display:none}
  .sn-burger{display:inline-flex}
  .sn-email{display:none}
  .sn-user{padding:7px 10px}
  .sn-cta{padding:10px 14px; font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .sn-mobile{transition:none}
  .sn-account-loading::before{animation:none}
}
