
/* SOV Web v5.58.25 — shared shell/header convergence layer.
   Keeps existing pages working, but gives app/admin modules one visual navigation system. */
:root{
  --sov-shell-bg:rgba(5,10,11,.78);
  --sov-shell-line:rgba(255,255,255,.12);
  --sov-shell-text:#f4f8f5;
  --sov-shell-muted:#9fb0ae;
  --sov-shell-gold:#d7f66f;
  --sov-shell-teal:#83e6c2;
  --sov-shell-radius:24px;
  --sov-shell-shadow:0 18px 60px rgba(0,0,0,.30);
}
.sov-skip-link{position:fixed;z-index:999999;left:14px;top:12px;transform:translateY(-140%);padding:10px 14px;border-radius:999px;background:linear-gradient(135deg,var(--sov-shell-gold),var(--sov-shell-teal));color:#07100d;font-weight:1000;text-decoration:none;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.sov-skip-link:focus,.sov-skip-link:focus-visible{transform:translateY(0)!important;outline:3px solid rgba(255,255,255,.96)!important;outline-offset:3px!important}
.sov-shell-normalized{
  width:min(1480px,calc(100% - 28px));
  margin:14px auto 18px!important;
  padding:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  position:sticky!important;
  top:10px!important;
  z-index:1500!important;
  border:1px solid var(--sov-shell-line)!important;
  border-radius:var(--sov-shell-radius)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035)),var(--sov-shell-bg)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-shadow:var(--sov-shell-shadow)!important;
}
.sov-shell-normalized :is(a,button){font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sov-shell-normalized :is(.sov-brand,.aw-brand,.as-brand,.cm-brand,.brand,.app-brand,.armory-brand,.om-brand){
  display:flex!important;align-items:center!important;gap:10px!important;color:var(--sov-shell-text)!important;text-decoration:none!important;min-width:0!important;
}
.sov-shell-normalized :is(.sov-brand,.aw-brand,.as-brand,.cm-brand,.brand,.app-brand,.armory-brand,.om-brand) b{display:block!important;line-height:1.05!important;font-size:15px!important;font-weight:1000!important;color:var(--sov-shell-text)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.sov-shell-normalized :is(.sov-brand,.aw-brand,.as-brand,.cm-brand,.brand,.app-brand,.armory-brand,.om-brand) small{display:block!important;max-width:360px!important;line-height:1.15!important;font-size:11px!important;font-weight:800!important;color:var(--sov-shell-muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.sov-shell-normalized :is(.sov-mark,.aw-mark,.as-mark,.cm-mark,.mark,.app-mark,.armory-mark,.om-mark){
  width:38px!important;height:38px!important;border-radius:16px!important;display:grid!important;place-items:center!important;
  background:linear-gradient(135deg,var(--sov-shell-gold),var(--sov-shell-teal))!important;color:#0a120e!important;
  font-size:12px!important;font-weight:1000!important;letter-spacing:.03em!important;flex:0 0 auto!important;box-shadow:0 12px 30px rgba(215,246,111,.16)!important;
}
.sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav){
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important;overflow-x:auto!important;scrollbar-width:none!important;padding:0!important;margin:0!important;
}
.sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav):after{content:"";display:block;flex:0 0 16px;height:1px}
.sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav)::-webkit-scrollbar{display:none!important}
.sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav) a,
.sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav) button{
  min-height:44px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:999px!important;padding:10px 13px!important;background:rgba(255,255,255,.045)!important;color:var(--sov-shell-text)!important;text-decoration:none!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important;line-height:1!important;box-shadow:none!important;transform:none!important;
}
.sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav) :is(a.active,a[aria-current="page"],button.active){
  background:linear-gradient(135deg,var(--sov-shell-gold),var(--sov-shell-teal))!important;color:#07100d!important;border-color:transparent!important;
}
.sov-shell-menu-button{display:none;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);color:var(--sov-shell-text);font-size:18px;font-weight:1000;min-width:46px;min-height:46px;align-items:center;justify-content:center;cursor:pointer}
.sov-shell-drawer{position:fixed;inset:0;z-index:99999;display:none;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sov-shell-drawer.is-open{display:block}.sov-shell-drawer-panel{position:absolute;right:12px;top:12px;bottom:12px;width:min(420px,calc(100vw - 24px));border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(180deg,#0b1214,#07100d);box-shadow:0 30px 110px rgba(0,0,0,.55);padding:14px;display:flex;flex-direction:column;gap:12px;color:var(--sov-shell-text);overflow:auto}.sov-shell-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 8px;border-bottom:1px solid rgba(255,255,255,.1)}.sov-shell-drawer-head b{font-size:16px}.sov-shell-drawer-head small{display:block;color:var(--sov-shell-muted);font-size:12px;font-weight:800}.sov-shell-close{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--sov-shell-text);font-size:22px;cursor:pointer}.sov-shell-drawer-grid{display:grid;gap:8px}.sov-shell-drawer-grid a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:11px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:var(--sov-shell-text);text-decoration:none;font-weight:950}.sov-shell-drawer-grid a.active{background:linear-gradient(135deg,rgba(215,246,111,.22),rgba(131,230,194,.13));border-color:rgba(215,246,111,.38)}.sov-shell-drawer-group{display:grid;gap:8px;padding-top:6px}.sov-shell-group-title{font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.09em;color:rgba(215,246,111,.9);padding:6px 4px 0}.sov-shell-role-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;border:1px solid rgba(215,246,111,.28);border-radius:999px;background:rgba(215,246,111,.10);color:#e9ffd0;font-size:11px;font-weight:1000;padding:6px 9px;text-transform:uppercase;letter-spacing:.06em}
.sov-shell-hidden-for-role{display:none!important}
.sov-shell-current{box-shadow:0 0 0 2px rgba(215,246,111,.18) inset!important}
:is(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(215,246,111,.72);outline-offset:3px}
.sov-shell-normalized:has(:is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav)){background-image:linear-gradient(90deg,rgba(255,255,255,.075),rgba(255,255,255,.035)),linear-gradient(270deg,rgba(5,10,11,.92),rgba(5,10,11,0) 28px)!important}
@media(max-width:820px){
  .sov-shell-normalized{top:8px!important;width:calc(100% - 18px)!important;border-radius:20px!important;margin:8px auto 12px!important;padding:8px!important;gap:8px!important}
  .sov-shell-normalized :is(.sov-brand,.aw-brand,.as-brand,.cm-brand,.brand,.app-brand,.armory-brand,.om-brand) small{display:none!important}
  .sov-shell-normalized :is(.sov-brand,.aw-brand,.as-brand,.cm-brand,.brand,.app-brand,.armory-brand,.om-brand) b{font-size:14px!important;max-width:52vw!important}
  .sov-shell-normalized :is(.sov-mark,.aw-mark,.as-mark,.cm-mark,.mark,.app-mark,.armory-mark,.om-mark){width:36px!important;height:36px!important;border-radius:14px!important}
  .sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav){display:none!important}
  .sov-shell-menu-button{display:inline-flex!important}
}
@media(min-width:821px){.sov-shell-drawer{display:none!important}}
@media(prefers-reduced-motion:reduce){.sov-shell-drawer,.sov-shell-normalized{transition:none!important}}


/* v5.58.25 public home hamburger fix */
.sov-shell-normalized .brand-sov img{max-height:34px;width:auto;display:block}
.sov-shell-normalized .brand-sov span{font-weight:1000;color:var(--sov-shell-text)}
.sov-shell-normalized .nav-group{position:relative;display:flex;align-items:center}
.sov-shell-normalized .nav-menu{z-index:1700}
@media(max-width:820px){
  .sov-shell-normalized .brand-sov .brand-wordmark{display:none!important}
  .sov-shell-normalized .brand-sov span{font-size:14px;max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Keep the public/home brand visible on mobile: public topbar uses nav as layout wrapper. */
@media(max-width:820px){
  header.topbar.sov-shell-normalized > nav.nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:visible!important;
  }
  header.topbar.sov-shell-normalized > nav.nav:after{display:none!important;content:none!important}
  header.topbar.sov-shell-normalized > nav.nav .navlinks,
  header.topbar.sov-shell-normalized > nav.nav .navlinks-main{
    display:none!important;
  }
}

/* v5.59.10: desktop browsers must not get the floating/sticky shell.
   Mobile browser/touch keeps sticky shell and drawer. */
@media (hover:hover) and (pointer:fine){
  .sov-shell-normalized{position:relative!important;top:auto!important;z-index:20!important}
  .sov-shell-menu-button{display:none!important}
  .sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav){display:flex!important;overflow-x:auto!important}
}
@media (max-width:820px) and (hover:none) and (pointer:coarse){
  .sov-shell-normalized{position:sticky!important;top:8px!important;z-index:1500!important}
  .sov-shell-normalized :is(.sov-nav,.aw-nav,.as-nav,.cm-nav,.nav,.navlinks,.dash-nav,.armory-nav,.om-nav){display:none!important}
  .sov-shell-menu-button{display:inline-flex!important}
}
