/* v0.7.41-dev: neutral, branded route initialization — never portray an
   unresolved permission check as a denied page. No data or auth rules change. */
#appShell.tool-access-loading-mode > :not(header):not(#hinRouteLoading),
#appShell.tool-access-unavailable-mode > :not(header):not(#hinRouteUnavailable){display:none!important}
#appShell > #hinRouteLoading[hidden],
#appShell > #hinRouteUnavailable[hidden]{display:none!important}
#appShell > #hinRouteLoading{
 display:flex;flex-direction:column;justify-content:center;align-items:center;
 width:100%;min-height:calc(100dvh - 120px);padding:60px 16px 90px;
}
.hin-route-loading-mark{display:flex;flex-direction:column;align-items:center;gap:22px;}
.hin-route-loading-mark img{width:48px;height:48px;object-fit:contain;opacity:.9}
.hin-route-loading-pulse{
 display:block;width:42px;height:3px;border-radius:99px;
 background:linear-gradient(90deg,transparent,var(--accent,#a78bfa),transparent);
 background-size:200% 100%;animation:hin-route-pulse 1.35s ease-in-out infinite;
}
@keyframes hin-route-pulse{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.hin-route-loading-pulse{animation:none;background:var(--accent,#a78bfa);opacity:.6}}
#appShell > #hinRouteUnavailable{
 width:min(440px,calc(100% - 32px));margin:clamp(45px,10vh,100px) auto 72px;
 padding:28px 25px;border:1px solid var(--border,#354056);border-radius:16px;
 background:var(--panel,#1c2232);text-align:center;
}
.hin-route-unavailable-icon{color:var(--accent,#a78bfa);margin-bottom:12px;}
#hinRouteUnavailable h2{font-size:20px;margin:0 0 9px;}
#hinRouteUnavailable p{color:var(--muted,#b3bed7);font-size:13px;line-height:1.6;margin:0 auto 22px;max-width:330px;}
#hinRouteUnavailable button{min-width:110px;}

.hin-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
