/* Route visibility is committed only after a matching server authorization. */
[data-zs-page] { display: none !important; }
html[data-zs-page="dashboard"] [data-zs-page="dashboard"],
html[data-zs-page="gex-map"] [data-zs-page="gex-map"],
html[data-zs-page="replay"] [data-zs-page="replay"],
html[data-zs-page="horizon"] [data-zs-page="horizon"],
html[data-zs-page="profile-lab"] [data-zs-page="profile-lab"],
html[data-zs-page="cockpit"] [data-zs-page="cockpit"],
html[data-zs-page="zs-dashboard"] [data-zs-page="zs-dashboard"],
html[data-zs-page="admin"] [data-zs-page="admin"] { display: block !important; }
/* The html attribute is the controller, not a page container. */
html[data-zs-page] { display: block !important; }
html[data-zs-page="pending"] #page-shell > :not(#app-shell) { visibility: hidden; }
html[data-zs-page="route-error"] #page-shell > :not(#app-shell) { display: none; }
#route-status { display: none; margin: 20px; padding: 24px; background: var(--zs-surface-1); color: var(--zs-text-primary); }
html[data-zs-page="pending"] #route-status,
html[data-zs-page="route-error"] #route-status { display: block; }
#route-status .route-failure { display: none; }
html[data-zs-page="route-error"] #route-status .route-loading { display: none; }
html[data-zs-page="route-error"] #route-status .route-failure { display: block; }
html:not([data-zs-page="dashboard"]) #hdr-r2-left { visibility: hidden; }
html[data-zs-page="dashboard"] #nav-to-dashboard,
html[data-zs-page="gex-map"] #nav-to-gex-map,
html[data-zs-page="replay"] #nav-to-replay,
html[data-zs-page="horizon"] #nav-to-horizon,
html[data-zs-page="profile-lab"] #nav-to-profile-lab,
html[data-zs-page="cockpit"] #nav-to-cockpit,
html[data-zs-page="zs-dashboard"] #nav-to-zo,
html[data-zs-page="admin"] #nav-to-admin { color: var(--zs-brand-accent); background: var(--zs-brand-accent-wash); }
#react-cockpit-root { min-height: 600px; }
#profile-lab-root { min-height: 400px; }
