/* FCFW R25 — canonical public chrome.
   This stylesheet is injected LAST on any HTML response that renders the
   canonical FCFW public header/footer. Page/product themes may style their
   content, but may not restyle, resize, reorder, or darken public chrome. */
:root{
  --fcfw-chrome-bg:#ffffff;
  --fcfw-chrome-footer:#edf2f5;
  --fcfw-chrome-ink:#14212b;
  --fcfw-chrome-muted:#5c6b76;
  --fcfw-chrome-navy:#173c58;
  --fcfw-chrome-line:#d4dde4;
  --fcfw-chrome-side:clamp(16px,4vw,64px);
  --fcfw-chrome-shadow:0 10px 30px rgba(20,33,43,.08);
}

/* HEADER — one geometry and one palette everywhere. */
html body .fcfw-public-global-header[data-fcfw-public-header]{
  position:fixed!important;
  inset:0 0 auto 0!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;max-width:none!important;
  min-height:72px!important;height:auto!important;
  margin:0!important;padding:9px var(--fcfw-chrome-side)!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex-wrap:nowrap!important;gap:16px!important;
  z-index:30000!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--fcfw-chrome-ink)!important;
  border:0!important;border-bottom:1px solid rgba(20,33,43,.12)!important;
  border-radius:0!important;
  box-shadow:var(--fcfw-chrome-shadow)!important;
  backdrop-filter:blur(18px) saturate(1.1)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  box-sizing:border-box!important;
}
html body:has(.fcfw-public-global-header[data-fcfw-public-header]){padding-top:72px!important}
html body .fcfw-public-global-header[data-fcfw-public-header] *{box-sizing:border-box}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-brand{
  display:flex!important;align-items:center!important;gap:11px!important;
  flex:0 0 auto!important;min-width:0!important;margin:0!important;padding:0!important;
  color:var(--fcfw-chrome-ink)!important;text-decoration:none!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-brand img{
  display:block!important;width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;
  margin:0!important;padding:0!important;object-fit:cover!important;
  border-radius:13px!important;border:1px solid var(--fcfw-chrome-line)!important;
  background:#fff!important;box-shadow:0 6px 18px rgba(20,33,43,.08)!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-brand span{
  display:grid!important;gap:1px!important;margin:0!important;padding:0!important;color:var(--fcfw-chrome-ink)!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-brand strong{
  margin:0!important;padding:0!important;color:var(--fcfw-chrome-ink)!important;
  font:800 .76rem/1.1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:.075em!important;white-space:nowrap!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-brand small{
  margin:0!important;padding:0!important;color:var(--fcfw-chrome-muted)!important;
  font:600 .62rem/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:.08em!important;white-space:nowrap!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .nav-toggle{
  display:none!important;margin:0 0 0 auto!important;
  align-items:center!important;justify-content:center!important;gap:7px!important;
  min-width:46px!important;min-height:44px!important;height:44px!important;padding:0 13px!important;
  border:1px solid var(--fcfw-chrome-line)!important;border-radius:13px!important;
  background:#fff!important;color:var(--fcfw-chrome-ink)!important;box-shadow:none!important;
  font:800 .78rem/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu{
  position:static!important;inset:auto!important;
  margin:0 0 0 auto!important;padding:0!important;
  width:auto!important;max-width:none!important;max-height:none!important;
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  flex-direction:row!important;flex-wrap:wrap!important;gap:4px!important;
  overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu>a,
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-logout{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-height:40px!important;margin:0!important;padding:9px 12px!important;
  border:1px solid transparent!important;border-radius:999px!important;
  background:transparent!important;color:var(--fcfw-chrome-ink)!important;text-decoration:none!important;
  font:800 .76rem/1.15 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;box-shadow:none!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu>a:hover{
  background:#f7fafc!important;border-color:var(--fcfw-chrome-line)!important;color:var(--fcfw-chrome-navy)!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-dashboard-link,
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-login-link{
  background:var(--fcfw-chrome-navy)!important;color:#fff!important;border-color:var(--fcfw-chrome-navy)!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-account-link{
  background:#fff!important;border-color:var(--fcfw-chrome-line)!important;color:var(--fcfw-chrome-navy)!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-logout-form{
  display:inline-flex!important;width:auto!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-logout{
  background:#8e3030!important;color:#fff!important;border-color:#742626!important;cursor:pointer!important;
}
html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-edit-link{
  background:#fff7e6!important;border-color:#e6cf9a!important;color:#6c4b13!important;
}

/* FOOTER — exact same columns, spacing and link treatment everywhere. */
html body footer.fcfw-public-global-footer[data-fcfw-public-footer]{
  position:relative!important;inset:auto!important;z-index:20!important;
  width:100%!important;max-width:none!important;min-height:0!important;
  margin:0!important;padding:34px var(--fcfw-chrome-side)!important;
  display:grid!important;grid-template-columns:minmax(240px,1.2fr) minmax(360px,2fr) auto!important;
  align-items:center!important;justify-items:stretch!important;gap:22px!important;
  background:var(--fcfw-chrome-footer)!important;color:var(--fcfw-chrome-ink)!important;
  border:0!important;border-top:1px solid var(--fcfw-chrome-line)!important;border-radius:0!important;
  box-shadow:none!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  box-sizing:border-box!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] *{box-sizing:border-box}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-brand{
  display:flex!important;align-items:center!important;gap:13px!important;margin:0!important;padding:0!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-brand img{
  display:block!important;width:52px!important;height:52px!important;min-width:52px!important;margin:0!important;padding:3px!important;
  object-fit:contain!important;border-radius:13px!important;background:#fff!important;
  border:1px solid var(--fcfw-chrome-line)!important;box-shadow:0 6px 18px rgba(20,33,43,.08)!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-brand>div{
  display:grid!important;gap:2px!important;margin:0!important;padding:0!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-brand strong{
  color:var(--fcfw-chrome-ink)!important;font:800 .84rem/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-brand span{
  color:var(--fcfw-chrome-muted)!important;font:600 .72rem/1.3 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] nav,
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-external{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;
  gap:6px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-external{justify-content:flex-end!important}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] a{
  display:inline-flex!important;align-items:center!important;min-height:34px!important;
  margin:0!important;padding:7px 9px!important;border:0!important;border-radius:999px!important;
  background:transparent!important;color:var(--fcfw-chrome-navy)!important;text-decoration:none!important;
  font:760 .73rem/1.15 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;
}
html body footer.fcfw-public-global-footer[data-fcfw-public-footer] a:hover{
  background:#fff!important;color:var(--fcfw-chrome-navy)!important;box-shadow:0 6px 18px rgba(20,33,43,.08)!important;
}

/* Drawer breakpoint must match fcfw-public-nav.js exactly. */
@media(max-width:1540px){
  html body .fcfw-public-global-header[data-fcfw-public-header]{min-height:64px!important;height:auto!important;padding:8px 12px!important;gap:10px!important}
  html body:has(.fcfw-public-global-header[data-fcfw-public-header]){padding-top:64px!important}
  html body .fcfw-public-global-header[data-fcfw-public-header] .nav-toggle{display:inline-flex!important}
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu{
    display:none!important;position:fixed!important;top:68px!important;left:8px!important;right:8px!important;bottom:auto!important;
    width:auto!important;max-width:none!important;max-height:calc(100dvh - 80px)!important;
    margin:0!important;padding:10px!important;overflow:auto!important;overscroll-behavior:contain!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:5px!important;
    background:#fff!important;border:1px solid var(--fcfw-chrome-line)!important;border-radius:16px!important;
    box-shadow:0 24px 70px rgba(20,33,43,.20)!important;
  }
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu[data-nav-state="open"]:not([hidden]){display:flex!important;visibility:visible!important;pointer-events:auto!important}
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu:not([data-nav-state="open"]),
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu[aria-hidden="true"],
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu>a,
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-logout-form,
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-logout{width:100%!important}
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-menu>a,
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-public-logout{
    justify-content:flex-start!important;border-radius:11px!important;padding:12px 13px!important;
  }
}
@media(max-width:980px){
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer]{
    grid-template-columns:1fr!important;align-items:start!important;gap:18px!important;padding:28px 20px!important;
  }
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer] nav,
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-external{justify-content:flex-start!important}
}
@media(max-width:620px){
  html body .fcfw-public-global-header[data-fcfw-public-header] .fcfw-brand span{display:none!important}
  html body .fcfw-public-global-header[data-fcfw-public-header] .nav-toggle span:last-child{display:none!important}
  html body .fcfw-public-global-header[data-fcfw-public-header] .nav-toggle{width:44px!important;min-width:44px!important;padding:0!important}
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer]{padding:24px 16px!important}
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer] nav,
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer] .fcfw-public-footer-external{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:7px!important;
  }
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer] a{
    justify-content:center!important;text-align:center!important;background:#fff!important;border:1px solid var(--fcfw-chrome-line)!important;
  }
}
@media print{
  html body .fcfw-public-global-header[data-fcfw-public-header],
  html body footer.fcfw-public-global-footer[data-fcfw-public-footer]{display:none!important}
  html body:has(.fcfw-public-global-header[data-fcfw-public-header]){padding-top:0!important}
}
