/* Live route instances; only the presented instance participates in layout,
   input and accessibility. No screenshot, opacity fade or transition layer. */
[data-web-view][data-web-visible="false"],
[data-web-view][data-web-view-active="false"]:not([data-web-visible="true"]),
[data-web-root-header][hidden], [data-web-routed-header][hidden] { display: none !important; }
[data-web-root-header]:not([hidden]) { display: block; }
/* Carry the shell's definite height through to viewport-owned threads and
   editors. Ordinary scrolling pages still overflow naturally; these wrappers
   must not create a second scroll surface or clip their descendants. */
.web-retained-routes, [data-web-view] { min-height: 0; height: 100%; }

/* Honest cold-route feedback. No outgoing-page clone, private data, or fake
   interactive controls. The real header/nav remain available while waiting. */
[data-web-loading-view][hidden], [data-web-loading-header][hidden] { display: none !important; }
.web-navigation-loading { min-height: 100%; }
.web-navigation-loading__inbox { display: none; }
[data-web-loading-root="/inbox"] .web-navigation-loading__inbox { display: grid; gap: 10px; }
[data-web-loading-root="/inbox"] > h1 { display: none; }
.web-navigation-loading__inbox > span { text-transform: uppercase; font-size: .75rem; font-weight: 700; color: var(--premium-gold); }
.web-navigation-loading__search { border: 1px solid var(--app-border); border-radius: 18px; padding: 16px; color: var(--app-muted); }
.web-navigation-loading__title { margin: 0; font-size: 1.75rem; }
